35
John Musser Edited by Anne Banks Pidduck

John Musser Edited by Anne Banks Pidduck

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: John Musser Edited by Anne Banks Pidduck

John MusserEdited by Anne Banks Pidduck

Page 2: John Musser Edited by Anne Banks Pidduck

� Developed at CMU’s SEI� A software process framework� Process determines the firm’s capability� There are 5 ‘maturity’ levels

– ‘Evolutionary plateaus’ to a mature softwareprocess

� Each level has its own goals

Page 3: John Musser Edited by Anne Banks Pidduck

� Organizations can be ‘certified’� Later to be used as a marketing or

validation tool� Useful for global sales and promotion� Akin to ISO 9000 certification – the

‘process’ is being certified, not the product

Page 4: John Musser Edited by Anne Banks Pidduck

1. Initial– ‘Ad hoc’ process, chaotic even– Few defined processes– Heroics often required here

2. Repeatable– Basic PM processes for cost, schedule,

functionality– Earlier successes can be repeated

Page 5: John Musser Edited by Anne Banks Pidduck

3. Defined– Software and management processes all

documented– All projects use a version of organizational

standards4. Managed

– Detailed metrics of process and quality– Quantitative control

Page 6: John Musser Edited by Anne Banks Pidduck

5. Optimizing– Continuous process improvement– Using quantitative feedback

Page 7: John Musser Edited by Anne Banks Pidduck

Major software developments fail in threeMajor software developments fail in threeimportant ways:important ways:

��Budget overruns,Budget overruns,

��Slipped delivery,Slipped delivery,

��Incomplete functionalityIncomplete functionality..

Page 8: John Musser Edited by Anne Banks Pidduck

��An unpublished review of 17 major departmentAn unpublished review of 17 major departmentof defense (of defense (DoDDoD) software contracts found that the) software contracts found that theaverage 28-month schedule was missed by 20average 28-month schedule was missed by 20months.months.��One 4-year project was not delivered for 7 years;One 4-year project was not delivered for 7 years;no project was on time.no project was on time.��Deployment of the B1 bomber was delayed by aDeployment of the B1 bomber was delayed by asoftware problem,and the $58 billion.software problem,and the $58 billion.�� A12 aircraft program was canceled partly for the A12 aircraft program was canceled partly for thesame reason.same reason.

Page 9: John Musser Edited by Anne Banks Pidduck

��The CMM for software is one of the products ofThe CMM for software is one of the products ofthe SEI.the SEI.

��The CMM covers practices for planning,The CMM covers practices for planning,engineering, and managing software developmentengineering, and managing software developmentand maintenance.and maintenance.

��The CMM describes an evolutionaryThe CMM describes an evolutionaryimprovement path for software organization fromimprovement path for software organization froman immature process to a mature one.an immature process to a mature one.

Page 10: John Musser Edited by Anne Banks Pidduck

��Software processes are either improvised or if inSoftware processes are either improvised or if inplace not rigorously followed.place not rigorously followed.

��OrganizationOrganizations s are reactionary and focused onare reactionary and focused onsolving the immediate problemsolving the immediate problem (fire fighting).(fire fighting).

��Schedules and budgets are not based on realisticSchedules and budgets are not based on realisticestimates and routinely exceeded.estimates and routinely exceeded.

Page 11: John Musser Edited by Anne Banks Pidduck

��Product functionality and quality are oftenProduct functionality and quality are oftencompromised to meet schedules.compromised to meet schedules.

��Immature organizations have no objective way toImmature organizations have no objective way tojudge product quality or solve product or processjudge product quality or solve product or processproblems.problems.

��The customer has little insight into the productThe customer has little insight into the productuntil delivery.until delivery.

Page 12: John Musser Edited by Anne Banks Pidduck

��Work activities are carried out according to theWork activities are carried out according to theplanned process.planned process.

��Managed processes are usable and consistent withManaged processes are usable and consistent withthe way the work is actually carried out.the way the work is actually carried out.

��Defined processes are updated when necessary.Defined processes are updated when necessary.

Page 13: John Musser Edited by Anne Banks Pidduck

��Schedules and budgets are based on historicalSchedules and budgets are based on historicalperformance and are realistic.performance and are realistic.

��Cost,schedule, functionality, and qualityCost,schedule, functionality, and qualityestimates are usually achieved.estimates are usually achieved.

Page 14: John Musser Edited by Anne Banks Pidduck

��Improvement are through controlled pilot testsImprovement are through controlled pilot testsand cost-benefit analysis.and cost-benefit analysis.

��Roles and responsibilities are clear within aRoles and responsibilities are clear within aproject and across the organization.project and across the organization.

��Managers can accurately communicate theManagers can accurately communicate thesoftware process to staff and new employees.software process to staff and new employees.

Page 15: John Musser Edited by Anne Banks Pidduck

So far, enterpriseSo far, enterprisess have been recognized as: have been recognized as:

��Legal Legal andand��FinancialFinancial entities. entities.

Now, CMM would like them also to beNow, CMM would like them also to berecognizable as:recognizable as:

��OrganizationalOrganizational entities. entities.

Page 16: John Musser Edited by Anne Banks Pidduck
Page 17: John Musser Edited by Anne Banks Pidduck

The software process is characterized as ad-hoc,The software process is characterized as ad-hoc,and occasionally even chaotic.Few processes areand occasionally even chaotic.Few processes aredefined, and success depends on individual effort.defined, and success depends on individual effort.

��Reaction driven commitment systems. State ofReaction driven commitment systems. State ofconstant crisis!constant crisis!

��During crisis, projects abandon plannedDuring crisis, projects abandon plannedprocedures and revert to coding and testingprocedures and revert to coding and testing..

Page 18: John Musser Edited by Anne Banks Pidduck

��Schedule, budget, functionality, and productSchedule, budget, functionality, and productquality are generally unpredictable.quality are generally unpredictable.

��Capable individuals take their stabilizingCapable individuals take their stabilizinginfluence with them when they leave theinfluence with them when they leave theprojects.Capability is a characteristic ofprojects.Capability is a characteristic ofindividuals, not organizationindividuals, not organization..

Page 19: John Musser Edited by Anne Banks Pidduck

Basic project management processes areBasic project management processes areestablished to track cost, schedule, andestablished to track cost, schedule, andfunctionality. The necessary process discipline isfunctionality. The necessary process discipline isin place to repeat earlier successes on projectsin place to repeat earlier successes on projectswith similar applications.with similar applications.

��Planning and managing new projects is based onPlanning and managing new projects is based onexperience with similar projects and theexperience with similar projects and therequirements of the current project.requirements of the current project.

Page 20: John Musser Edited by Anne Banks Pidduck

��Projects have installed basic softwareProjects have installed basic softwaremanagement controls.management controls.

��Software managers track software costs,Software managers track software costs,schedules, and functionality.schedules, and functionality.

��The earlier successes can be repeatedThe earlier successes can be repeated..

Page 21: John Musser Edited by Anne Banks Pidduck

The software process for both management andThe software process for both management andengineering activities is documented, standardized,engineering activities is documented, standardized,and integrated into a standard software process forand integrated into a standard software process fororganization. All projects use an approved,organization. All projects use an approved,tailored version of the organizationtailored version of the organization’’s standards standardsoftware process.software process.

��There is a group that is responsible for theThere is a group that is responsible for theorganizationorganization’’s software activity.s software activity.

Page 22: John Musser Edited by Anne Banks Pidduck

��An organization-wide training program isAn organization-wide training program isimplemented to ensure staff and managers haveimplemented to ensure staff and managers havethe knowledge and skills required to fulfill theirthe knowledge and skills required to fulfill theirassigned roles.assigned roles.

��Projects tailor the organizationProjects tailor the organization’’s standards standardsoftware process to develop their own definedsoftware process to develop their own definedsoftware process.software process.

Page 23: John Musser Edited by Anne Banks Pidduck

Detailed measures of the software process andDetailed measures of the software process andproduct quality are collected and quantitativelyproduct quality are collected and quantitativelyunderstood and controlled.understood and controlled.

��Productivity and quality are measured forProductivity and quality are measured forimportant software processes.important software processes.

��The measurements establish the quantitativeThe measurements establish the quantitativefoundation for evaluating projects' softwarefoundation for evaluating projects' softwareprocesses and productsprocesses and products

Page 24: John Musser Edited by Anne Banks Pidduck

��The risks involved in moving up the learningThe risks involved in moving up the learningcurve of a new application domain are known andcurve of a new application domain are known andcarefully managed.carefully managed.

��Software processes can be summarized asSoftware processes can be summarized aspredictable because the process is measured andpredictable because the process is measured andoperates within measurable limits.operates within measurable limits.

Page 25: John Musser Edited by Anne Banks Pidduck

��Continuous process improvement is enabled byContinuous process improvement is enabled byquantitative feedback from the process and fromquantitative feedback from the process and frompiloting innovative ideas and technologies.piloting innovative ideas and technologies.

��The organization has the means to identifyThe organization has the means to identifyweaknesses and strengthen the process proactivelyweaknesses and strengthen the process proactively..

Page 26: John Musser Edited by Anne Banks Pidduck

��Innovation that exploits the best softwareInnovation that exploits the best softwareengineering practices are identified and transferredengineering practices are identified and transferredthroughout the organization.throughout the organization.

��Software process capability can be characterizedSoftware process capability can be characterizedas continuously improving.as continuously improving.

��Improvement occurs both by incrementalImprovement occurs both by incrementaladvancements in the existing process and byadvancements in the existing process and byinnovation using new technology and methods.innovation using new technology and methods.

Page 27: John Musser Edited by Anne Banks Pidduck

��The key process areas an organization shouldThe key process areas an organization shouldfocus on to improve its software process andfocus on to improve its software process andachieve a maturity level.achieve a maturity level.

��Each KPA identifies a cluster of related Each KPA identifies a cluster of related activitiesactivities((key practiceskey practices) that,when performed) that,when performedcollectively,achieve a set of collectively,achieve a set of goalsgoals considered consideredimportant for enhancing the process capabilityimportant for enhancing the process capability..

Page 28: John Musser Edited by Anne Banks Pidduck

��Requirements ManagementRequirements Management

��Software Project PlanningSoftware Project Planning

��Project Tracking and OversightProject Tracking and Oversight

��Software Subcontract ManagementSoftware Subcontract Management

Page 29: John Musser Edited by Anne Banks Pidduck

��Quality AssuranceQuality Assurance

��Software Configuration ManagementSoftware Configuration Management

Page 30: John Musser Edited by Anne Banks Pidduck

��Organization Process FocusOrganization Process Focus

��Organization Process DefinitionOrganization Process Definition

��Training ProgramTraining Program

��Integrated Software ManagementIntegrated Software Management

Page 31: John Musser Edited by Anne Banks Pidduck

��Product EngineeringProduct Engineering

��Inter-group CoordinationInter-group Coordination

��Peer ReviewPeer Review

Page 32: John Musser Edited by Anne Banks Pidduck

��Quantitative Process ManagementQuantitative Process Management

��Software Quality ManagementSoftware Quality Management

Page 33: John Musser Edited by Anne Banks Pidduck

��Defect PreventionDefect Prevention

��Technology Change ManagementTechnology Change Management

��Process Change ManagementProcess Change Management

Page 34: John Musser Edited by Anne Banks Pidduck

The CMM is a useful tool for guiding software processThe CMM is a useful tool for guiding software processimprovement efforts.improvement efforts.

The CMM is a well-defined evolutionary path towardThe CMM is a well-defined evolutionary path towardachieving a mature software process.achieving a mature software process.

Page 35: John Musser Edited by Anne Banks Pidduck

References:References:

Books:Books:••The Capability Maturity Model: Guidelines for Improving theThe Capability Maturity Model: Guidelines for Improving theSoftware Process. M. C. Software Process. M. C. PaulkPaulk, C. V. Weber, B. Cutis, and M. B., C. V. Weber, B. Cutis, and M. B.ChrissisChrissis..••The Software Engineering Project Management. R. H. Thayer.The Software Engineering Project Management. R. H. Thayer.

WebpagesWebpages::http://www.sei.cmu.edu/cmm/cmms/cmms.htmlhttp://www.sei.cmu.edu/cmm/cmms/cmms.htmlhttp://www.sei.cmu.edu/cmm/http://www.sei.cmu.edu/cmm/