Software development presents exceptionally demanding conceptual challenges for model-building. It has such diverse phases, may touch so many disciplines, may address personal and public applications, can involve collaboration of experts from many fields, user participation, and an essential need for ongoing revision. Software modellers must see and think like designers, logicians, engineers, programmers, business analysts, artists, sociologists. This chapter reviews thinking about software development with particular reference to: the limitations of adopting the formal representations that classical computer science commends; different approaches to rationalising the use of models in software development; and the problems of conceptualising software development as theory-building. It concludes by sketching an embryonic approach to software development based on "Empirical Modelling (EM)" that draws on William James's pluralist philosophy of 'radical empiricism', the historian of science David Gooding's account of the role of 'construals' in experimental science, and the sociologist Bruno Latour's vexing notion of 'construction'. The products of EM development are interactive artefacts whose potential meanings are mediated by the patterns of observables, dependencies and agencies that they embody, as elicited by the actions of the participants in the model-building.
- Full text PDF (draft only of Chapter 9 in Ways of Thinking, Ways of Seeing (ed. Chris Bissell and Chris Dillon), Automation, Collaboration, & E-Services Series 1, Springer-Verlag, January 2012) [Erratum: A quotation attributed to Vicenti on p6 should in fact be attributed to Eugene Ferguson.]
- Published online at: http://www.springerlink.com/content/j68w621210222185/