Many software applications are under constant pressure from both technical and business forces to change and must have the ability to adapt to change. Software architects must expect and embrace change by designing software architectures that have the ability to evolve.
Software development methodologies, in which large amounts of time were spent creating a Big Design Up Front (BDUF) and software architects tried to anticipate, plan for, and implement solutions for a wide variety of contingencies, are over. Rather than attempting to design an architecture that would almost never have to be changed, modern software development methodologies understand that changes will occur. By reading this chapter, you will learn how to create a software architecture that can adapt to change.
In this chapter, we will cover the following topics:
- Change is inevitable ...