To appreciate looking at project control from a system point of view
To be aware of typical project situations, and ways in which projects can be successfully dealt with in such situations
To understand how risks can be prevented from becoming problems
To know techniques for the day-to-day planning and control of software development projects
In this chapter, I try to reconcile the various approaches sketched in Chapters 3–7. A taxonomy of software development projects is given, together with recommended management practices for dealing with such projects. The chapter also deals with risk management and some well-known techniques for project planning and control.
Software development projects differ widely. These differences are reflected in the ways in which these projects are organized and managed. For some projects, the budget is fixed and the goal of the project is to maximize the quality of the end product. For others, quality constraints are fixed in advance, and the goal is to produce effectively a system that meets those quality constraints. If the developing organization has considerable experience with the application domain and the requirements are fixed and stable, a tightly structured approach may yield a satisfactory solution. In applications with fuzzy requirements and little previous experience in the development team, a more agile approach may be desirable.
It is important to identify those project characteristics ...