|Authors||G. K. Hanssen, A. F. Yamashita, R. Conradi and L. Moonen|
|Title||Maintenance and Agile Development: Challenges, Opportunities and Future Directions|
|Afilliation||Software Engineering, Software Engineering|
|Publication Type||Proceedings, refereed|
|Year of Publication||2009|
|Conference Name||25th IEEE International Conference on Software Maintenance (ICSM)|
|Date Published||March 2009|
Software entropy is a phenomenon where repeated changes gradually degrade the structure of the system, making it hard to understand and maintain. This phenomenon imposes challenges for organizations that have moved to agile methods from other processes, despite agile's focus on adaptability and responsiveness to change. We have investigated this issue through an industrial case study, and reviewed the literature on addressing software entropy, focussing on the detection of “code smells” and their treatment by refactoring. We found that in order to remain agile despite of software entropy, developers need better support for understanding, planning and testing the impact of changes. However, it is exactly work on refactoring decision support and task complexity analysis that is lacking in literature. Based on our findings, we discuss strategies for dealing with entropy in this context and present avenues for future research.