Designer, implementor, user, writer A Fragment by Donald Knuth dl.acm.org Thus, I came to the conclusion that the designer of a new system must not only be the implementor and the first large-scale user; the designer should also write the first user manual. The separation of any of these four components would have hurt TeX significantly. If I had not participated fully in all these activities, literally hundreds of improvements would never have been made, because I would never have thought of them or perceived why they were important. Eating your own dog food making
Deciding what to design We Don’t Really Know the Goal When We Start The most serious model shortcoming is that the designer often has a vague, incompletely specified goal, or primary objective. In such cases, the hardest part of design is deciding what to design. I came to realize that the most useful service I was performing for my client was helping him decide what he really wanted. Today, we recognize that rapid prototyping is an essential tool for formulating precise requirements. Not only is the design process iterative; the design-goal-setting process is itself iterative. Knowing complete product requirements up front is a quite rare exception, not the norm. Therefore, goal iteration must be considered an inherent part of the design process. Frederick P. Brooks, Jr., What's Wrong With This Model? What's wrong with the rational model iteration