The Design of Design Response
Frederick Brooks’ The Design of Design is a book focuses on the design of complex systems from the viewpoint of an engineer. Not only does Brooks have years of experience in designing systems on the computer science side, he offers his wisdom in the fundamental structure of how things should be designed, regardless of what domain of design that one may be working with. Brooks breaks down many ways to approach design and uses a variety of models to illustrate his claims.
Brooks breaks down the design of “design” into three distinct steps. First is the idea, or the formulation of conceptual constructs, second is the implementation in real media, and last is the interactivity with users in real uses. Recognizing these design concepts and understanding these three steps are important in any form of design, as any person who is designing something should be fully aware of these things. Another key characteristic of design that Brooks urges the significance of is the need for clarity. Vagueness and ambiguity are the worst enemy of design, and can compromise the functionality and user experience of the product. Interestingly, Brooks argued that as questions get harder and answers get vaguer, it is better to guess the answers to the questions than to leave the question vaguely answered or not answered at all.
A big point that Brooks emphasized a lot through his book was the importance of decisions and requirements especially when using the rational model. The rational model, which has many steps and is the implicit view engineers have of design, assumes a single design tree of decisions that must be traversed upon generally in a linear fashion. Instead of using a rational model, Brooks argues that it may be better to figure out the design tree as the product is being developed because different nodes lead to different trade-offs. As products are being designed, lots of decisions and costs change frequently, each with changing opportunity and marginal costs. These constraints change due to discovery of new things during the design process. Because of this, Brooks believes it is important to couple this method with a requirement traceability matrix, making sure that the requirements are derived from the initial overall requirements, as things may soon get cluttered and each new feature must be specific and have a clear intention to it. Although this process may be less organized than the rational model, it is a small price to pay for the overall efficiency of this model. Resources are likely to change throughout the design of a model, but there is almost always one limiting resource. This resource is not necessarily budget, but it is always important to identify the important resource and play around what you need – whether it be money, time, people, technology, infrastructure, or expertise.
Another model that Brooks mentions is the spiral model. In the spiral model, there are four phases that are determined incrementally (determine objectives, identify and resolve risks, development and test, and plan the next iteration. This model tends to be more suitable for big projects that require a lot of changing risks analysis, so it may be easier to develop things as they go, similar to the model described in the previous paragraph. On the other hand, if the project is smaller, Brooks argues that it may be more useful to use the waterfall method, where everything is developed at one time. In the end, it is all a matter of understanding your project and that there are methods that may be more suitable for projects with differing characteristics.
Task delegation is something that is also very important in design. When considering tasks to delegate when designing something, it is important to realize that style identifies different people’s works, and keep it consistent. With this being said, everyone has different styles and most likely will not be 100% on the same page regarding the functional integrity of the design. Brooks argues that is important to limit the number of people to a team, especially when tasks often have to share the same conceptual design. For example, it may be better to have one person controlling costs, or when conceptually designing something. On the other hand, it may be better to have large team for things like design review or graphical representation so to have as many pairs of eyes as possible to catch any possible mistakes or slipups.
The Design of Design is a very thorough book that emphasizes the importance of concision and consistency when designing anything. Although a computer scientist at heart, Brooks’ wisdom can be applied to nearly any field of design. With a solid understanding and awareness of your user and understanding the various characteristics of your project/design, design integrity can be easily maintained and your product will be likely to be successful.