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.
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
Beck, K.: Extreme Programming Explained – Embrace Change. Addison-Wesley, Reading (2001)
Brant, J., Roberts, D.: Smalltalk Refactoring Browser, http://st-www.cs.uiuc.edu/~brant/RefactoringBrowser
Cinnéide, M.Ó.: Automated Refactoring to Introduce Design Patterns. In: Proceedings of the 22nd International Conference on Software Engineering, Limerick, Ireland (2000)
Crupi, J., Alur, D., Malks, D.: Core J2EE Patterns: Best Practices and Design Strategies. Prentice Hall PTR, Englewood Cliffs (2001)
Eclipse Project, http://www.eclipse.org
Fowler, M.: Refactoring – Improving the Design of Existing Code. Addison-Wesley, Reading (1999)
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)
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)
Kerievsky, J.: Refactoring to Patterns. Addison Wesley, Reading (2004)
Lippert, M.: Refactoring-Plans – Examples and Experiences, http://www.martinlippert.com
Lippert, M., Roock, S., Wolf, H.: Extreme Programming in Action – Experiences from Real-World Projects. Wiley & Sons, Chichester (2002)
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)
Roberts, D., Brant, J.: Tools for Making Impossible Changes, to be published in IEE Proceedings- Software (December 2003)
Suchman, L.: Plans and Situated Actions. The Problem of Human-Machine Communication. Cambridge University Press, Cambridge (1987)
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)
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)
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
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