This course teaches students about software development teamwork. It provides a structured set of steps, shows students what to do at each step, and demonstrates how to connect these steps to produce a completed software product. It also provides two interesting and reasonably challenging project practices. Each is at the same time small enough to be completed in a semester and large enough to simulate a typical small project. When capable students follow the guidance provided in this course, they will invariably produce a finished working product.

In the suggested TSPi (the introductory Team Software Process) strategy, teams develop a product in two or three cycles. In the first cycle, teams build a small working product kernel. With each succeeding cycle function is added to this base. This strategy demonstrates the benefits of using data from a prior project to plan a new project. Also, by taking new roles for each cycle, students will have two or three quite different experiences in just one project. After several development cycles, students will have a broad exposure to team methods, and they are likely to continue using TSPi methods on their own.