In this class, we’ll be using certain software development processes to organize and manage the project work. It is important to understand a bit about the motivation behind these processes and how they fit into the broader context of practices commonly used in industry. These brief readings

First, read Software Development Process sections: introduction, “Methodologies,” and “In Practice.” This will provide an overview of modern software development. Pay special attention to “waterfall,” “agile,” and “extreme programming” (XP):

  • Waterfall is the “old and tired” methodology that everyone loves to hate now. It is a clear, simple process that is easy to understand, though, and it serves as a baseline against which we can consider other approaches.
  • Various forms of agile methodologies are used widely now. We will study and practice some general ideas from these.
  • XP is one implementation of agile methodologies, and we will look at specific practices it recommends.

Next, get a better idea of agile methodologies from Agile in a Nutshell. This is a clear, fast read. Read all sections through “Test Driven Development,” then read “Burndown Charts” as well.

The Agile Handbook is another quick read covering agile in a bit more detail. It will help you understand common practices used in the industry, and it is well worth the few minutes it will take to read.