Before you start a software development project, it is important to decide on a suitable development strategy. This chapter discusses the possible software development strategies (also referred to as software development models or software development process) for the implementation of the Online Photo Shop, the photo-editing project that we use as an example throughout this book. For this discussion we assume that the development organization itself is already set up. This means that the number of team members, their skills, their responsibilities, and so on are already defined. (For information on how to set up a development organization, please refer to the book written by Dan Paulish, Architecture-Centric Software Project Management: A Practical Guide, Boston: Addison-Wesley, 2002).
We start by discussing why there is a need for a software development model, and then we review the most commonly used software development models. After that, we'll choose the model that best suits the Online Photo Shop project.