Abstract
Despite the existence of a seemingly continuous stream of new technologies and methods, software productivity remains universally unimpressive. We argue that, as long as industry remains focused on short-term goals, and maintains a technology-centric view of software development, no progress will be made. A clear symptom of this problem is the fact that the metaphors we apply to software development are largely obsolete. Instead of thinking about software as we do about bridges, buildings or hardware components, we should encourage a view of software as a living and evolving entity that is developed and maintained by people. We begin with some assertions that are intended as food for thought. We continue by reviewing what we consider to be some of the key difficulties with software development today. We conclude with a few recommendations for research into software practices that take evolution into account.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Manifesto for agile software development, http://agilemanifesto.org
Beck, K.: Extreme Programming Explained: Embrace Change. Addison Wesley, Reading (2000)
Brooks, F.P.: The Mythical Man-Month. Addison Wesley, Reading (1975)
Brooks, F.P.: No silver bullet. IEEE Computer 20(4), 10–19 (1987)
Cockburn, A.: Characterizing people as non-linear, first-order components in software development. In: 4th International Multiconference on Systemics, Cybernetics, and Informatics, Orlando, FL (1999)
Cockburn, A.: Agile Software Development. Addison Wesley, Reading (2002)
Dahl, O.-J., Dijkstra, E.W., Hoare, C.A.R.: Structured Programming. Academic Press, London (1972)
DeMarco, T., Lister, T.: Peopleware, Productive Projects and Teams, 2nd edn. Dorset House, New York (1999)
Demeyer, S., Ducasse, S., Nierstrasz, O.: Object-Oriented Reengineering Patterns. Morgan Kaufmann, San Francisco (2002)
Fenton, N., Pfleeger, S.L.: Software Metrics: A Rigorous and Practical Approach, 2nd edn. International Thomson Computer Press, London (1996)
Goldberg, A., Rubin, K.S.: Succeeding With Objects: Decision Frameworks for Project Management. Addison Wesley, Reading (1995)
Hall, A.: Seven myths of formal methods. IEEE Software 7(5), 11–19 (1990)
Lehman, M.M., Belady, L.: Program Evolution – Processes of Software Change. London Academic Press, London (1985)
Lientz, B.P., Burton Swanson, E.: Software Maintenance Management. Addison Wesley, Reading (1980)
Love, T.: Object Lessons – Lessons Learned in Object-Oriented Development Projects. SIGS Books, New York (1993)
McIlroy, M.D.: Mass produced software components. In: Naur, P., Randell, B. (eds.) Software Engineering, January 1969, pp. 138–150. NATO Science Committee (1969)
Nierstrasz, O., Tsichritzis, D. (eds.): Object-Oriented Software Composition. Prentice-Hall, Englewood Cliffs (1995)
Paulk, M.C., Weber, C.V., Curtis, B., Chrissis, M.B. (eds.): The Capability Maturity Model: Guidelines for Improving the Software Process. Addison Wesley, Reading (1994)
Schmauch, C.H.: ISO 9000 for Software Developers. ASQC Quality Press (1995)
Steyaert, P., Lucas, C., Mens, K., D’Hondt, T.: Reuse contracts: Managing the evolution of reusable assets. In: Proceedings of OOPSLA 1996 Conference, pp. 268–285. ACM Press, New York (1996)
Szyperski, C.A.: Component Software. Addison Wesley, Reading (1998)
Weinberg, G.M.: The Psychology of Computer Programming. silver anniversary edition, Dorset House, New York (1998)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2004 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Nierstrasz, O. (2004). Software Evolution as the Key to Productivity. In: Wirsing, M., Knapp, A., Balsamo, S. (eds) Radical Innovations of Software and Systems Engineering in the Future. RISSEF 2002. Lecture Notes in Computer Science, vol 2941. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-24626-8_19
Download citation
DOI: https://doi.org/10.1007/978-3-540-24626-8_19
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-21179-2
Online ISBN: 978-3-540-24626-8
eBook Packages: Springer Book Archive