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
Complete and consistent requirements An architect who needs complete and consistent requirements to begin work, though perhaps a brilliant builder, is not an architect. Mark W. Maier & Eberhardt Rechtin, The Art of Systems Architecting What the problem isThe heart of systems engineeringA late change in requirements is a competitive advantage architecturedesign