michael dermody september 2010 capability maturity model integration ◦ is a trademark owned by...

39
Michael Dermody September 2010

Upload: nelson-thornton

Post on 28-Dec-2015

226 views

Category:

Documents


2 download

TRANSCRIPT

Michael DermodySeptember 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

InitiateInitiate

AnalyzeAnalyze

DesignDesign

CodeCode

TestTest

DeliverDeliver

MaintainMaintain

Steps commonto all life cycles

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

SW Project Design

SW

SW Project

Design Documents

Focus on Project Management

RequirementsManagement

(RM)

Project Tracking & Oversight

(PTO)

ProjectPlanning

(PP)

ConfigurationManagement

(CM)

ProcessQuality Assurance

(PQA)

Ver

ifie

s P

roce

ss

Manages Project

Co

ntro

ls Pro

du

cts

Requirements Management

Agree to an initialset of softwarerequirements

Manage further changes to SWrequirements

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.

Condition or capability that must be met by a system application to satisfy a business request

Speed

Function

User Interface

Cost

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 101Cost: $170,000Bedrooms: 3Living RoomKitchenDining RoomExpected Completion: April 30

Add Family Room

Add Fireplace &Install Built-in Bookshelves

Builder Model 101Cost: $220,000Bedrooms: 3Living Room with Fireplace & BookshelvesKitchenDining RoomFamily RoomPorchExpected Completion June 30

Change Request- Add Fireplace to Living Room- Build Bookshelves in Living Room

- Add Family Room- Add Porch

Add Porch

Ver

ifie

s P

roce

ss

Manages Project

Co

ntro

ls Pro

du

cts

Requirements Management

Project Planning

To develop plans and schedules based onthe activities, efforts, risks, and resources associated with satisfying project requirements

Identify activities and

work products

Estimate andobtain resourcecommitments

Identify risks, issues, and measures

to track

Create the planand 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 ContentsTable of Contents

1. Project objectives, scope, and assumptions

2. Standards, methods, and procedures to be followed and the identified decision makers

3. Work products to be created

4. Estimates of size, effort, and cost, and assumptions

7. Risk identification and assessment

6. A defined life cycle forthe project including review points

5. References to schedule with resources and milestones

8. Commitments and dependencies

9. References to SCM andSQA plans for the project

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

Use a standard methodology Identify and document estimating assumptions Develop estimates in effort-hours, not elapsed time Use in budgeting and staffing projects appropriately

Effort

How much work will it require?

CostHow much will it cost?

SizeHow big is it?

QualityWhat level of quality is required?

ResourcesHow many people are needed?What type of skills?What tools do we need?

ProductivityHow much time is available per week?

ScheduleWhen will deliverables be available?

Ver

ifie

s P

roce

ss

Manages Project

Co

ntro

ls Pro

du

cts

Requirements Management

Project Planning

Project Tracking & Oversight

To have adequate visibility into actual progress, in order to keep the project on track

Trackaccomplishments

and results

Adjust plans tostay on track

Agree tochanges in

commitments

Track effort, size, risks,costs, and schedule

• Size, effort, cost, and durationLarger/smaller, more/less complex, early/late?

• ResourcesChange in availability, over/under allocations?

• Schedule/activitiesComplete/not complete, additional activities? Impact on dependent activities?

• RisksResolved, 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

Ver

ifie

s P

roce

ss

Manages Project

Co

ntro

ls Pro

du

cts

Requirements Management

Project Planning

Project Tracking & Oversight

Configuration

Management

To manage the integrity of the project’s work products

Identify items to put under configuration

management

Plan for CM activities

Controlchanges to

configured items

Communicatestatus of

configuration items

Audit configurationbaselines

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

Examples

Software code / Library elements BaselinesRequirements Design documentsProduct documents User documents Test cases Test plansPQA plans Estimates

SW Project Design

SW Project

Design Docum

ent

s

User Manual

• 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

Example ProjectLife Cycle Production baseline at

final release

InitiateInitiate Baseline Examples

Developmental baselineat end of System Test

Functional baseline at end of AnalysisAnalyzeAnalyze

DesignDesign

CodeCode

TestTest

DeliverDeliver

MaintainMaintain

System baseline at end of DesignDevelopmental baseline at end of Unit Test

Ver

ifie

s P

roce

ss

Manages Project

Co

ntro

ls Pro

du

cts

Requirements Management

Project Planning

Project Tracking & Oversight

Configuration Management

Process Quality Assurance

To provide management with insight into the software process

Verifycompliance

Escalatenon-compliance

issuesReport results

Plan for PQAactivities

• 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.

ReviewsUses tools and techniques to review activities

Peer ReviewsInspections

Compare actual activities against processes

AuditsUses tools and techniques to audit work products

Testing

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