MATURATION OF PROCESSES AND MATURITY MODELS Presenter Name Presentation Date Capability Maturity Model • Developed in preliminary form by Watts Humphries (published in a book he wrote that appeared in 1989) • Refined by the SEI (Software Engineering Institute) , a spin-off of Carnegie Mellon University in Pittsburgh • Known as the CMM • Discussed in Schwalbe, page 344-347 (approx) Immature Software Organizations • Processes are ad hoc, and occasionally chaotic. • Processes are improvised by practitioners ON THE FLY. • Testing, reviews and walkthroughs usually curtailed under stress. • Quality is unpredictable. Immature Software Organizations, Cont’d • Costs and schedules are usually exceeded. • Reactionary management is usually firefighting. • Success rides on individual talent and heroic effort. • Technology benefits are lost in the noise. Mature Software Organizations • • • • Processes are defined and documented. Roles and responsibilities are clear. Product and process are measured. Processes and projects finish on time and within budget • Management has time to plan, monitor, and communicate. Mature Software Organizations, Cont’d • Quality, costs, and schedules are predictable • Management committed to continuous improvement. • Technology is used effectively within defined processes. Software Process Definition • • • • • • Project Planning Project Management Software Engineering Procedures Software standards Software Quality Evaluation Software Configuration management The Five Levels of Software Process Maturity • • • • • INITIAL REPEATABLE DEFINED MANAGED OPTIMIZING Five Levels Initial • • • • Software processes are ad hoc, even chaotic The software processes are not defined Success depends on individual effort The environment is not stable Initial, Continued • The benefits of software engineering practices are undermined • Planning is nonexistent or ineffective • Process capability is unpredictable because the software process is constantly changed or modified as the work progresses Repeatable • Basic project management policies and procedures are established • Cost, schedule and functionality (scope) are tracked by module and task • A process discipline is put in place to repeat earlier successes • Managing new projects is based on experience with similar projects Repeatable, Continued • Basic software management controls are installed • Estimations of cost and time to complete are based on history for similar projects • Problems are identified and documented • Software requirements are baselined (made tough to change) Repeatable, Continued • Project standards are defined • Project teams work with their customers and subcontractors to establish stable, managed working environments • Process is under the control of a project management system that is driven by performance on previous projects • A project performance database is defined and populated Defined • Software processes are documented • Software processes are standardized and integrated organization-wide • All projects use documented and approved versions of the organization’s processes of developing and maintaining software • A Software Engineering Process Group (SEPG) is created to facilitate process definition and improvement efforts Defined, Continued • Organization-wide training programs are implemented • Organization-wide standard software processes can be refined to encompass the unique characteristics of the project • A peer review process is used to enhance product quality • Process capability is stable and based on a common understanding of processes, roles, and responsibilities in a defined process Managed • Quantitative quality goals are defined • Product quality and productivity are measured and collected • Both processes and products are quantitatively understood • Both processes and products are controlled using detailed measures • A productivity and quality database is defined Managed, Continued • Projects achieve control by narrowing the variation in performance to within acceptable boundaries • Process variation is controlled by use of a strategic business plan that details which product lines to pursue • Risks associated with moving up the learning curve of a new application domain are known and carefully managed • Process capability is measured and Optimizing • Continuous process improvement is enabled by quantitative feedback • Continuous process improvement is assessed from testing innovative ideas and technologies • Weak process elements are identified and strengthened • Defect prevention is explicit Optimizing, Cont’d • Statistical evidence is available on process effectiveness • Innovations that exploit the best software engineering practices are identified • Improvement occurs from – INCREMENTAL ADVANCEMENTS IN EXISTING PROCESSES – INNOVATIONS USING NEW TECHNOLOGIES AND METHODS How are firms doing?? • Many U.S. firms have reached the highest level, OPTIMIZING • Indian firms may be doing better Organizational Project Management Maturity Model (OPM3) 1. Ad-Hoc: The project management process is described as disorganized, and occasionally even chaotic. The organization has not defined systems and processes, and project success depends on individual effort. There are chronic cost and schedule problems. 2. Abbreviated: There are some project management processes and systems in place to track cost, schedule, and scope. Project success is largely unpredictable and cost and schedule problems are common. 3. Organized: There are standardized, documented project management processes and systems that are integrated into the rest of the organization. Project success is more predictable, and cost and schedule performance is improved. 4. Managed: Management collects and uses detailed measures of the effectiveness of project management. Project success is more uniform, and cost and schedule performance conforms to plan. 5. Adaptive: Feedback from the project management process and from piloting innovative ideas and technologies enables continuous improvement. Project success is the norm, and cost and schedule performance is continuously improving. Enter CMMI: Capability Maturity Model Integration • In 2007, the SEI asserted that it would no longer support the old SW-CMM. • On Dec 31, 2007 all SW-CMM appraisal results were expired • The purpose of the CMMI was to focus process maturity more towards project performance • Organizations must now upgrade to the CMMI • The CMMI is vastly improved over the CMM CMMI Staged Representation - 5 Maturity Levels Level 5 Optimizing Process performance continually improved through incremental and innovative technological improvements. Level 4 Quantitatively Managed Level 3 Defined Level 2 Managed Level 1 Initial Slide 24 of 146 Processes are controlled using statistical and other quantitative techniques. Processes are well characterized and understood. Processes, standards, procedures, tools, etc. are defined at the organizational (Organization X ) level. Proactive. Processes are planned, documented, performed, monitored, and controlled at the project level. Often reactive. Processes are unpredictable, poorly controlled, reactive. CMMI Origins • The CMMI was derived from the 1. SW-CMM—capability maturity model for software 2. EIA/IS – electronic Industries Alliance Interim Standard 3. IPD-CMM—Capability Maturity Model for Integrated Product Development 1.CMMI architecture is open and designed to accommodate additional disciplines, like 1. CMMI-DEV – processes for development 2. CMMI-ACQ—processes required for supplier sourcing CMMI: cap mat model integration • • • • • • • • • • • • Level 0: Incomplete No goal. Level 1: Performed The process supports and enables achievement of the specific goals of the process area by transforming identifiable input work products to produce identifiable output work products. Level 2: Managed The process is institutionalized as a managed process. Level 3: Defined The process is institutionalized as a defined process. Level 4: Quantitatively Managed The process is institutionalized as a quantitatively managed process. Level 5: Optimizing The process is institutionalized as an optimizing process. Use of this tool has shown… • The Engineering and Construction Industries have a higher level of maturity than do the information systems and software development disciplines New Employee Orientation • Getting to know your new assignment • Familiarizing yourself with your new environment • Meeting new colleagues New Work New Environment New Colleagues Welcome Today’s Overview 1 • Familiarize yourself with your new assignment 2 • Explore your new environment 3 • Meet your new colleagues Learning Objectives • • • • Technology Procedure Policies Benefits NEW WORK New Work The technology learning curve New Employee 1 yr 2 yr 3 yr Who’s Who Lead Contact information Jim Jim@company.com Dee Dee@gcompany.com Mavis Mavis@company.com Doug Doug@company.com Working Toward Mastery Projects Worked On Achieve Mastery Get Experienced Get Familiar Time Spent Doing Your Best Work • Working from home • Working offsite • Technology requirements Case Study • Jeremy – His first day – Mistakes made – Successes achieved – The moral of the story Discussion • What we can learn from Jeremy • Best practices • Take-aways Summary • Define your challenges – Technological as well as personal • Set realistic expectation – Mastery is not achieved overnight • Keep your eye on the goal – Mentorship programs Resources • <Intranet site text here> <hyperlink here> • <Additional reading material text here> <hyperlink here> • This slide deck and related resources: <hyperlink here> QUESTIONS? APPENDIX