It also provides synchronization mechanisms so that these external programs can track the user's focus as it changes among diagrams in the same document or moves to a diagram in another document. The processes of designing computers, programming languages, operating systems, and big applications seem to have a lot in common. More interestingly, these same commonalities are also found in the processes of designing buildings, and even organizations. In some fields, such as building architecture and industrial design, there is currently a lot of study of the design process. Perhaps by studying the process, across the various media in which designs are realized, we can learn how to better practice, and teach, design.
Engineers have a simplistic, deterministic model of their own design processes.
As soon as one expresses the model, real designers acknowledge it, and recognize its gross inadequacies. The architects rejected it decades ago. Through the centuries, designers have debated the fundamental issue of whether design should be rational or empirical, a question with many corollaries and implications. I will fiercely defend the empirical side. Finally, I shall argue that Great designs come from great designers, not from great product processes, and that many product troubles come from terribly wrong consensus-based design processes.