CMMI and by yurtgc548


									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

    ◦ 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


to all life
cycles                                                 Deliver

   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                             Project
Management                         Tracking & Oversight
   (RM)                                   (PTO)

     Project                   Configuration
    Planning                   Management
      (PP)                         (CM)

               Quality Assurance
                   Manages Project
Verifies Process
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   Manage further
 set of software      changes to SW
  requirements         requirements
Condition or capability that must be met by a
system application to satisfy a business request

    User                                 Speed

         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             Builder Model 101
                                    Cost: $170,000
                                    Bedrooms: 3
   Can be changed only             Living Room
    through formal change           Kitchen
    control procedures              Dining Room
                                    Expected Completion: April 30
Change Request
- Add Fireplace to Living Room
- Build Bookshelves in Living Room
- Add Family Room
- Add Porch                          Builder Model 101
                                     Cost: $220,000
                                     Bedrooms: 3
               Add Fireplace &       Living Room with Fireplace &
Add            Install Built-in      Bookshelves
Family         Bookshelves           Kitchen
Room                                 Dining Room
                                     Family Room
                                     Expected Completion June 30

                        Add Porch
                        Manages Project
                    Project               Requirements
                   Planning                Management
Verifies Process
To develop plans and schedules based on
the activities, efforts, risks, and resources
associated with satisfying project requirements

  Identify activities         Estimate and
          and                obtain resource
    work products             commitments

    Identify risks,          Create the plan
issues, and measures        and the schedule
       to track
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               Table of Contents

             1. Project objectives,              6. A defined life cycle for
                scope, and assumptions              the project including
                                                    review points
            2. Standards, methods, and
               procedures to be followed        7. Risk identification
               and the identified decision         and assessment
               makers                            8. Commitments and
           3. Work products to be created           dependencies

          4. Estimates of size, effort, and      9. References to SCM and
             cost, and assumptions                  SQA plans for the project

          5. References to schedule with       10. Verification and validation
             resources and milestones
• 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    Wk 1   Wk2 Wk3 Wk4   Wk5

                Plan Testing
                Review Test
                Peer Review
   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                                          Cost
What level of                                    How much will it cost?
quality is
                            Effort                   Schedule
Size                        How much                 When will
How big is it?              work will it             deliverables be
                            require?                 available?

How much time is
available per                              Resources
week?                                      How many people are needed?
                                           What type of skills?
                                           What tools do we need?
                         Manages Project
                    Project    Project      Requirements
                   Planning    Tracking &    Management
Verifies Process
To have adequate visibility into actual progress, in
order to keep the project on track

                                Adjust plans to
                                 stay on track
       and results

       Agree to
                            Track effort, size, risks,
      changes in
                             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    Project Tracking     Requirements
                   Planning    & Oversight           Management
Verifies Process

To manage the integrity of the project’s
work products

                            Identify items to put
     Plan for
                             under configuration
    CM activities              management

        Control                Communicate
     changes to                   status of
   configured items          configuration items

               Audit configuration
Any item that is designated for control and surveillance
   in order to track, trace, and record any changes


 Software code / Library elements     Baselines
 Requirements                         Design documents
 Product documents                    User documents
 Test cases                           Test plans
 PQA 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

    Initiate                              Baseline Examples
               Analyze                Functional baseline at end of Analysis
                         Design              System baseline at end of Design
Example                           Code
                                                     Developmental baseline at end of
                                                     Unit Test Developmental baseline
Project                                 Test
                                                               at end of System Test
Life Cycle                                    Deliver               Production baseline at
                                                      Maintain      final release
                                     Manages Project
                                Project    Project Tracking     Requirements
                               Planning    & Oversight           Management
Verifies Process

                   Quality                                    Configuration
                   Assurance                                  Management
  To provide management with
insight into the software process

  Plan for PQA           Verify
    activities         compliance

 non-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.
           Reviews                              Audits
   Uses tools and techniques to      Uses tools and techniques to
    review activities                  audit work products

        Peer Reviews                      Testing

   Compare actual activities         Compare actual work products
    against processes                  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

• Appropriate training and resources are provided

• Planned activities are willingly committed to

• Open communications and sharing

• Team approach versus individual heroics

To top