Modeling Software Development Process Complexity

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.

[1]  Dane K. Peterson,et al.  The perceptions of information systems designers from the United States, Japan, and Korea on success and failure factors , 2002, Int. J. Inf. Manag..

[2]  Joel Moses,et al.  Measuring Flexibility, Descriptive Complexity, and Rework Potential in Generic System Architectures , 2016, Syst. Eng..

[3]  Dothang Truong,et al.  How Can Agile Methodologies Be Used to Enhance the Success of Information Technology Projects? , 2016, Int. J. Inf. Technol. Proj. Manag..

[4]  Victor Berdonosov,et al.  TRIZ-fractality of computer-aided software engineering systems , 2011 .

[5]  Gary D. Scudder,et al.  Concurrent software development , 2000, CACM.

[6]  E. Da-wei The Software Complexity Model and Metrics for Object-Oriented , 2007, 2007 International Workshop on Anti-Counterfeiting, Security and Identification (ASID).

[7]  Farman Ullah,et al.  Survey: Dealing Non-Functional Requirements at Architecture Level , 2016 .

[8]  Michael A. Cusumano,et al.  Trade-offs between Productivity and Quality in Selecting Software Development Practices , 2003, IEEE Softw..

[9]  An Gie Yong,et al.  A Beginner's Guide to Factor Analysis: Focusing on Exploratory Factor Analysis , 2013 .

[10]  Mehmet N. Aydin,et al.  Project Management Method Adoption: A Service Industry Case Study , 2017, Int. J. Inf. Technol. Proj. Manag..

[11]  Reidar Conradi,et al.  Risks and Risk Management in Software Architecture Evolution: An Industrial Survey , 2008, 2008 15th Asia-Pacific Software Engineering Conference.

[12]  Pieter M. A. Ribbers,et al.  Designing complex software implementation programs , 2002, Proceedings of the 35th Annual Hawaii International Conference on System Sciences.

[13]  Yang Wang,et al.  The Scalability-Efficiency/Maintainability-Portability Trade-Off in Simulation Software Engineering: Examples and a Preliminary Systematic Literature Review , 2016, 2016 Fourth International Workshop on Software Engineering for High Performance Computing in Computational Science and Engineering (SE-HPCCSE).

[14]  Jeffrey S. Poulin,et al.  Measuring software reusability , 1994, Proceedings of 1994 3rd International Conference on Software Reuse.

[15]  Jorge J. Gómez-Sanz,et al.  A framework for the definition of metamodels for Computer-Aided Software Engineering tools , 2010, Inf. Softw. Technol..

[16]  Vivek Singh,et al.  The State of the Art in Software Reliability Prediction: Software Metrics and Fuzzy Logic Perspective , 2016 .

[17]  Liu Hongyan The analysis of project risk management based on AHP , 2010, 2010 2nd IEEE International Conference on Information and Financial Engineering.

[18]  C. Spearman General intelligence Objectively Determined and Measured , 1904 .

[19]  Rodney Turner,et al.  A model of project complexity : distinguishing dimensions of complexity from severity , 2009 .

[20]  Mohammad Zulkernine,et al.  Quantifying Security in Secure Software Development Phases , 2008, 2008 32nd Annual IEEE International Computer Software and Applications Conference.

[21]  R. Cattell The Scree Test For The Number Of Factors. , 1966, Multivariate behavioral research.

[22]  Haralambos Mouratidis,et al.  Multi-agent Systems and Security Requirements Analysis , 2003, SELMAS.

[23]  Anas N. Al-Rabadi,et al.  A comparison of modified reconstructability analysis and Ashenhurst‐Curtis decomposition of Boolean functions , 2004 .

[24]  Terry Williams,et al.  The Need for New Paradigms for Complex Projects , 1999 .

[25]  Phillip A. Laplante,et al.  Software Project Management Tools: Making a Practical Decision Using AHP , 2006, 2006 30th Annual IEEE/NASA Software Engineering Workshop.

[26]  G. Hutcheson The Multivariate Social Scientist , 1999 .

[27]  Mir Mohsen Pedram,et al.  Metric for Early Measurement of Software Complexity , 2011 .

[28]  Ali Athar Khan,et al.  Comparison of Software Complexity Metrics , 2016 .

[29]  Sushil Kumar,et al.  Analytic hierarchy process: An overview of applications , 2006, Eur. J. Oper. Res..

[30]  Deborah H. Stevenson,et al.  IT Project Success: The Evaluation of 142 Success Factors by IT PM Professionals , 2017, Int. J. Inf. Technol. Proj. Manag..

[31]  T. Alhazmi,et al.  Project Procurement System Selection Model , 2000 .

[32]  J. DeCoster Overview of Factor Analysis , 1998 .

[33]  Kamal M. Al‐Subhi Al‐Harbi,et al.  Application of the AHP in project management , 2001 .

[34]  Bill Curtis,et al.  A field study of the software design process for large systems , 1988, CACM.

[35]  Jeffrey C. Carver,et al.  Characterizing software architecture changes: A systematic review , 2010, Inf. Softw. Technol..

[36]  Lior Fink,et al.  Aligning flexibility with uncertainty in software development arrangements through a contractual typology , 2017 .

[37]  Umar A. Altahtooh,et al.  An Introduction to Project End Theory in Project Management , 2017, Int. J. Inf. Technol. Proj. Manag..

[38]  Rajiv D. Banker,et al.  Software complexity and maintainability , 1989, ICIS '89.

[39]  Dane K. Peterson,et al.  A Comparison of the Perceived Importance of Information Systems Development Strategies by Developers from the United States and Korea , 2003, Inf. Resour. Manag. J..

[40]  L. Cronbach Coefficient alpha and the internal structure of tests , 1951 .

[41]  H. Kaiser A second generation little jiffy , 1970 .

[42]  Jürgen Teich,et al.  Hardware/Software Codesign: The Past, the Present, and Predicting the Future , 2012, Proceedings of the IEEE.

[43]  W. Stephenson CORRELATING PERSONS INSTEAD OF TESTS , 1935 .

[44]  Dietmar P. F. Möller,et al.  Systems and Software Engineering , 2016 .

[45]  Alex J. Bowers Analyzing the Longitudinal K-12 Grading Histories of Entire Cohorts of Students: Grades, Data Driven Decision Making, Dropping out and Hierarchical Cluster Analysis. , 2010 .

[46]  Amy S. Beavers,et al.  Practical Considerations for Using Exploratory Factor Analysis in Educational Research. , 2013 .

[47]  Stephen G. MacDonell,et al.  Factors that affect software systems development project outcomes: A survey of research , 2011, CSUR.

[48]  Samaresh Mishra,et al.  Effort Estimation Based on Complexity and Size of Relational Database System , 2010 .

[49]  Robert J. Chapman,et al.  A framework for examining the dimensions and characteristics of complexity inherent within rail megaprojects , 2016 .

[50]  Panos Fitsilis,et al.  Measuring the Complexity of Software Projects , 2009, 2009 WRI World Congress on Computer Science and Information Engineering.

[51]  Jürgen Münch,et al.  Factors Influencing Software Development Productivity - State-of-the-Art and Industrial Experiences , 2009, Adv. Comput..

[52]  Peter Naudé,et al.  An Examination of the Factors Influencing Software Development Effort , 2007 .

[53]  Julia H. Allen Why is Security a Software Issue? 1 , 2007 .

[54]  Jason W. Osborne,et al.  Best practices in exploratory factor analysis: four recommendations for getting the most from your analysis. , 2005 .

[55]  Wei-Chih Wang,et al.  Improving AHP for construction with an adaptive AHP approach (A3) , 2008 .

[56]  Arbi Ghazarian,et al.  A Theory of Software Complexity , 2015, 2015 IEEE/ACM 4th SEMAT Workshop on a General Theory of Software Engineering.

[57]  B. Visser A cognitive interpretation of organizational , 2004 .

[58]  Warren Harrison,et al.  The Role of Programming Language in Estimating Software Development Costs , 1987, J. Manag. Inf. Syst..

[59]  L. Sproull,et al.  Coordinating Expertise in Software Development Teams , 2000 .

[60]  Gül Tekin Temur,et al.  An Assessment for IT Project Maturity Levels , 2017, Int. J. Inf. Technol. Proj. Manag..

[61]  S. Kanmani,et al.  Survey and analysis on Security Requirements Engineering , 2012, Comput. Electr. Eng..

[62]  Jukka Paakki,et al.  Architecture-centric software evolution by software metrics and design patterns , 2002, Proceedings of the Sixth European Conference on Software Maintenance and Reengineering.

[63]  Sajjad Mahmood,et al.  Exploring software security approaches in software development lifecycle: A systematic mapping study , 2017, Comput. Stand. Interfaces.

[64]  LiGuo Huang,et al.  Strategic architectural flexibility , 2003, International Conference on Software Maintenance, 2003. ICSM 2003. Proceedings..

[65]  Nayem Rahman,et al.  Managing an Engineering Project , 2016, Int. J. Inf. Technol. Proj. Manag..

[66]  Ludovic-Alexandre Vidal,et al.  Using a Delphi process and the Analytic Hierarchy Process (AHP) to evaluate the complexity of projects , 2011, Expert Syst. Appl..

[67]  J. Schaffer,et al.  Complexity Cost Management , 2008 .

[68]  Tugrul U. Daim,et al.  Exploring the communication breakdown in global virtual teams , 2012, IEEE Engineering Management Review.

[69]  Timothy R. Anderson,et al.  A Decision Support Model for Project Manager Assignments , 2007, IEEE Transactions on Engineering Management.

[70]  Ashish Sharma,et al.  A Complexity measure based on Requirement Engineering Document , 2010, ArXiv.