Putting the "engineering" into "software engineering"

TitlePutting the "engineering" into "software engineering"
Publication TypeConference Paper
Year of Publication2004
AuthorsKruchten, P.
Conference NameSoftware Engineering Conference, 2004. Proceedings. 2004 Australian
Pagination2 - 8
Keywordsfunction-behaviour-structure framework, iterative development, model-driven design, software development, software engineering

Is software development really a form of engineering? Or is it just some kind of elaborate craftsmanship? Are we just fooling ourselves thinking that we are doing engineering? If so, it is certainly not from lack of trying hard over the last 20 years. But may be we tackled the problem from the wrong end: we tried to impose techniques from other engineering disciplines onto software development models without understanding the real nature of software. We analyze the similarities and the differences, and pinpoints the key discriminants (lack of fundamental laws, technology churn, no manufacturing stage) that make software endeavours somewhat different than, for example, those in civil or mechanical engineering. We look at a few recent developments that help fill the gaps: iterative development and model-driven design. And we use Frank Gero's function-behaviour-structure framework to help us contrast software engineering with other engineering disciplines.


a place of mind, The University of British Columbia

Electrical and Computer Engineering
2332 Main Mall
Vancouver, BC Canada V6T 1Z4
Tel +1.604.822.2872
Fax +1.604.822.5949

Emergency Procedures | Accessibility | Contact UBC | © Copyright 2021 The University of British Columbia