Mike Dermody, BNY Mellon cmmI, 30 Sept 2010

advertisement
Michael Dermody
September 2010

Capability Maturity Model Integration
◦ Is a Trademark owned by the Software Engineering Institute (SEI) of Carnegie
Mellon University
◦ Process Improvement Approach – Improves Performance by improving
processes
◦ Provides organizations with the needed for effective process improvements
◦ Framework for appraising the process maturity of the organization

According to SEI in 2008, CMMI helps "integrate traditionally separate
organizational functions, set process improvement goals and
priorities, provide guidance for quality processes, and provide a point
of reference for appraising current processes.”




Projects are managed and under control
Estimating new project tasks is based on actual results from
previous projects
Realistic commitments are negotiated and managed
Plans are documented, progress is tracked, and status is
reported appropriately

Processes are defined at the project level

Project decisions are based on data

Productivity gains

Early defect detection

Reduction in time between request and implementation

Reduction in post-implementation defects

Repeatable processes

A life cycle is a description of the approach that a project
takes to develop and deliver software. It includes the
sequencing of tasks organized by phases
Initiate
Analyze
Design
Steps
common
to all life
cycles
Code
Test
Deliver
Maintain


A work product is any document or deliverable that is used
during the entire life cycle as well as any portion of the
software that is delivered to the customer
The SDLC has templates and procedures for generating
required work products
Focus on Project Management
Requirements
Management
(RM)
Project
Planning
(PP)
Project
Tracking & Oversight
(PTO)
Configuration
Management
(CM)
Process
Quality Assurance
(PQA)
Manages Project
Verifies Process
Requirements
Management
To establish a common understanding of
requirements between the customer and
the project and manage any changes to
these over the life of the project.
Agree to an initial
set of software
requirements
Manage further
changes to SW
requirements
Condition or capability that must be met by a
system application to satisfy a business request
User
Interface
Cost
Speed
Function
All requirements should be testable
A document that:



Has been formally reviewed,
agreed upon, and committed to
by means of signoff
Serves as the basis for
further development
Can be changed only
through formal change
control procedures
Builder Model 101
Cost: $170,000
Bedrooms: 3
Living Room
Kitchen
Dining Room
Expected Completion: April 30
Change Request
- Add Fireplace to Living Room
- Build Bookshelves in Living Room
- Add Family Room
- Add Porch
Add
Family
Room
Add Fireplace &
Install Built-in
Bookshelves
Add Porch
Builder Model 101
Cost: $220,000
Bedrooms: 3
Living Room with Fireplace &
Bookshelves
Kitchen
Dining Room
Family Room
Porch
Expected Completion June 30
Manages Project
Verifies Process
Project
Planning
Requirements
Management
To develop plans and schedules based on
the activities, efforts, risks, and resources
associated with satisfying project requirements
Identify activities
and
work products
Identify risks,
issues, and measures
to track
Estimate and
obtain resource
commitments
Create the plan
and the schedule
A document that describes the work required
to complete a project that consists of:
 High-level project objectives and scope
 Identification of customers
 Imposed standards (management or technical)
 Constraints (cost, schedule, and resources)
 External commitments and dependencies
 Top-level system requirements
A collection of plans describing the technical and nontechnical activities for
a project. It governs the management of activities performed by the
Software Engineering Process Group (SEPG) for a project.
Table of Contents
1. Project objectives,
scope, and assumptions
2. Standards, methods, and
procedures to be followed
and the identified decision
makers
Table of Contents
6. A defined life cycle for
the project including
review points
7. Risk identification
and assessment
3. Work products to be created
8. Commitments and
dependencies
4. Estimates of size, effort, and
cost, and assumptions
9. References to SCM and
SQA plans for the project
5. References to schedule with
resources and milestones
10. Verification and validation
• Use requirements as the high-level basis for beginning the project plan
• Collect historical data for use in new estimates
• Break activities down into manageable chunks
(for example, < 60 hours of effort or 2 weeks duration)
• Decompose manageable chunks into smaller process steps
Tasks
Plan Testing
Review Test
Plan
Develop
Scenarios
Peer Review
Scenarios
Wk 1
Wk2 Wk3 Wk4
Wk5




Use a standard methodology
Identify and document estimating assumptions
Develop estimates in effort-hours, not elapsed time
Use in budgeting and staffing projects appropriately
Quality
What level of
quality is
required?
Size
How big is it?
Productivity
How much time is
available per
week?
Cost
How much will it cost?
Effort
How much
work will it
require?
Schedule
When will
deliverables be
available?
Resources
How many people are needed?
What type of skills?
What tools do we need?
Manages Project
Verifies Process
Project
Planning
Project
Tracking &
Oversight
Requirements
Management
To have adequate visibility into actual progress, in
order to keep the project on track
Track
accomplishments
and results
Adjust plans to
stay on track
Agree to
changes in
commitments
Track effort, size, risks,
costs, and schedule
• Size, effort, cost, and duration
Larger/smaller, more/less complex, early/late?
• Resources
Change in availability, over/under allocations?
• Schedule/activities
Complete/not complete, additional activities?
Impact on dependent activities?
• Risks
Resolved, changed, additional risks ?
Risk impact or probability changed?
• Adjust plan as deviations from the plan occur
Scope, Resources, Schedule
• Review adjustments and obtain buy-in and commitment
• Update plans based on requirement changes
• Manage and mitigate risk
• Internal project status reviews
•Detail status of activities, schedule, effort, costs, and risks
•Detail actuals to compare with estimates
• Periodic senior management reviews
•Status of accomplishments, issues, and risks
• Milestone reviews
•Formal reviews for customers, management. and affected
groups at predetermined milestones
•Progress, accomplishments, issues, risks
• Ad hoc reviews occur as needed
Manages Project
Project Tracking
& Oversight
Requirements
Management
Verifies Process
Project
Planning
Configuration
Management
To manage the integrity of the project’s
work products
Plan for
CM activities
Identify items to put
under configuration
management
Control
changes to
configured items
Communicate
status of
configuration items
Audit configuration
baselines
Any item that is designated for control and surveillance
in order to track, trace, and record any changes
Examples
Software code / Library elements
Requirements
Product documents
Test cases
PQA plans
Baselines
Design documents
User documents
Test plans
Estimates
• Baselines are established at predetermined points in the life cycle
of the work product.
• Configuration of a work product evolves during development and
is applied by developers as they perform their work.
• Create baselines at predetermined points
Baseline Examples
Initiate
Analyze
Example
Project
Life Cycle
Design
Functional baseline at end of Analysis
System baseline at end of Design
Developmental baseline at end of
Code
Unit Test Developmental baseline
Test
at end of System Test
Deliver
Production baseline at
Maintain
final release
Manages Project
Verifies Process
Project
Planning
Process
Quality
Assurance
Project Tracking
& Oversight
Requirements
Management
Configuration
Management
To provide management with
insight into the software process
Plan for PQA
activities
Escalate
non-compliance
issues
Verify
compliance
Report results
• A planned and systematic pattern of all actions necessary to
provide adequate confidence that work products comply with
software standards, procedures, and contractual requirements.
• A set of activities designed to evaluate the process by which work
products are developed and/or maintained.
Audits
Reviews

Uses tools and techniques to
review activities

Testing
Peer Reviews
Inspections

Compare actual activities
against processes
Uses tools and techniques to
audit work products

Compare actual work products
against agreed upon standards
and procedures
• Use of processes and procedures is ensured by
management and encouraged by peers
• Benefits of following the process are understood and
recognized
• Appropriate training and resources are provided
• Planned activities are willingly committed to
• Open communications and sharing
• Team approach versus individual heroics
Download