710 likes | 920 Views
Understanding & Using S/W CMM For Process Improvement. Objective of the tutorial Overview of s/w CMM Why CMM What is CMM Implications and benefit of CMM Proposed roadmap for higher maturity level SPI methodology Managing change in an organization Exercise on process improvement.
E N D
Understanding & Using S/W CMM For Process Improvement TCS Confidential Presentation
Objective of the tutorial Overview of s/w CMM Why CMM What is CMM Implications and benefit of CMM Proposed roadmap for higher maturity level SPI methodology Managing change in an organization Exercise on process improvement Overview TCS Confidential Presentation
To help participants understand SW CMM as a model benefits of SW CMM the roadmap for higher maturity level the approach for software process improvement the process of managing change in an organization Objective TCS Confidential Presentation
The average software program has 40 design flaws that impair employees' ability to use it. The resulting cost of lost productivity can be up to 720%.(Landauer, 1995) The software problem (1 of 2) According to a 1995 study by The Standish Group: • Only 9% - 16% of software development projects are completed on time and on budget. • A mind boggling 31% of software development projects are cancelled before completion. • About 52% of projects eventually do get completed, but end up costing 189% average cost overrun 222% average time overrun 39% of the average functionality was not implemented 80% of software lifecycle costs occur during the maintenance phase. (Pressman, 1992) TCS Confidential Presentation
No Silver Bullet (Fred Brooks 1986) No single software development support tool would produce a true order-of-magnitude improvement in programming productivity The software problem (2 of 2) • “Let’s add more people” seems to be the commonest mistake which project managers make when schedule slips • “It takes nine months to bear a child, no matter how many women are assigned”(Fred Brooks) Evenin the best of projects where the customer is happy and the system is running LIVE without any major issues, there was a rework effort of about 34% of the overall effort!!(TCS confidential data - early 90s) So is Software Development a Mission Impossible? Why is it so prone to failure? TCS Confidential Presentation
Lack of project management Ambiguous and constantly changing requirements Use of new technologies Lack of user involvement Trying to chase unrealistic targets Lack of appropriate resources and tools Obsolete before completion Lack of training Whyprojects fail or have extensive overruns? TCS Confidential Presentation
B A D C Sdfkfaso iahsf sdfkas askf asfsdf dsk fs asd;fkjas;dkf askfas sdjfkn kjasdf jasdf jsf wdfi w[0din as;dhfi asf; anf[I sadifh ai asidn f af as09 d ahdp uhdf phadf uihdf hdh hf hdf d slasd hasdf uhdf sfs uhasfpuas usf smfd ask as asjas s jasf mm s apd kas ns n knsf nfas asdfj ifa[if99hj p iasd ijsdf jsdfij asdfijs ijsij isad[j ia Improving efficiency at work People Business capability Process Technology TCS Confidential Presentation
What is a software process? • A set of activities, methods, practices, and transformations that people use to develop and maintain software and the associated products (CMM). e.g. • process to do analysis • process to do plan and track the projects • process to conduct reviews What is a process? • What you do • e.g Getting dressed in the morning TCS Confidential Presentation
Improvised by practitioners and managers Not rigorously followed or enforced Highly dependent on managers and customers Low visibility into progress Product functionality and quality may be compromised to meet schedule Quality difficult to predict An Immature Process TCS Confidential Presentation
An effective software process Infrastructure mechanism • Process documentation • Process group • Process training • Process tools • Process enforcement • Feedback activities • Process improvement Characteristics • Defined • Owned • Trained • Supported • Followed • Monitored • Improved Software process maturity is the extent to which a specific process is explicitly defined, managed, measured, controlled, and effective. TCS Confidential Presentation
Software Process Improvement • Advantages: • Fewer product defects found by customers • Earlier identification and correction of defects • Fewer defects introduced during the process • Faster time to market • Better predictability of project schedules and resources TCS Confidential Presentation
Life history conceived by Watts Humphrey in response to a request for assessing the capability of software contractors SEI maturity questionnaire - 1987 “Managing the Software Process” - 1989 Capability Maturity Model, v.1.0 - 1991, v. 1.1 - 1993 Maturity framework integrates software engineering best practices quality methods of Crosby and Deming (TQM) organizational change Extensive industrial input CMM Workshops, Advisory Board 500+ reviewers Evolution of SW CMM TCS Confidential Presentation
A common-sense application of process management and quality improvement concepts to software development and maintenance A community-developed guide A model for organizational improvement The underlying structure for reliable and consistent CMM-based appraisal methods What is CMM? CMM is applying TQM to software TCS Confidential Presentation
Continuously Improving Process 5.Optimizing Focus on process improvement 4. Managed Predictable Process Managing Change Process measured and controlled Standard, Consistent Process 3. Defined Product and Process Quality Process characterized, fairly well understood 2. Repeatable Disciplined Process Integrated Engineering Process Can repeat previously mastered tasks 1. Initial Project Management Unpredictable and poorly controlled The Five Levels of Software Process Maturity TCS Confidential Presentation
THE CMM STRUCTURE TCS Confidential Presentation
The Common Features Include ... Commitment to perform The actions the organization must take to ensure that the process is established and will endure Ability to perform The preconditions that must exist in the project or organization to implement the software process competently Activities performed The roles and procedures necessary to implement a key process area THE CMM STRUCTURE TCS Confidential Presentation
The Common Features include ... Measurement and analysis The need to measure the process and analyze the measurements Verifying implementation The steps to ensure that the activities are performed in compliance with the established process THE CMM STRUCTURE TCS Confidential Presentation
In Out INITIALLEVEL Software Management is a BlackArt • Requirements flow in; product flows out • Performance driven by competence and heroics of the people doing the work TCS Confidential Presentation
THE KEY PROCESS AREAS - LVL 1 Initial (Lvl 1) NO KEY PROCESS AREAS TCS Confidential Presentation
Performance driven by the competence and heroics of the people doing the work High quality and exceptional performance possible so long as the best people can be hired Unpredictable - for good or ill The major problems facing the software organization are managerial, not technical Understanding the Initial Maturity level TCS Confidential Presentation
In Out REPEATABLE LEVEL Project Management System is in Place • Process of building software is a series of black boxes with defined checkpoints (milestones) • Software project management processes are documented and followed. They are guided by organizational policies TCS Confidential Presentation
THE KEY PROCESS AREAS - LVL 2 Repeatable (Lvl 2) Software Configuration Management Software Quality Assurance Software Subcontract Management* Software Project Tracking & Oversight Software Project Planning Requirements Management * OPTIONAL TCS Confidential Presentation
The Predominant need is to establish effective software project management. Software project management processes are documented and followed. Organizational policies guide the projects in establishing management processes. Successful practices developed on earlier projects can be repeated. Understanding the Repeatable Maturity Level TCS Confidential Presentation
In Out DEFINED LEVEL Managed according to a well - Defined Process • Builds on Project Management Foundation • Roles and Responsibilities in the process are understood • Outputs of one task flow smoothly into the inputs of the next task TCS Confidential Presentation
THEKEYPROCESSAREAS-LVL3 Defined (Lvl 3) Peer Reviews Intergroup Coordination Software Product Engineering Integrated Software Management Training Program Organization Process Definition Organization Process Focus TCS Confidential Presentation
This level builds on the software project management foundation. To control a process, it must be defined, documented, and understood. At this level, the organization builds processes that empower the individuals doing the work. Understanding the Defined Maturity Level TCS Confidential Presentation
MANAGED LEVEL Product & Processes are Quantitatively Managed In Out • Management has an objective basis for making decisions using statistical process control • Management is able to predict performance within quantified bounds TCS Confidential Presentation
THE KEY PROCESS AREAS - LVL 4 Managed (Lvl 4) Software Quality Management Quantitative Process Management TCS Confidential Presentation
Quantitative goals set by the organization for products and processes Organizational measurement program Software processes are instrumented with well defined and consistent measurements Process capability quantifiable and predictable Understanding the Managed Maturity Level TCS Confidential Presentation
OPTIMIZING LEVEL Focus - Continuous Process Improvement In Out • Disciplined change is a way of life TCS Confidential Presentation
THE KEY PROCESS AREAS - LVL 5 Optimizing (Lvl 5) Process Change Management Technology Change Management Defect Prevention TCS Confidential Presentation
Focus on continuous process improvement Strengthen the process proactively with the goal of preventing occurrence of defects Understanding the Optimizing Maturity Level TCS Confidential Presentation
Processes at higher maturity levels may be performed, although perhaps ineffectively, even by organizations at the Initial Level. Process capability is built in stages, since some processes are ineffective when others are not stable. Each level provides a necessary foundation for improvements undertaken at the next level. Maturity Levels cannot be skipped TCS Confidential Presentation
CMM Architecture TCS Confidential Presentation
Level 2 Project level documentation; stable estimating, planning and monitoring processes Problems are recognized and corrected as they occur Commitments are understood and managed Level 3 Organisation wide integrated management and engineering processes problems are anticipated and prevented, or impacts are minimized project groups work together training is planned and provided according to roles Implications with benefits of CMM TCS Confidential Presentation
Level 2 A basic Quality Management System is established A Software Quality Assurance Group is put in place Estimation, Planning and tracking practices are established in projects Configuration management and Sub-contract management is in place Implications and Benefits at Level 2 Independent view of quality Objective subcontractor data and information Tracking and re-planning data are treated as an asset Risks are tracked and kept visible Product activities are based on approved and understood requirements Activities for managing the requirements is kept visible TCS Confidential Presentation
Level 3 Software Engineering Process Group is put in place Processes are defined, documented and used “Say what you do; do what you say.” Inter-group coordination between projects and supporting groups is formalized with Service Level commitments for various activities Inspection methods are formalized and used Training and orientation practices are in place Product Engineering practices (including thresholds) are defined and implemented Implications and Benefits at Level 3 Defect found earlier at lower cost; Data available for use in defect removal models Issues do not drag on unresolved issues and impede progress Cross group knowledge increases Consistency across work products Flexible processes to meet project needs Skilled and knowledgeable personnel TCS Confidential Presentation
Level 4 processes are quantitatively understood and stabilized management has an objective basis for making decisions management is able to predict performance within quantified bounds Level 5 Disciplined change is a way of life processes are continuously and systematically improved common sources of problems are understood and eliminated Everyone is involved in process improvement Implications with benefits at level 4 & 5 TCS Confidential Presentation
Identify where you are ‘If you don’t know where you are, a map won’t help’- Humphrey Identify where you want to go ‘If you don’t know where you are going any road will do’ - Chinese proverb Set up an SPI Action Plan Assign resources and responsibilities Track progress Conduct Assessments Continuously improve Proposed Roadmap for achieving higher maturity levels Commitment from Senior management • Policies • Rewards • Ensure middle management commitment • Overseeing implementation of various KPAs TCS Confidential Presentation
Level 2 A basic Quality Management System is established A Software Quality Assurance Group is put in place Estimation, Planning and tracking practices are established in projects Configuration management and Sub-contract management is in place Proposed Roadmap for achieving higher maturitylevels (contd) Independent view of quality Objective subcontractor data and information Tracking and re-planning data are treated as an asset Risks are tracked and kept visible Product activities are based on approved and understood requirements Activities for managing the requirements is kept visible TCS Confidential Presentation
Level 3 Software Engineering Process Group is put in place Processes are defined, documented and used “Say what you do; do what you say.” Inter-group coordination between projects and supporting groups is formalized with Service Level commitments for various activities Inspection methods are formalized and used Training and orientation practices are in place Product Engineering practices (including thresholds) are defined and implemented Proposed Roadmap for achieving higher maturity levels (contd) Defect found earlier at lower cost; Data available for use in defect removal models Issues do not drag on unresolved issues and impede progress Cross group knowledge increases Consistency across work products Flexible processes to meet project needs Skilled and knowledgeable personnel TCS Confidential Presentation
Moving from level 2to Level 3 Organization’s Standard Software Process (OSSP) Selection of life cycle model Tailoring Guidelines Project’s Operational Process Process Assets and Process DB Requirements Project Plan Planning, tracking, estimating data TCS Confidential Presentation
Level 4 An organization wide metrics program is in place Statistical Process Control (SPC) used for better insight of the processes Training and orientation in SPC is planned and implemented Product and process quality managed by comparing actual measures to expected values of mean and variance (based on past performance) Corrective and Preventive actions are planned and implemented to eliminate the special causes Proposed Roadmap for achieving higher maturity levels (contd) Process Capability is understood Capability baselines can be used to set goals Project processes are improved Quality goals are based on data Goals are managed TCS Confidential Presentation
Examples of management by data UCL 4 3 Hours per call LCL 2 Time SEI CMU Pittsburgh (Introduction to CMM) TCS Confidential Presentation
Optimizing at Level 5 Improvement in average turn-around time Prev UCL 4 3 Hours per call Prev LCL New UCL 2 New LCL Time SEI CMU Pittsburgh (Introduction to CMM) TCS Confidential Presentation
Level 5 Focus on defect prevention rather than defect detection by analysing common errors Tools for conducting causal analysis are identified and people are trained on these Setting up of Technology and Process Change Management groups aligned with business goals Cost benefit analysis of proposed process and technology changes is a continuous process Involving everyone in continuous process improvement Focus on use of more powerful tools and methods Proposed Roadmap for achieving higher maturity levels (contd) Defect types are prevented Processes revised based on data and analysis Continuous focus on managed technology change Process improvement is everyone’s job Process improvement is continuous TCS Confidential Presentation