Dr. Kıvanç DİNÇER, PMP Hace6epe University Implemen@ng CMMI for High-Performance with TSP/PSP
Informa@on Systems & SoFware The Informa@on Systems usage has experienced an exponen@al growth over the past years. IT Systems are much more sofware dependent than before.
Cost and Schedule Performance Trends - 2
Cost and Schedule Performance Trends
So6ware Process Quality SoFware is the only modern technology that ignores quality un@l test. Most sofware defects are found in or afer test when defect removal is the most expensive and least effec@ve. This strategy results in buggy products and unnecessary rework, infla@ng development costs.
Cost to Fix Defects Source: Construx SoFware Builders, Inc.
Implemen@ng CMMI with TSP and PSP
CAPABILITY MATURITY MODEL INTEGRATED (CMM / CMMI)
CMM as a Remedy In the late 1980s and early 1990s the SEI developed the Capability Maturity Model (CMM) which captured organiza@onal best prac@ces for sofware development.
What is CMMI? The Purpose of CMM Integra@on is to provide guidance for improving your organiza@on s processes and your ability to manage the development, acquisi@on and maintenance of products and services
CMMI In a Nutshell
CMMI Staged Representa@on - 5 Maturity Levels Level 4 Quan@ta@vely Managed Level 5 Op@mizing Process performance con@nually improved through incremental and innova@ve technological improvements. Processes are controlled using sta@s@cal and other quan@ta@ve techniques. Level 1 Level 3 Defined Level 2 Managed Processes are well characterized and understood. Processes, standards, procedures, tools, etc. are defined at the organiza@onal (Organiza@on X ) level. Proac@ve. Processes are planned, documented, performed, monitored, and controlled at the project level. O6en reac@ve. Ini@al Processes are unpredictable, poorly controlled, reac@ve.
CMMI Terminology and Structure Maturity Levels (1-5) Process Area 1 Process Area 2 Process Area n Required. Specific for each process area. Specific Goals Commitment to Perform Generic Goals Common Features Ability to Perform Direc@ng Implementa@on Required. Common across all process areas. Verifying Implementa@on Specific Prac@ces Required Required Generic Prac@ces Sub prac@ces, typical work products, discipline amplifica@ons, generic prac@ce elabora@ons, goal and prac@ce @tles, goal and prac@ce notes, and references Sub prac@ces, typical work products, discipline amplifica@ons, generic prac@ce elabora@ons, goal and prac@ce @tles, goal and prac@ce notes, and references
Examples For the Requirements Management Process Area: An example Goal (required): Manage Requirements An example Prac@ce to support the Goal (required): Maintain bi- direc@onal traceability of requirements Examples (suggested, but not required) of typical Work Products might be Requirements traceability matrix or Requirements tracking system
CMMI TR den Örnekler
Maturity Levels and Performance Many people believe that when you achieve a higher CMMI maturity ra@ng that higher performance follows. Achieving a higher CMMI maturity ra@ng doesn t guarantee higher performance The performance you achieve will depend on your implementa@on of CMMI.
CMM / CMMI CMMI is a model not a process. It describes characteris,cs of effec@ve processes, not the processes themselves. The trick is to translate the model into a high- performance, high- maturity implementa@on. Also, to do this effec$vely and efficiently.
CMMI Implementa@on Challenges - 1 There can be considerable performance varia@on in implementa@ons of CMMI prac@ces. Why? The example prac@ces don t all have equivalent performance, e.g. informal reviews aren t as effec@ve as formal inspec@ons. The same example prac@ce can have substan@al varia@on in performance, e.g. average inspec@on yield* can range from 30% to 70%. Complete, detailed, and @mely performance metrics for the process are lacking and what isn t measured isn t managed. Remember that sa@sfying a prac@ce is no guarantee of performance. *Yield is the percentage of defects found during the inspec@on
CMMI Implementa@on Challenges - 2 CMMI is a model of organiza@onal capability and so implementa@ons tend to be focused at the organiza@on level. There is increasingly less focus on the processes of projects and teams individual managers and developers What does organiza@onal performance depend on? It is a func@on of the process performance of the projects and teams which is a func@on of the process performance of the managers and developers.
CMMI Implementa@on Challenges - 3 Process ins@tu@onaliza@on is a key implementa@on challenge. coverage the percentage of the organiza@on that is using the process. process fidelity the degree to which the process is prac@ced and measured as defined.
(cont d) Impact on Performance Example of impact on performance using inspec@ons. Assume: Only code inspec@ons are conducted (process design flaw) Only half the modules are inspected (process fidelity issue) Only half of the projects are using the process (problem with coverage) Inspec@on yield is only 30% (poor inspec@on prac@ce) Only about 75% of the defects will be found before system test instead of the 95% that would be found if inspec@ons were fully implemented. Cost to the organiza@on...about 10 @mes more defects to find and fix in system test.
Implemen@ng CMMI: Time to Move Up
Implemen@ng CMMI with TSP and PSP
PERSONAL SOFTWARE PROCESS (PSP)
Birth of PSP SEI Fellow Wa6s Humphrey decided to apply the underlying principles of the CMM to the sofware development prac@ces of a single developer. The result of this effort was the Personal SoFware Process (PSP). It is designed to be a CMM level 5 process for individual sofware developers.
What is a Process? A process is a defined set of steps for doing a job. A process guides your work. A process is usually defined for a job that is done mul@ple @mes. A process provides a founda@on for planning. A process is a template, a generic set of steps. A plan is a set of steps for a specific job, plus other things such as effort, costs, and dates.
Personal So6ware Process The PSP is a process designed for individual use that applies to structured personal tasks. With PSP, developers use defined and measured personal processes. They gather size, @me, and defect data as they work. They used the data to plan and track their work, Manage the quality of the products they produce Measurably improve performance
PSP Steps
Process Planning Framework
PSP Changes So6ware Prac@ce SoFware work is planned. Plans are based on processes and es@mates. Es@mates are based on historical process data. SoFware work is measured and tracked. Status is based on the data. SoFware quality is also planned, es@mated, tracked, and managed.
Why Define and Use a Personal Process? Benefits include Consistency Efficiency Basis for improvement
1/3 Consistency Using a defined personal process helps you to achieve consistent results. Your results are more likely to be similar each @me that you use the process. Your work becomes more predictable.
2/3 Efficiency Using a defined personal process helps you to be more efficient. It structures and guides your work. Orders the steps Avoids rework It keeps you focused on what needs to be done. Fewer restarts Manage interrupts You can accomplish your work in less @me.
3/3 Efficiency By gathering data on your work, you can determine which steps Take the most @me Cause you the most trouble Are the least effec@ve. With this informa@on, you can iden@fy opportuni@es for improving your results by making changes to your process.
PSP Improves Performance Es@ma@on accuracy Fewer underes@mates More accurate es@mates Es@mates balanced around zero Quality Yield imroves by 2x to 3x Fewer defects in unit test, integra@on test, and system test COQ is flat or reduced Effort Es@ma@on Accuracy
PSP Reduces Defects Effort Es@ma@on Accuracy
PSP Improves Produc@vity
TEAM SOFTWARE PROCESS (TSP)
Implemen@ng CMMI with TSP and PSP
Birth of TSP It soon became obvious that, while excellent results were possible using the PSP, it was almost impossible to maintain the discipline required for PSP prac@ces if the surrounding environment did not encourage and demand them. Humphrey then developed the Team SoFware Process (TSP) for the smallest opera@onal unit in most organiza@ons, the project team. TSP was designed to be a CMM level 5 process for project teams.
Working in Teams Successful teams are both sa@sfying and rare. Although many teams come close to mee@ng their product and business goals, they ofen do so at the expense of the team members. A jelled team works together smoothly and efficiently. A jelled team is greater than the sum of its parts and the enjoyment people derive from the work is greater than you would expect. Peopleware, DeMarco & Lister. TSP is a proven- effec@ve way of building jelled teams quickly.
Team So6ware Process The Team SoFware Process (TSP) is a sofware development process for engineering teams. TSP is a process- based solu@on to common sofware engineering and management issues cost and schedule predictability produc@vity and product quality process improvement
TSP Teams are Self- Directed
Integra@ng the How- to Technologies Used as implementa@on of CMMI prac@ces, or to augment exis@ng prac@ces to improve performance and achieve higher maturity. Introduces self- direct team management style required for high performance teams.
Building High- Performance Teams TSP builds high- performance teams from the bo6om- up.
TSP Process Elements
TSP Coverage of CMMI By Maturity Level
TSP Improves Effort (Cost) and Schedule Predictability
TSP Improves Product and Process Quality An analysis of 20 projects in 13 organiza@ons showed TSP teams averaged 0.06 defects per thousand lines of new or modified code. Approximately 1/3 of these projects were defect- free. These results are substan@ally be6er than those achieved in high maturity organiza@ons. Source: CMU/SEI- 2003- TR- 014
TSP System Test Performance Range and Average
TSP Accelerates CMMI Improvement
NAVAIR AV- 8B TSP/CMMI Experience AV- 8B is a NAVAIR System Support Ac@vity. They integrate new features into the Marine Harrier aircraf. They used TSP to reduce the @me to go from CMM Level 1 to CMM Level 4. Similar results can be achieved with CMMI.
TSP is a prac@cal, accessible method for achieving the benefits of high maturity process on a much accelerated schedule. Several organiza@ons have used the TSP to move up the maturity ladder in much less @me than reported averages, including one NAVAIR group that went from level 2 to level 4 in just 16 months largely on the strength of its TSP implementa@on.
The results demonstrate that a high- performance CMMI implementa@on is possible with the use of PSP & TSP. high performance maturity Predictable and improved cost and schedule Near defect- free quality Sa@sfied developers, managers and customers
The results demonstrate that a more successful CMMI implementa@ons are possible with the use of PSP & TSP. high performance maturity Predictable and improved cost and schedule Near defect- free quality Sa@sfied developers, managers and customers SUMMARY
It s not just about the visuals, but strengthening
New Picture Effects Picture Color, Correc@ons, Ar@s@c Filters, and Background Removal allow you to customize images for your story
Movie Perfect You can do a lot more with movies in PowerPoint 2011. Movies can be embedded in your presenta@on. That s right, no more lost movies! Also, you can recolor the en@re movie or apply a movie style easily. Your movies will look great!
Exci@ng new transi@ons What about the beau@ful transi@ons you ve been seeing? They are new too.
3 Share Your Presenta@on View your slides from anywhere!
Collabora@on Simultaneous edits on one single document. No more wai@ng your turn or managing mul@ple versions. It s about team work, and co- authoring will get you there.
Access Anywhere» Check out the PowerPoint Web App» Access slides wherever you are
What s POWERPOINT Your Message? 2011