Skip to main content

Towards a Proper Integration of Large Refactorings in Agile Software Development

  • Conference paper

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

Abstract

Refactoring is a key element of many agile software development methods. While most developers associate small design changes with the term refactoring (as described by Martin Fowler and William F. Opdyke), everyday development practice in medium- to large-sized projects calls for more than fine-grained refactorings. Such projects involve more complex refactorings, running for several hours or days and sometimes consisting of a huge number of steps. This paper discusses the problems posed by large refactorings and presents an approach that allows agile teams to integrate large refactorings into their daily work.

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

Buying options

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

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Beck, K.: Extreme Programming Explained – Embrace Change. Addison-Wesley, Reading (2001)

    Google Scholar 

  2. Brant, J., Roberts, D.: Smalltalk Refactoring Browser, http://st-www.cs.uiuc.edu/~brant/RefactoringBrowser

  3. Cinnéide, M.Ó.: Automated Refactoring to Introduce Design Patterns. In: Proceedings of the 22nd International Conference on Software Engineering, Limerick, Ireland (2000)

    Google Scholar 

  4. Crupi, J., Alur, D., Malks, D.: Core J2EE Patterns: Best Practices and Design Strategies. Prentice Hall PTR, Englewood Cliffs (2001)

    Google Scholar 

  5. Eclipse Project, http://www.eclipse.org

  6. Fowler, M.: Refactoring – Improving the Design of Existing Code. Addison-Wesley, Reading (1999)

    Google Scholar 

  7. Freese, T.: Inline Method Considered Helpful: An Approach to Interface Evolution. In: Marchesi, M., Succi, G. (eds.) XP 2003. LNCS, vol. 2675, pp. 271–278. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

  8. Freese, T.: Software Configuration Management for Test-Driven Development. In: Marchesi, M., Succi, G. (eds.) XP 2003. LNCS, vol. 2675, pp. 431–432. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

  9. Kerievsky, J.: Refactoring to Patterns. Addison Wesley, Reading (2004)

    Google Scholar 

  10. Lippert, M.: Refactoring-Plans – Examples and Experiences, http://www.martinlippert.com

  11. Lippert, M., Roock, S., Wolf, H.: Extreme Programming in Action – Experiences from Real-World Projects. Wiley & Sons, Chichester (2002)

    Google Scholar 

  12. Opdyke, W.F.: Refactoring Object-Oriented Frameworks. PhD thesis, University of Illinois at Urbana-Champaign, Dept. of Computer Science. Tech. Report UIUCDCS-R-92-1759 (1992)

    Google Scholar 

  13. Roberts, D., Brant, J.: Tools for Making Impossible Changes, to be published in IEE Proceedings- Software (December 2003)

    Google Scholar 

  14. Suchman, L.: Plans and Situated Actions. The Problem of Human-Machine Communication. Cambridge University Press, Cambridge (1987)

    Google Scholar 

  15. Wulf, M., Gryczan, G., Züllighoven, H.: Process Patterns - Supporting Cooperative Work in the Tools & Materials Approach. In: Dahlbom, B., et al. (eds.) Information Systems Research Seminar In Scandinavia: IRIS 19; proceedings, Lökeberg, Sweden, August 10-13. Gothenburg: Studies in Informatics, Report 8, pp. 445–460 (1996)

    Google Scholar 

  16. Zannier, C., Maurer, F.: Tool Support for Complex Refactoring to Design Patterns. In: Marchesi, M., Succi, G. (eds.) XP 2003. LNCS, vol. 2675, pp. 123–130. Springer, Heidelberg (2003)

    Chapter  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

Lippert, M. (2004). Towards a Proper Integration of Large Refactorings in Agile Software Development. In: Eckstein, J., Baumeister, H. (eds) Extreme Programming and Agile Processes in Software Engineering. XP 2004. Lecture Notes in Computer Science, vol 3092. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-24853-8_13

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-24853-8_13

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-22137-1

  • Online ISBN: 978-3-540-24853-8

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics