Skip to main content

Software Evolution as the Key to Productivity

  • Conference paper
Radical Innovations of Software and Systems Engineering in the Future (RISSEF 2002)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 2941))

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Manifesto for agile software development, http://agilemanifesto.org

  2. Beck, K.: Extreme Programming Explained: Embrace Change. Addison Wesley, Reading (2000)

    Google Scholar 

  3. Brooks, F.P.: The Mythical Man-Month. Addison Wesley, Reading (1975)

    Google Scholar 

  4. Brooks, F.P.: No silver bullet. IEEE Computer 20(4), 10–19 (1987)

    MathSciNet  Google Scholar 

  5. 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)

    Google Scholar 

  6. Cockburn, A.: Agile Software Development. Addison Wesley, Reading (2002)

    Google Scholar 

  7. Dahl, O.-J., Dijkstra, E.W., Hoare, C.A.R.: Structured Programming. Academic Press, London (1972)

    MATH  Google Scholar 

  8. DeMarco, T., Lister, T.: Peopleware, Productive Projects and Teams, 2nd edn. Dorset House, New York (1999)

    Google Scholar 

  9. Demeyer, S., Ducasse, S., Nierstrasz, O.: Object-Oriented Reengineering Patterns. Morgan Kaufmann, San Francisco (2002)

    Google Scholar 

  10. Fenton, N., Pfleeger, S.L.: Software Metrics: A Rigorous and Practical Approach, 2nd edn. International Thomson Computer Press, London (1996)

    Google Scholar 

  11. Goldberg, A., Rubin, K.S.: Succeeding With Objects: Decision Frameworks for Project Management. Addison Wesley, Reading (1995)

    Google Scholar 

  12. Hall, A.: Seven myths of formal methods. IEEE Software 7(5), 11–19 (1990)

    Article  Google Scholar 

  13. Lehman, M.M., Belady, L.: Program Evolution – Processes of Software Change. London Academic Press, London (1985)

    Google Scholar 

  14. Lientz, B.P., Burton Swanson, E.: Software Maintenance Management. Addison Wesley, Reading (1980)

    Google Scholar 

  15. Love, T.: Object Lessons – Lessons Learned in Object-Oriented Development Projects. SIGS Books, New York (1993)

    Google Scholar 

  16. McIlroy, M.D.: Mass produced software components. In: Naur, P., Randell, B. (eds.) Software Engineering, January 1969, pp. 138–150. NATO Science Committee (1969)

    Google Scholar 

  17. Nierstrasz, O., Tsichritzis, D. (eds.): Object-Oriented Software Composition. Prentice-Hall, Englewood Cliffs (1995)

    MATH  Google Scholar 

  18. 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)

    Google Scholar 

  19. Schmauch, C.H.: ISO 9000 for Software Developers. ASQC Quality Press (1995)

    Google Scholar 

  20. 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)

    Google Scholar 

  21. Szyperski, C.A.: Component Software. Addison Wesley, Reading (1998)

    Google Scholar 

  22. Weinberg, G.M.: The Psychology of Computer Programming. silver anniversary edition, Dorset House, New York (1998)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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

Publish with us

Policies and ethics