ABSTRACT

Objectives In this chapter, you will learn about the initial development of completely new software from scratch. After you have read this chapter, you will know:

◾ ‰e software plan and its role in initial development ◾ ‰e elicitation and analysis of the initial product backlog ◾ ‰e design of the classes and their dependencies ◾ CRC cards ◾ Bottom-up implementation of the first version

***

Starting a project from scratch is not as common as it was in the past, but when it occurs, it presents unique opportunities and challenges. During initial development, the project stakeholders make fundamental decisions, and the consequences of these decisions will be present in the software throughout its entire life span. ‰e tasks of the initial development are the creation of a software plan, then creation of the initial product backlog, initial design, and finally implementation of the first version (see Figure 14.1). ‰e process resembles a miniature waterfall with the difference that it runs only for a relatively short and predetermined time.