Monitoring Evolution of Code Complexity in Agile/Lean Software Development - A Case Study at Two Companies
Paper i proceeding, 2013

One of the distinguishing characteristics of Agile and Lean software development is that software products “grow” with new functionality with relatively small increments. Continuous customer demands of new features and the companies’ abilities to deliver on those demands are the two driving forces behind this kind of software evolution. Despite the numerous benefits there are a number of risks associated with this kind of growth. One of the main risks is the fact that the complexity of the software product grows slowly, but over time reaches scales which makes the product hard to maintain or evolve. The goal of this paper is to present a measurement system for monitoring the growth of complexity and drawing attention when it becomes problematic. The measurement system was developed during a case study at Ericsson and Volvo Group Truck Technology. During the case study we explored the evolution of size, complexity, revisions and number of designers of two large software products from the telecom and automotive domains. The results show that two measures needed to be monitored to keep the complexity development under control - McCabe’s complexity and number of revisions.

software engineering

programming

complexity

Författare

Vard Antinyan

Göteborgs universitet

Miroslaw Staron

Göteborgs universitet

Wilhelm Meding

Chalmers, Data- och informationsteknik

Software Center

Per Österströ

Henric Bergenwall

Johan Wranker

Jörgen Hansson

Anders Henriksson

13th Symposium on Programming Languages and Software Tools, SPLST 2013 - Proceedings

1-15

Ämneskategorier

Data- och informationsvetenskap

ISBN

978-963-306-228-9