This chapter is about why I think application design methods need to change. It is structured around the three areas where I think change is most necessary:
- Basing IT application design on the recognition that you don’t gather your requirements, you design them
- Making application design more like an engineering discipline, in particular, by analyzing designs and looking for flaws before implementation
- Ensuring that the application works with other applications that exist or are in development to create a coherent IT architecture
In the course of expanding on these points, I also discussed the nature of design and the three kinds of design: ad hoc design, planned design, and engineered design. I noted how design consists of four steps, albeit often interwoven and with loopbacks: understanding requirements, design hypothesis, elaboration, and analysis. It is the inclusion of the analysis step that characterizes engineered design. This notion of analyzing design is a thread that runs throughout this book. I also described the notion of design as a hierarchy, how a large-scale design is broken up into smaller component designs. How to do this for IT application design is not obvious and it is the topic of the next chapter.