Chapter 3: Common Architecture Design Techniques
In the previous chapter, Chapter 2, Software Requirements – Collecting, Documenting, Managing, we highlighted techniques to retrieve and analyze the features an application should have. This is done by interacting with the business and other stakeholders and describing what the desired behavior should be. We now have all the ingredients needed to start baking our application. The first—very important—step is to define the architecture.
It is debated as to how much, in terms of resources, you should invest in this phase. Some experts argue that architecture design is the most important phase, while others claim that it's crucial to keep a flexible approach, being able to adapt the architecture while the solution is evolving according to new ideas coming in or shifting external conditions.
For sure, both ideas are interesting and have some strong points. Whatever your point of view on that is, it is really...