Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1109/ICSE.2007.14acmconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
Article

An Empirical Study of the Evolution of an Agile-Developed Software System

Published: 24 May 2007 Publication History

Abstract

We have analyzed evolution patterns over two and a half years for a system developed using eXtreme Programming. We find that the system shows a smooth pattern of growth overall, that (McCabe) code complexity is low, and that the relative amount of complexity control work (e.g. refactoring) is higher than in other systems we have studied. To interpret these results, we have drawn on qualitative data including the results of an observational study, records of progress and productivity, and comments on our findings from team members.

References

[1]
{1} Boehm, B. and Turner, R., (2003) 'Using risk to balance agile and plan-driven methods', IEEE Computer, 36(6), June: 57-66
[2]
{2} The Agile manifesto, http://www.agilemanifesto.org/
[3]
{3} Boehm B. and Turner R., (2004) 'Balancing agility and discipline: evaluating and integrating agile and plan-driven methods', Proc. ICSE 2004, 23-28 May: 718-719
[4]
{4} Pfleeger, S. (2001), 'Software Engineering - Theory and Practice', 2nd edition, Prentice Hall, Upper Saddle River, NJ, 659 pp.
[5]
{5} Lehman M. M. and Belady L. A. eds. (1985), 'Software evolution - processes of software change', Academic Press, London, 538 pp.
[6]
{6} Bennett K. H. and Rajlich V. T. (2000) 'Software maintenance and evolution: a roadmap", in A. Finkelstein (ed.), The Future of Software Engineering 2000, in conjunction with ICSE 22, June 4-11, Limerick, Ireland, ACM Order Nr. 592000-1: 75-87
[7]
{7} Madhavji N., Fernandez-Ramil J. and Perry D. E. eds (2006) 'Software evolution and feedback - theory and practice', Wiley
[8]
{8} Lehman M. M. (1974) 'Programs, cities, students, limits to growth?', Inaugural Lecture, in Imperial College of Science and Technology Inaugural Lecture Series, v. 9, 1970, 1974: 211-229. Also in 'Programming Methodology', Gries D (ed.), Springer Verlag, 1978: 42-62. Reprinted as Chapter 7 in {Lehman & Belady 1985}
[9]
{9} Parnas D. L. (1994) 'Software aging', Proc. ICSE 16, May 16-21, 1994, Sorrento, Italy: 279-287
[10]
{10} Fowler M., Beck K., Brant J., Opdyke W., Roberts D. (1999) 'Refactoring: improving the design of existing code', Addison-Wesley
[11]
{11} Wernick P. and Hall T. (2004), 'The Impact of Using Pair Programming on System Evolution: a Simulation-Based Study', Proc. ICSM 2004, 11-14 Sept: 422-426.
[12]
{12} Chapin, N. (2004), 'Agile methods' contributions in software evolution', Proc. ICSM 2004, 11-14 Sept: 522-- 522.
[13]
{13} Beck, K. (2000, 2005), 'Extreme Programming explained: embrace change'. San Francisco: Addison-Wesley. 1st ed, 2000, 2nd ed. 2005.
[14]
{14} Capiluppi A. and Ramil J. F. (2004), 'Multi-level empirical studies: an approach focused on open source software', Late Breaking Paper, 10th International Software Metrics Symposium, September 14-16, 2004, Chicago, Illinois, USA, http://swmetrics.org/¿as of Sept. 2004¿
[15]
{15} Kerth, N. (2001), Project Retrospectives: A Handbook for Team Reviews, Dorset House Publishing
[16]
{16} Sharp, H. and Robinson, H. (2004), 'An ethnographic study of XP practices', Empirical Software Engineering, 9(4) 353-375.
[17]
{17} Cockburn A. (2001), 'Agile software development', Addison-Wesley.
[18]
{18} De Rivieres J. and Beaton W., (2006) 'Eclipse platform technical overview', available online at http://www.eclipse.org/articles/Whitepaper-Platform- 3.1/eclipse-platform-whitepaper.html (as of Sept 2006).
[19]
{19} Boehm B. W. (1981) 'Software Engineering Economics', Prentice-Hall, Englewood Cliffs, NJ.
[20]
{20} McCabe T. (1976), 'A complexity measure', IEEE Transactions on Software Engineering, 2(4): 308-320.
[21]
{21} A. Capiluppi and J. F. Ramil (2004), Studying the Evolution of Open Source Systems at Different Levels of Granularity: Two Case Studies, 7th International Workshop on Principles of Software Evolution (IWPSE 2004), 6-7 September 2004, Kyoto, Japan. IEEE Computer Society 2004, ISBN 0-7695-2211-4, pp. 113-118.
[22]
{22} Capiluppi, A., Faria, A. E., and Ramil, J. F. (2005): 'Exploring the relationship between cumulative change and complexity in an Open Source system', Proc. 9th European Conference on Software Maintenance and Reengineering (CSMR 2005), 21-23 March 2005, Manchester, UK, Proceedings: 21-29.
[23]
{23} Smith, N, Capiluppi, A, Fernández-Ramil, J, (2006) 'Agent-based simulation of open source evolution', Journal of Software Process - Improvement and Practice, ProSim 2005 Special Issue, in press.
[24]
{24} Lehman M. M., Perry D. E., Ramil J. F., Turski W. M. and Wernick P. (1997), 'Metrics and Laws of Software Evolution - The Nineties View', Proc. Metrics'97, Albuquerque, NM, 5 - 7 Nov. 1997: 20-32. Also as Chapter 17 in El Eman K. and Madhavji N. H. (eds.), 'Elements of Software Process Assessment and Improvement', IEEE CS Press, Los Alamitos, CA, 1999: 343-368
[25]
{25} Zuse, H. (1991) Software complexity: Measures and methods, Berlin: W. de Gruyter
[26]
{26} McCabe T. J. and Butler C. W. (1989), 'Design complexity measurement and testing', Comm. of the ACM, 32(12): 1415--1425
[27]
{27} Capiluppi, A., Millen, J. and Boldyreff, C. (2006) How outsourcing affects the quality of mission critical software, 13th Working Conference on Reverse Engineering (WCRE 2005), 23-27 October 2006, Benevento, Italy.)
[28]
{28} Dunsmore, A., Roper, M. and Wood, M. (2003) 'Practical code inspection techniques for object-oriented systems: an experimental comparison', IEEE Software, July/August: 21-29

Cited By

View all
  • (2023)Secondary studies on human aspects in software engineeringJournal of Systems and Software10.1016/j.jss.2023.111654200:COnline publication date: 1-Jun-2023
  • (2019)When Agile Means StayingProceedings of the 2019 on Computers and People Research Conference10.1145/3322385.3322387(168-175)Online publication date: 12-Jun-2019
  • (2016)Mining performance regression inducing code changes in evolving softwareProceedings of the 13th International Conference on Mining Software Repositories10.1145/2901739.2901765(25-36)Online publication date: 14-May-2016
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
ICSE '07: Proceedings of the 29th international conference on Software Engineering
May 2007
784 pages
ISBN:0769528287

Sponsors

Publisher

IEEE Computer Society

United States

Publication History

Published: 24 May 2007

Check for updates

Qualifiers

  • Article

Acceptance Rates

Overall Acceptance Rate 276 of 1,856 submissions, 15%

Upcoming Conference

ICSE 2025

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)5
  • Downloads (Last 6 weeks)0
Reflects downloads up to 28 Dec 2024

Other Metrics

Citations

Cited By

View all
  • (2023)Secondary studies on human aspects in software engineeringJournal of Systems and Software10.1016/j.jss.2023.111654200:COnline publication date: 1-Jun-2023
  • (2019)When Agile Means StayingProceedings of the 2019 on Computers and People Research Conference10.1145/3322385.3322387(168-175)Online publication date: 12-Jun-2019
  • (2016)Mining performance regression inducing code changes in evolving softwareProceedings of the 13th International Conference on Mining Software Repositories10.1145/2901739.2901765(25-36)Online publication date: 14-May-2016
  • (2014)Software engineering for 'social good': integrating action research, participatory design, and agile developmentCompanion Proceedings of the 36th International Conference on Software Engineering10.1145/2591062.2591121(520-523)Online publication date: 31-May-2014
  • (2012)Research challenges on engineering service-oriented applicationsProceedings of the First International Workshop on European Software Services and Systems Research: Results and Challenges10.5555/2666742.2666747(14-20)Online publication date: 5-Jun-2012
  • (2012)Supporting Agile Organizations with a Decision Guidance Query LanguageJournal of Management Information Systems10.2753/MIS0742-122228040328:4(39-68)Online publication date: 1-Apr-2012
  • (2011)User Acceptance of Agile Information SystemsJournal of Management Information Systems10.2753/MIS0742-122228010828:1(235-272)Online publication date: 1-Jul-2011
  • (2011)Evolution of developer collaboration on the jazz platformProceedings of the 4th India Software Engineering Conference10.1145/1953355.1953359(21-30)Online publication date: 24-Feb-2011
  • (2010)Software evolution in agile developmentProceedings of the ACM international conference companion on Object oriented programming systems languages and applications companion10.1145/1869542.1869560(105-114)Online publication date: 17-Oct-2010
  • (2009)Early development of graphical user interface (GUI) in agile methodologiesJournal of Computational Methods in Sciences and Engineering10.5555/1609810.16098219:1,2S2(239-249)Online publication date: 1-Apr-2009
  • Show More Cited By

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media