PSP℠ for the 21st Century

Abstract:

These are the course materials for PSP for the 21st Century, a modular, flexible introduction to using Watts Humphrey’s Personal Software Process℠ (PSP℠). The PSP was first introduced publicly in Humphrey’s 1994 book, A Discipline for Software Engineering, and as the title suggests, the intent was to demonstrate the power and value of disciplined software engineering methods at the individual developer level. The current materials represent a fresh take on the PSP for the modern software developer working a quarter-century later in a more agile world—short modules, updated terminology, and some flexibility in learning the methods.

This current version of PSP training breaks the discipline into the following skills:

  • following a defined, measured process
  • estimating work consistently
  • reviewing work products effectively
  • documenting detailed design

Each skill is imparted through a “block” of lessons that introduce the components of the skill. Each block contains several modules, which include lecture slide decks covering each component topic, often a supporting Word document containing notes for the instructor, and a recommended programming exercise intended to provide hands-on practice in using the component skill.

 

Block 1 Abstract

These are the course materials for Block 1 of PSP for the 21st Century, a modular, flexible introduction to using Watts Humphrey’s Personal Software Process (PSP).

Block 1: Modules 0-3

  • Module 0: Course Overview
  • Module 1: Follow the Script
  • Module 2: Measure Program Size
  • Module 3: Account for Size Categories

Block 1 is the foundational block that the other blocks assume is in place; it includes four modules. Module 0 briefly summarizes the goals of the course. Module 1 explains how to capture time and defects step by step as work is being done. Module 2 describes how to capture gross size after development. Module 3 introduces the various size categories for actual size after development.

Block 2 Abstract

These are the course materials for Block 2 of PSP for the 21st Century, a modular, flexible introduction to using Watts Humphrey’s Personal Software Process (PSP).

Block 2: Modules 4-8

  • Module 4: Planning with a Model
  • Module 5: Estimating with Standard Sizes
  • Module 6: Building Standard Size Tables
  • Module 7: Reducing Estimation Bias
  • Module 8: Automating Estimation with Regression

Block 2 elaborates the component skills of PROBE, or PROxy-Based Estimating, without ever calling it that. Module 4, “Planning with a Model,” introduces the idea of using a conceptual design (the traditional PSP term) to relate all known requirements to various “parts” that one would need in order to implement those requirements and to record and classify those parts for planning purposes. Module 5, “Estimating with Standard Sizes,” introduces the use of a preexisting set of part types with a historical range of sizes as an aid to planning. Module 6, “Building Standard Size Tables,” shows a method for turning historical data into just such a set of standard part types. Module 7, “Reducing Estimation Bias,” introduces the idea of using one’s personal estimating performance to correct for estimation bias. Module 8, “Automating Estimation with Regression,” replaces historical averaging from the previous lesson with regression calculations that may improve estimating precision and accuracy, especially as more data becomes available.

Block 3 Abstract

These are the course materials for Block 3 of PSP for the 21st Century, a modular, flexible introduction to using Watts Humphrey’s Personal Software Process (PSP).

Block 3: Modules 9-11

  • Module 9: Controlling Quality, Review Your Code
  • Module 10: Reviewing with a Checklist
  • Module 11: Improving Your Review

Block 3 elaborates the essentials of reviewing code with a personalized checklist. Module 9, “Controlling Quality: Review Your Code,” introduces the review as a response to the problem “I’m still finding a lot of defects in test.” Module 10, “Reviewing with a Checklist,” and the optional-but-highly-recommended 10a, “Why Checklists Work,” provide the basics of what reviews are and how to do them. Module 11, “Improving Your Reviews,” takes this information and uses it to drive a retrospective analysis intended to make personalized modifications to the review process and the checklist to make them more effective.

Block 4 Abstract

These are the course materials for Block 4 of PSP for the 21st Century, a modular, flexible introduction to using Watts Humphrey’s Personal Software Process (PSP).

Block 4: Modules 12-16

  • Module 12: Quality by Design
  • Module 13: Describe the Problem
  • Module 14: State the Problem
  • Module 15: Structure the Solution
  • Module 16: Implement the Logic

Module 12, “Quality by Design,” begins by talking about common design problems that are difficult to find in code mainly because they reflect issues of incorrect or incomplete design. Module 13, “Describe the Problem,” focuses on the external-dynamic design view with the UML use case (external to software system) or sequence diagram (external to individual software modules). Module 14, “State the Problem,” looks at the internal-dynamic views captured by state charts (sometimes called state diagrams) or state transition tables. Module 15, “Structure the Problem,” introduces the external-static view of design. Module 16, “Implement the Logic,” speaks to the internal-static design view.

Block 5 Abstract

These are the course materials for Block 5 of PSP for the 21st Century, a modular, flexible introduction to using Watts Humphrey’s Personal Software Process (PSP).

Block 5: Module 17

  • Module 17: Scaling Up

Module 17, “Scaling Up,” talks about scaling up the individual development process from single-day projects like the programming assignments in this class, to real-world work that spans multiple days or weeks. 

Copyright and License

The materials available for download on this page are copyright 2018 Carnegie Mellon University. All rights reserved. The Software Excellence Alliance is not affiliated with nor endorsed by Carnegie Mellon University.

This material is based upon work funded and supported by the Department of Defense under Contract No. FA8721-05-C-0003 with Carnegie Mellon University for the operation of the Software Engineering Institute, a federally funded research and development center.

Any opinions, findings and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the United States Department of Defense.

NO WARRANTY. THIS MATERIAL IS FURNISHED ON AN "AS-IS" BASIS WITH NO WARRANTIES OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, WARRANTY OF FITNESS FOR PURPOSE OR MERCHANTABILITY, ANY WARRANTY WITH RESPECT TO FREEDOM FROM PATENT, TRADEMARK, OR COPYRIGHT INFRINGEMENT, OR THIRD PARTY INTELLECTUAL PROPERTY RIGHTS.

[Distribution Statement A] This material has been approved for public release and unlimited distribution. The United States Government has Unlimited Rights in this material as defined by DFARS 252.227-7013.

The text and illustrations in this material are licensed by Carnegie Mellon University under a Creative Commons Attribution 4.0 International License.

℠ Personal Software Process, PSP, Team Software Process, and TSP are service marks of Carnegie Mellon University. The Creative Commons license does not extend to logos, trade marks, or service marks of Carnegie Mellon University.

TSP℠ Team Member Training

Abstract: 

In this course, you learn the foundational concepts of the Personal Software Process℠ (PSP℠) and Team Software Process℠ (TSP℠). You study how to measure size, time, and defects in your work; how to use a personal planning framework to plan and track your tasks; and how to use a quality strategy to manage defects in your work and be prepared to participate on a TSP team.

This course is designed for system, hardware, and test engineers; technical writers; trainers; and others who participate on a TSP project.

Topics covered include the TSP launch process; how to be a productive participant of a launch; how to use weekly meetings, inspections, checkpoints, and postmortems to manage and maintain self-directed teams; and more.

Course Objectives:

The TSP Team Member Training will introduce you to a set of disciplined methods for producing quality products on time and within budget.

During this course, you will be introduced to the fundamentals of the TSP including

  • the personal process as a guide to performing your work
  • personal and team-based planning techniques
  • quality management
  • team building and project planning via the TSP launch
  • dynamic planning and accurate tracking of your work

The downloads for this course include the following:

  • Course Notebook
  • Exercises and Handouts
  • Instructor Materials

Copyright and License

The materials available for download on this page are copyright 2018 Carnegie Mellon University. All rights reserved. The Software Excellence Alliance is not affiliated with nor endorsed by Carnegie Mellon University.

This material is based upon work funded and supported by the Department of Defense under Contract No. FA8721-05-C-0003 with Carnegie Mellon University for the operation of the Software Engineering Institute, a federally funded research and development center.

Any opinions, findings and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the United States Department of Defense.

NO WARRANTY. THIS MATERIAL IS FURNISHED ON AN "AS-IS" BASIS WITH NO WARRANTIES OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, WARRANTY OF FITNESS FOR PURPOSE OR MERCHANTABILITY, ANY WARRANTY WITH RESPECT TO FREEDOM FROM PATENT, TRADEMARK, OR COPYRIGHT INFRINGEMENT, OR THIRD PARTY INTELLECTUAL PROPERTY RIGHTS.

[Distribution Statement A] This material has been approved for public release and unlimited distribution. The United States Government has Unlimited Rights in this material as defined by DFARS 252.227-7013.

The text and illustrations in this material are licensed by Carnegie Mellon University under a Creative Commons Attribution 4.0 International License.

℠ Personal Software Process, PSP, Team Software Process, and TSP are service marks of Carnegie Mellon University. The Creative Commons license does not extend to logos, trade marks, or service marks of Carnegie Mellon University.

TSP℠ 2010 Launch Materials

Abstract:

These materials help you conduct a Team Software Process℠ (TSP℠) launch. Materials include handouts, preparation materials, templates, checklists, forms, guidelines, role definitions, scripts, and specifications.

The downloads for this course include the following:

 

 

  • Launch Materials
  • Launch Preparation Materials
  • Handouts
  • Templates

Copyright and License

The materials available for download on this page are copyright 2018 Carnegie Mellon University. All rights reserved. The Software Excellence Alliance is not affiliated with nor endorsed by Carnegie Mellon University.

This material is based upon work funded and supported by the Department of Defense under Contract No. FA8721-05-C-0003 with Carnegie Mellon University for the operation of the Software Engineering Institute, a federally funded research and development center.

Any opinions, findings and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the United States Department of Defense.

NO WARRANTY. THIS MATERIAL IS FURNISHED ON AN "AS-IS" BASIS WITH NO WARRANTIES OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, WARRANTY OF FITNESS FOR PURPOSE OR MERCHANTABILITY, ANY WARRANTY WITH RESPECT TO FREEDOM FROM PATENT, TRADEMARK, OR COPYRIGHT INFRINGEMENT, OR THIRD PARTY INTELLECTUAL PROPERTY RIGHTS.

[Distribution Statement A] This material has been approved for public release and unlimited distribution. The United States Government has Unlimited Rights in this material as defined by DFARS 252.227-7013.

The text and illustrations in this material are licensed by Carnegie Mellon University under a Creative Commons Attribution 4.0 International License.

℠ Personal Software Process, PSP, Team Software Process, and TSP are service marks of Carnegie Mellon University. The Creative Commons license does not extend to logos, trade marks, or service marks of Carnegie Mellon University.

Contact & Awareness

Purpose: Passionate expansion of our CoP “up and out” to acquire impact and longevity, through awareness of our contribution to great (software) engineering methods, quality, metrics, and tools

Participants: Jeff Schwalb (lead), Julia Mullaney, William Nichols, David Stein 

Proposed Near-term Goals:

Identify a new name for our methodology

Develop materials to present ourselves (speeches, presentations, training, etc)

Support project teams throughout the Agile community so they will deliver Quality Systems on Schedule and within Cost

Useful Links:

Shared Documents (Google Drive) 

Meeting Minutes 

Web Forum (Google Group)