Modeling Software Development Process Complexity

Modeling Software Development Process Complexity

Vyron Damasiotis, Panos Fitsilis, James F. O'Kane
DOI: 10.4018/IJITPM.2018100102
(Individual Articles)
No Current Special Offers


Modern software systems are growing increasingly complex, requiring increased complexity of software and software development process (SDP). Most software complexity measurement approaches focus on software features such as code size, code defects, number of control paths, etc. However, software complexity measurement should not only focus on code features but on features that cover several aspects of SDP in order to have a more complete approach to software complexity. To implement this approach, an extensive literature review for identifying factors that contribute to the complexity of SDP was performed and seventeen complexity factors were identified. As there were indications that the identified factors were not independent from each other but there were interrelations between them, statistical methods for identifying the underlined relations and refining them were applied, resulting to the final set of measures used in the proposed model. Finally, the proposed model has been tested in five software projects and the results were evaluated.
Article Preview

Current Complexity Approaches

Software complexity relates to both software product and to SDP. Several approaches of software complexity have been proposed by researchers according to the domain where they originated from.

Zuse (1990) approached software complexity from a programmer’s psychological perspective and defined it as the difficulty to analyze, maintain, test, design and modify software. Along the same lines, Kushwaha & Mishra (2006) defined software complexity as the degree of difficulty to understand and verify a system or a component. Keshavarz, Modiri, & Pedram, (2011) stated that although there were different approaches for defining software complexity, most of them comply with Zuse’s approach. Ribbers & Schoo (2002) in their research for complex software implementation programs, examined complexity through the prism of implementation complexity and identified three complexity dimensions: variety, variability and integration. Variety is defined as the different states a system can take. Variability of a system is defined as the dynamics of its elements and the interrelations between them. Finally, integration is referred to as the planned changes during the implementation program including IT systems and business processes.

Complete Article List

Search this Journal:
Volume 15: 1 Issue (2024)
Volume 14: 1 Issue (2023)
Volume 13: 4 Issues (2022): 3 Released, 1 Forthcoming
Volume 12: 4 Issues (2021)
Volume 11: 4 Issues (2020)
Volume 10: 4 Issues (2019)
Volume 9: 4 Issues (2018)
Volume 8: 4 Issues (2017)
Volume 7: 4 Issues (2016)
Volume 6: 4 Issues (2015)
Volume 5: 4 Issues (2014)
Volume 4: 4 Issues (2013)
Volume 3: 4 Issues (2012)
Volume 2: 4 Issues (2011)
Volume 1: 4 Issues (2010)
View Complete Journal Contents Listing