Maintenance and agile development: Challenges, opportunities and future directions

Geir K. Hanssen, Aiko Fallas Yamashita, Reidar Conradi, Leon Moonen
2009 2009 IEEE International Conference on Software Maintenance  
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 addressing software entropy, focusing on the detection of "code smells" and their
more » ... eatment 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.
doi:10.1109/icsm.2009.5306278 dblp:conf/icsm/HanssenYCM09 fatcat:cohz7xbwmjhtjpfgx67rbp2sn4