Lecture Software process improvement: Lesson 20 provide students with knowledge about: personal software process (PSP); cost and schedule management; quality management; cycle time; organizational process improvement; background and introduction;... Please refer to the detailed content of the lecture!
Personal Software Process (PSP) Lecture # 20 1 Concept of PSP • Many viewed the CMM as designed for large organizations and did not see how it could be applied to individual work or to small project teams….The SEI thus started a process research project to examine ways individual software engineers could apply level5 process principles. After several years of research, means were devised to adapt 12 of the 18 CMM key process areas to the work of individual software engineers – Watts Humphrey 22 What is PSP? • The PSP is a defined and measured software process designed to be used by an individual software engineer • The PSP was developed by Watts Humphrey • Its intended use is to guide the planning and development of software modules or small programs, but it is adaptable to other personal tasks 33 PSP • Like the SEI Capability Maturity Model for Software, the PSP is based on process improvement principles • While the CMMSW was focused on improving organizational capability, the focus of the PSP is the individual engineer 44 PSP • To foster improvement at the personal level, PSP extends process management and control to the software engineer • With PSP, engineers develop software using a disciplined, structured approach 55 • Individual engineers follow a defined process, plan, measure, and track their work, manage product quality, and apply quantitative feedback to improve their personal work processes, leading to – better estimating – better planning and tracking 66 – protection against overcommitment – a personal commitment to quality – the engineers’ involvement in continuous process improvement 77 • Thus, both the individual and the organization’s capability are improved 88 Cost and Schedule Management • A critical business need for all organizations that develop software is better cost and schedule management • Cost and schedule problems often begin when projects make commitments that are based on inadequate estimates of size and development resources 99 • PSP addresses this problem by showing engineers how to make better size and resource estimates using statistical techniques and historical data • A more balanced estimation error means that the errors tend to cancel, rather than compound, when multiple estimates are combined 10 10 How • Data from the PSP improve planning and tracking of software projects • Early defect removal results in higher quality products, as well as reductions in test costs and cycle time • PSP provides a classroom setting for learning and practicing process improvement. Short feedback cycles and personal data make it easier to gain understanding through 26 26 experience • PSP helps engineers and their managers learn to practice quantitative process management. They learn to use defined processes and collect data to manage, control, and improve the work • Finally, PSP exposes engineers to 12 of the CMM Key Process Areas (KPAs). They are better prepared to participate in CMM based improvement 27 27 • The PSP provides a framework for teaching engineers about the software process, and a starting point from which they can evolve their own personal processes. The PSP is based on the same industrial practices that are found in the SEI CMM, but scaled down for individual use 28 28 • It is a defined and measured, individualized process for consistently and efficiently developing high quality software modules or small programs • It has been adapted to many other kinds of software engineering tasks, such as developing software requirements, software specifications, and test cases 29 29 • The PSP can also be scaled up to support small projects by integrating individual personal processes with a project process that was based on the PSP architecture • In general, once learned, the principles and concepts in the PSP can be applied to any structured, repetitive task 30 30 Following two slides to be inserted Key Process Areas for PSP 31 31 Key Process Areas for PSP 1 • • • • • • Software project planning Software project tracking/oversight Software process focus Software process definition Integrated software management Software product engineering 32 32 Key Process Areas for PSP 2 • • • • • • Peer reviews Quantitative process management Quality management Defect prevention Technology change management Process change management 33 33 • Let’s discuss them in some detail now 34 34 PSP in a Nutshell 1 • Baselining your existing personal software process • Developing a planning process for your software development • Measuring software size as part of the planning process • Estimating software size in advance 35 35 PSP in a Nutshell 2 • Estimating the required schedule and resources for software • Conducting appropriate measures of one’s process • Conducting meaningful design and code reviews • Performing software quality management 36 36 PSP in a Nutshell 3 • Perform software design in a more formal fashion • Verifying the design, using methods using methods such as object state machines, program tracing, etc • Scaling up the PSP to larger problems 37 37 Personal Improvement Process • • • • • • • Define the quality goals Measure product quality Understand the process Adjust the process Use the adjusted process Measure the results Compare the results with the goal 38 38 Summary 39 39 References • SEI website: www.sei.cmu.edu • Introduction to the Personal Software Process by Watts Humphrey • The Personal Software Process (PSPSM): An Empirical Study of the Impact of PSP on Individual Engineers (efile), SEI TR, 1997 • The Personal Software Process by Watts Humphrey, SEI TR 0022, November 20004040 ... inserted Key? ?Process? ?Areas for PSP 31 31 Key? ?Process? ?Areas for PSP 1 • • • • • • Software? ?project planning Software? ?project tracking/oversight Software? ?process? ?focus Software? ?process? ?definition... devised to adapt 12 of the 18 CMM key? ?process? ? areas to the work of individual? ?software? ?engineers – Watts Humphrey 22 What is PSP? • The PSP is a defined and measured software? ?process? ?designed to be used by an individual? ?software? ?engineer... Introduction to the Personal? ?Software? ? Process? ?by Watts Humphrey • The Personal? ?Software? ?Process? ?(PSPSM): An Empirical Study of the Impact of PSP on Individual Engineers (efile), SEI TR, 1997 • The Personal? ?Software? ?Process? ?by Watts