1 / 32

Introduction to The Personal Software Process and The Team Software Process

Introduction to The Personal Software Process and The Team Software Process. Dr. Kaan Kurtel. The Personal Software Process. Lecture Overview. You will Become familiar with the concepts behind PSP and TSP Develop ways to measure the size, time, and defects in your work

kiele
Download Presentation

Introduction to The Personal Software Process and The Team Software Process

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Introduction toThe Personal Software ProcessandThe Team Software Process Dr. Kaan Kurtel

  2. The Personal Software Process

  3. Lecture Overview • You will • Become familiar with the concepts behind PSP and TSP • Develop ways to measure the size, time, and defects in your work • Use the PSP planning framework to plan and track those tasks • Use the PSP quality strategy to manage the defects in your work and support the team's quality goals • The topics covered will include • PSP planning framework • PSP process framework • In-process control and tracking • Estimating and scheduling • Measurement in PSP • Defect management • Defining a personal process • Process analysis and improvement • Team Software Process

  4. PSP: A Self-Improvement ProcessforSoftware Engineers • Watts S. Humphrey • “PSP: A Self-Improvement Process for Software Engineers” • Addison Wesley Professional, 2005.

  5. The Personal Process Strategy

  6. Watts S. Humphrey • A fellow at the SEI of Carnegie Mellon University, which he joined in 1986. • Established the Process Program, led initial development of the CMM, introduced the concepts of Software Process Assessment and Software Capability Evaluation, and most recently, the PSP and TSP. • From 1959 to 1986 he was associated with IBM Corporation where he was director of programming quality and process. • Watts S. Humphrey has been awarded the prestigious 2003 National Medal of Technology for his contributions to the software engineering community.

  7. The Personal Process Strategy • The PSP is a self-improvement process that helps you to control, manage, and improvethe way you work. • It is a structured framework for developing software: • forms • guidelines • procedures • The PSP provides the data youneed to make and meet commitments, and it makes the routine elements of yourjob more predictable and efficient.

  8. The PSP’s Purpose • The PSP is to help you improve your software engineeringskills. • Youmanage your work • Assessyour talents • Buildyour skills • Helpyou tomake better plans • Toprecisely track your performance • Tomeasure the qualityof your products • Whether you design programs, develop requirements, write documentation,or maintain existing software, the PSP can help you to do better work.

  9. The PSP’s Purpose • The PSP provides the dataand analysis techniques you need to determine which technologies and methods work best for you. • The PSP also provides a framework forunderstanding why you make errors and how best to find, fix, and prevent them. • You can determine the quality of yourreviews, the defect types you typically miss, and the quality methods that are most effective for you.

  10. Software Engineering Discipline • IEEE • “(1) The application of a systematic, disciplined, quantifiableapproach to the development, operation, and maintenance ofsoftware; that is, the application of engineering to software. • (2) The study of approaches as in (1)” • Summerville • “Software engineering is an engineering discipline that is concerned with all aspects of software production”

  11. Software • In 1958, John Tukey, the world-renowned statistician, coined the term software. • The term software engineeringwas used in the title of a NATO conference held in Germany in 1968. • The IEEE Computer Society first published itsTransactions on Software Engineering in 1972. • The committee established within the IEEE Computer Society fordeveloping software engineering standards was founded in 1976.

  12. The Logic for a Software Engineering Discipline • Software has become a critical part of many of the systems on which modern societydepends. • Everyone seems to need more and better software faster andcheaper. • Many development projects are now so large and complex that a few brilliantspecialists can no longer handle them. • Unfortunately, there is no sign of amagical new technology to solve these problems. • We must improve the quality andpredictability of our work or society will have to either forgo these more sophisticatedsystems or suffer the damages caused by unsafe, unreliable, and insecure software-intensive systems.

  13. The Standish Group Chaos Report • In the United States: • more than $250 billion each year on IT application developmentof approximately 175,000 projects. • A great many of these projects will fail.

  14. The software problem • Poor software quality in delivered systems is expensive • expensive service and enhancement • potential for accident or loss of life. • Organizational progress with process improvement is limited because • process improvement takes time / is hard to sell. • The PSP addresses these problems by • providing convincing evidence of the benefits of process improvement • exposing the engineers to the benefits of using effective processes in their work • teaching the engineers effective process improvement methods • providing the historical data to better manage cost, schedule, and quality.

  15. Computer Programmer

  16. The PSP strategy • The PSP strategy is to improve the performance of practicing software engineers. • A disciplined software engineering organization has well-defined practices. • Its professionals use those practices, monitor and strive to improve their personalperformance, and hold themselves responsible for the quality of the products theyproduce. • And most important, they have the data and self-confidence required to resist unreasonable commitment demands.

  17. Objectives for process improvement schedule (delivery date) quality (defects) functionality (features)

  18. History of process models • 1980s DoD Std 2167, AQAP 13 (NATO), industry standards (nuclear) • 1983 IEEE 730 (software quality assurance plans) • 1987 ISO 9000 • 1988 TickIT (ISO 9001) • 1990 ISO 9000-3 (guideline for software) • 1991 Capability Maturity Model (CMM) • 1992 SPICE (ISO 15540)

  19. Models for software process improvement (c) 1998 Software Productivity Consortium MFP, Inc.

  20. What is PSP? (1) • PSP is a framework of techniques to help software engineers improve their performance. • PSP is a self-improvement process designed to help control,manage, and improve the way you work. • It is a structured framework of forms, guidelines, andprocedures for developing software.

  21. What is PSP? (2) • Provides engineers with a disciplined personal framework for doing software work. • Provides a set of methods, forms, and scripts that show how to plan, measure, and manage the work. • Emphasizes effort estimation & software quality. • Designed for use with any programming language or design methodology. • Can be used for any aspect of software development. • Provides a rapid way to infuse each engineer with software engineering skill and experience. • Goal – produce zero defect products on schedule and within planned costs. • Key – ability to recognize and handle undue pressures.

  22. How was the PSP developed? • How to apply CMM to small software teams or individuals? --- personally use CMM principle • Humphrey developed 62 programs and defined 15 PSP process versions, proved 12 KPAs of CMM were applicable to individuals. • Humphrey wrote the manuscript. • Howie Dow taught the first PSP course to graduates in 1993 (University of Massachusetts). • Humphrey taught PSP at CMU from 1993-1994. • Humphrey published the PSP textbook in later 1994. • How to apply the same principles to engineering teams? --- Team Software Process (TSP)

  23. Quality umbrella CMM/CMMI - fororganizational capability TSP - forquality products on cost and schedule PSP - forindividual skill and discipline Ref: DAAD Project, “Joint Course on Software Engineering”

  24. Planning and quality principles of PSP (1) • PSP principles: • System quality depends on the quality of its worst components. • Component quality depends on individual developers. • Every engineer is different; to be most effective, engineers must plan their work and they must base their plans on their own personal data. • To consistently improve their performance, engineers must personally use well-defined and measured processes. • To produce quality products, engineers must feel personally responsible for the quality of their products. Superior products are not produced by mistake; engineers must strive to doquality work.

  25. Planning and quality principles of PSP(2) • It costs less to find andfix defects earlier in a process than later. • It is more efficient toprevent defects than to find and fix them. • The right way is always the fastest and cheapest way to do a job. • PSP applies a CMM-like assessment for individual work • Measurement & analysis framework to help you characterize your process. • Self-assessment and self-monitoring. • Prescribes defined programming steps, data collection forms and standards. • Assumes individual scale & complexity. • Well-defined individual tasks of short duration.

  26. CMM and the PSP Level 5 Process change management* Technology innovation* Defect prevention* Level 4 Quality management* Process measurement and analysis* Level 3 Peer reviews* Intergroup coordination Software product engineering* Integrated software management* Training program Organization process definition* Organization process focus* Level 2 Software configuration management Software quality assurance Software subcontract management Software project tracking and oversight* Software project planning* Requirements management *PSP key practices Level 1

  27. PSP CMMI TSP Engineering The Team Building the Skills Environment Team Project roles and goals Personal measures Goals and tracking Team communication Process discipline Policies and practices Project and quality plans Estimating & planning Organizational process Risk analysis Quality management Training and resources Project reporting Project tracking Tools and facilities Sound Committed Skilled Team Management Teams Members Effective Engineering Teams • Three process perspectives “Three Dimensions of Process Improvement,” Watts Humphrey, CROSSTALK, February 1998

  28. What is TSP? • A measurement driven framework that helps engineering teams more effectively develop software-intensive products. • Provides structure, organization and discipline to running a team-based project. • TSP is built upon PSP. • TSP is an instance of a CMMI level 5 process for software teams.

  29. PSP overview • 7 upward compatible steps and four levels: • PSP0.0 & PSP0.1 • PSP1.0& PSP1.1 • PSP2.0 & PSP2.1 • PSP3 • Each level contains all the activities in the prior level plus some new ones. • Starting point is level PSP0 - current programming practice. • When learning PSP s/w engineers write 10 module-sized programs using the PSP steps. • They gather and analyze data on their work. • Based on these analyses they improve their working methods.

  30. PSP Learning Stages

  31. What is Personal Software Process? • PSP0 • You establish a measured performance baseline • PSP1 • You make size, resource, and schedule plans • PSP2 • You practice defect management and yield management • PSP3 • You scale up PSP methods to larger projects

  32. References • Watts S. Humphrey, “PSP: A Self-Improvement Process for Software Engineers”, Addison Wesley Professional, 2005. • DAAD project “Joint Course on Software Engineering”, ww2.informatik.hu-berlin.de/swt/ intkoop/daad/herc2005/talks/PSP.ppt, 2005. • Watts S. Humphrey, “Three Dimensions of Process Improvement,” CROSSTALK, February 1998.

More Related