Skip to Main Content
When designing software for evolvability, it is important to understand which particular designs have worked in the past - and which have not. This paper argues that understanding the history of a software innovation is valuable in setting the context for future innovations. There is no formal discipline of software history. While there is an active body of research in information technology (IT) and innovation management, which seeks to understand how to maximize value from IT spending, this research often ignores the meaningful technological underpinnings of such tools. We suggest that the study of design history should be extended to software artifacts. The paper introduces notions like requirements analysis, technology context, and social context to explain how, and why, certain technologies evolved as they did. We apply these concepts to the history of distributed computing protocols. We conclude with observations drawn from this history that suggest designing software for evolvability must consider the history of similar applications in the requirements analysis.
Date of Conference: 1-1 Oct. 2007