Letter to IEEE Software

Published in IEEE Software, September/October 1999 issue, page 10.

I really enjoyed Robert Glass's recent Loyal Opposition column ("On Design," Mar./Apr. 1999). As a practicing software professional who also spent five years in design theory and methodology research, I can confirm that our "profound knowledge of what design really is" still does not help us construct much automated tool support.

Our knowledge of design theory is a little more advanced than Glass reported, and we can say with some assurance that we will never be able to automate certain tasks. If "essence of design" means equiring the reconciliation of incommensurate aspects, then reconciliation can only occur by going outside the universe of the design problem and looking for social, or even political, factors, to help make design decisions. If a problem is completely automatable, then it is "simply" an exercise in nonliner optimization. That is not to say that it is easy or even that there is a unique solution. However, many who have studied "designerly thinking" =believe there is some essential human creative element missing when the problewm can be solved by optimization.

An important result from this view of design theory is that there is always a risk of failure -- the bolder the design, the greater the risk. This is what makes engineering design, including software design, such a challenging, difficult, and worth-while activity.

Philip Sargent
Laser-Scan Ltd.
Cambridge UK
philip.sargent@computer.org