The long and winding road: Accidents and tinkering in software standardization

Sergi Valverde

Abstract


Software is based on universal principles but not its development. Relating software to hardware is never automatic or easy. Attempts to optimize software production and drastically reduce their costs (like in hardware) have been very restricted. Instead, highly-skilled and experienced individuals are ultimately responsible for project success. The long and convoluted path towards useful and reliable software is often plagued by idiosyncratic accidents and emergent complexity. It was expected that software standardisation would remove these sources of unwanted diversity by aiming at controllable development processes, universal programming languages, and toolkits of reusable software components. However, limited adoption of development standards suggests that we still do not understand why software is so difficult to produce. Software standardisation has been limited by our poor understanding of humans’ role at the origin of technological diversity.

Keywords


software standards; software development; programming language; complexity; evolution of technology

Full Text: PDF

DOI: https://doi.org/10.7203/metode.11.16112

References


Arthur, W. B. (1994). Increasing returns and path dependence in the economy. Ann Arbor: Michigan University Press. doi: 10.3998/mpub.10029

Basalla, G. (1988). The evolution of technology. Cambridge: Cambridge University Press. doi: 10.1017/CBO9781107049864

Boehm, B. W. (1976). Software engineering. IEEE Transactions on Computers25(12), 1226–1241. doi: 10.1109/TC.1976.1674590

Brooks, F. (1975). The mythical man-month: Essays on software engineering. Boston: Addison-Wesley.

Charette, R. N. (2005, 2 September). Why software fails. IEEE Spectrum. Retrieved from https://spectrum.ieee.org/computing/software/why-software-fails

Ensmenger, N. L. (2010). The computer boys take over. Computers, programmers, and the politics of technical expertise. Cambridge: The MIT Press.

Glass, R. L. (2009). Doubt and software standards. IEEE Software26(5), 104. doi: 10.1109/MS.2009.126

Henning, M. (2008). The rise and fall of CORBA. Communications of the ACM51(8), 52–57. doi: 10.1145/1378704.1378718

McDonald, C. (2010). From art form to engineering discipline? A history of US military software development standards, 1974-1998. IEEE Annals of the History of Computing32(4), 32–47. doi: 10.1109/MAHC.2009.58

Messoudi, A. (2011). Cultural evolution: How Darwinian theory can explain human culture and synthesize the social sciences. Chicago: University of Chicago Press.

Petroski, H. (1992). To engineer is human: The role of failure in successful design. New York: Vintage Books.

Schnaars, S., & Wymbs, C. (2004). On the persistence of lackluster demand: The history of the video telephone. Technological Forecasting and Social Change71(3), 197–216. doi: 10.1016/S0040-1625(02)00410-9

Tassey, G. (1999). Standardization in technology-based markets. Research Policy, 29(4-5), 587–602. doi: 10.1016/S0048-7333(99)00091-8

Valverde, S. (2016). Major transitions in information technology. Philosophical Transactions of the Royal Society B371(1701), 20150450. doi: 10.1098/rstb.2015.0450


Refbacks

  • There are currently no refbacks.