Glenn Vanderburg gave a talk on at the Ruby Conference in Austin, Texas, August 26-28, 2010 (link).
The title of the talk is „Real Software Engineering“.
Vanderburg argues in this talk that software engineering, which is driven by the scientific method is prone to fail. Software should not be build according to proven mathematical models but rather following practices ‚that work‘ and which are cost effective. However, models are of great importance in software engineering if the code is seen as the model, which guides the making rather than the result from it.
Software engineering is fundamentally different from other kinds of engineering as building models and testing them comes at almost no costs.
There are some similarities of organizational routines in general, which comes with little surprise as building software can be seen as accomplished through organizational routines. Vanderburg discusses the spectrum between „defined“ processes and processes, which are guided by an „empirical process model“. He argues software engineering should focus on empirical process models. This is in line with research on organizational routines, where it has been observed that totally defined processes often leads to suboptimal or even harmful results.
A nice definition of structural engineering:
„Structural engineering is the science and art of designing and making with economy and elegance buildings, bridges, frameworks and other similar structures so that they can safely resist the forces to which they may be subjected“ (Evans, 1982)