Before you begin construction of software, you need to prepare for it.
And preparation is tailored to the specific project.
The carpenter's saying, "Measure twice, cut once" is highly relevant to software development as it is in any other form of craftsmanship. Doing the most expensive part of the project twice is a bad idea.
This chapter lays groundwork for construction phase, without discussing construction directly (which will be discussed in chapter 5). Here we will discuss various prerequisites before construction.
Here is the chapter's layout:
- Importance of prerequisites: cost of not doing prerequisites
- Determine the kind of software you're working on: how prerequisites apply to your situation
- Problem-definition Prerequisites: recognize written problem statement & if it is a good foundation for construction
- Requirements Prerequisites: importance of clear requirements & how to handle change in requirements during construction
- Architecture Prerequisites: how to determine the quality of existing architecture
- Amount of time spent on Upstream prerequisites: time management in upstream activities (requirements, architecture, design, planning)