Towards a Framework for Improving Software Development Process Mediated with CMMI Goals and Agile Practices

Problems in software development mainly spring from the difficulty of establishing and stabilizing the requirements, the changeability of the software and interactive dependency of the software, hardware and human beings. A software development process consists of a set of empirical and ‘best’ practices in software development, together with organization and management that are needed for the software product implementation. Different process models, such as CMMI (Capability Maturity Model Integration), ISO 9001 and ISO 15504, have been developed in the last decade to support the assessment of software development processes. The main process model, examined in this thesis, is CMMI. This model was chosen as the focus of this research because it is a widely-used, beneficial approach for identifying the key weaknesses of a software development process which need immediate attention and improvement. Two of the key challenges of CMMI assessments are 1) overly heavy and time-consuming assessments and 2) the risk that the achievement of CMMI levels forces the developers to use more time writing documents than implementing the software product. The level of interest in the use of agile practices (focusing on practices such as eXtreme Programming and Scrum) has radically increased in software organizations. Practitioners argue that the adoption of agile software development methods can solve the organizational need for a more rapid and flexible software development process, and enable improved communication in changing market situations. A brief analysis of the empirical body of knowledge reveals, however, that there are also several challenges in interactive dependency management and communication between the actors of software development in an agile context.

[1]  Mauri Laitinen,et al.  Process assessment considered wasteful , 1997, CACM.

[2]  Fergal McCaffery,et al.  Adept: A Unified Assessment Method for Small Software Companies , 2007, IEEE Software.

[3]  Khaled El Emam,et al.  Elements of Software Process Assessment & Improvement , 1999 .

[4]  James D. Herbsleb,et al.  Benefits of CMM-Based Software Process Improvement: Initial Results , 1994 .

[5]  Shari Lawrence Pfleeger,et al.  Preliminary Guidelines for Empirical Research in Software Engineering , 2002, IEEE Trans. Software Eng..

[6]  Marvin V. Zelkowitz,et al.  Software process improvement in small organizations: a case study , 2005, IEEE Software.

[7]  J. T. Lochner The Journal of Defense Software Engineering , 1999 .

[8]  Keng Siau,et al.  Agile Modeling, Agile Software Development, and Extreme Programming: The State of Research , 2005, J. Database Manag..

[9]  Barry W. Boehm,et al.  Value-based software engineering: reinventing , 2003, SOEN.

[10]  Christ Vriens Certifying for CMM Level 2 and IS09001 with XP@Scrum , 2003, Proceedings of the Agile Development Conference, 2003. ADC 2003.

[11]  Watts S. Humphrey,et al.  A discipline for software engineering , 2012, Series in software engineering.

[12]  Mark C. Paulk,et al.  Agile Methodologies and Process Discipline , 2002 .

[13]  Aldo Dagnino,et al.  Agile Software Development in Large Organizations , 2004, Computer.

[14]  Barry W. Boehm,et al.  Get Ready for Agile Methods, with Care , 2002, Computer.

[15]  Karlheinz Kautz,et al.  Software process improvement in very small enterprises: does it pay off? , 1998, Softw. Process. Improv. Pract..

[16]  Werner Mellis,et al.  Success factors of organizational change in software process improvement , 1998 .

[17]  Victor R. Basili,et al.  Software development: a paradigm for the future , 1989, [1989] Proceedings of the Thirteenth Annual International Computer Software & Applications Conference.

[18]  Pekka Abrahamsson,et al.  A Comparative Case Study on the Impact of Test-Driven Development on Program Design and Test Coverage , 2007, First International Symposium on Empirical Software Engineering and Measurement (ESEM 2007).

[19]  Richard Moore,et al.  Scrum at a Fortune 500 Manufacturing Company , 2007, Agile 2007 (AGILE 2007).

[20]  Andraž Cej,et al.  Agile software development with Scrum , 2010 .

[21]  Lucas Layman,et al.  Motivations and measurements in an agile case study , 2004, QUTE-SWAP '04.

[22]  Bob Schatz,et al.  Primavera gets agile: a successful transition to agile development , 2005, IEEE Software.

[23]  Barry W. Boehm,et al.  The Agile Methods Fray , 2002, Computer.

[24]  Michael D. Myers,et al.  A Set of Principles for Conducting and Evaluating Interpretive Field Studies in Information Systems , 1999, MIS Q..

[25]  Ken Schwaber,et al.  Agile Project Management with Scrum , 1980 .

[26]  Pekka Abrahamsson,et al.  On-Site Customer in an XP Project: Empirical Results from a Case Study , 2004, EuroSPI.

[27]  Fred D. Davis Perceived Usefulness, Perceived Ease of Use, and User Acceptance of Information Technology , 1989, MIS Q..

[28]  Pekka Abrahamsson,et al.  A multiple case study on the impact of pair programming on product quality , 2005, Proceedings. 27th International Conference on Software Engineering, 2005. ICSE 2005..

[29]  Per Runeson,et al.  Integrating agile software development into stage-gate managed product development , 2006, Empirical Software Engineering.

[30]  Kent L. Beck,et al.  Extreme programming explained - embrace change , 1990 .

[31]  R. Zmud,et al.  Information technology implementation research: a technological diffusion approach , 1990 .

[32]  Pekka Abrahamsson,et al.  Agile methods in European embedded software development organisations: a survey on the actual use and usefulness of Extreme Programming and Scrum , 2008, IET Softw..

[33]  Donald J. Reifer XP and the CMM , 2003, IEEE Softw..

[34]  Mike Cohn,et al.  Introducing an Agile Process to an Organization , 2003, Computer.

[35]  Pekka Abrahamsson,et al.  Agile Software Development Methods: Review and Analysis , 2017, ArXiv.

[36]  Robert G. Fichman,et al.  The Role of Aggregation in the Measurement of IT-Related Organizational Innovation , 2001, MIS Q..

[37]  Patrick Keil,et al.  Agile Methods and CMMI: Compatibility or Conflict? , 2007, e Informatica Softw. Eng. J..

[38]  Jay Packlick,et al.  The Agile Maturity Map A Goal Oriented Approach to Agile Improvement , 2007, Agile 2007 (AGILE 2007).

[39]  Sjaak Brinkkemper,et al.  Method engineering: engineering of information systems development methods and tools , 1996, Inf. Softw. Technol..

[40]  A. Cockburn,et al.  Agile Software Development: The People Factor , 2001, Computer.

[41]  Frank Maurer,et al.  A case study on the impact of scrum on overtime and customer satisfaction , 2005, Agile Development Conference (ADC'05).

[42]  Ita Richardson,et al.  Identification of Software Process Knowledge Management , 2002, Softw. Process. Improv. Pract..

[43]  Barry W. Boehm,et al.  Using Risk to Balance Agile and Plan-Driven Methods , 2003, Computer.

[44]  Dirk S. Hovorka,et al.  Enabling agile adoption practices through network organizations , 2006, Eur. J. Inf. Syst..

[45]  Richard T. Vidgen,et al.  A Paradoxical Perspective on Contradictions in Agile Software Development , 2008, ECIS.

[46]  Kent L. Beck,et al.  Embracing Change with Extreme Programming , 1999, Computer.

[47]  Fergal Mc Caffery,et al.  Adept – A Software Process Appraisal Method for Small to Medium-sized Software Development Organisations , 2006 .

[48]  Kevin Crowston,et al.  The interdisciplinary study of coordination , 1994, CSUR.

[49]  Barry W. Boehm,et al.  Theory-W Software Project Management: Principles and Examples , 1989, IEEE Trans. Software Eng..

[50]  W. W. Royce,et al.  Managing the development of large software systems , 1970 .

[51]  Michael Daskalantonakis,et al.  Achieving higher SEI levels , 1994, IEEE Software.

[52]  James D. Arthur,et al.  A structured approach to adopting agile practices: the agile adoption framework , 2007 .

[53]  Jeff Sutherland,et al.  Agile Can Scale: Inventing and Reinventing SCRUM in Five Companies , 2001 .

[54]  Hareton K. N. Leung,et al.  A process framework for small projects , 2001, Softw. Process. Improv. Pract..

[55]  Barry W. Boehm,et al.  Management challenges to implementing agile processes in traditional development organizations , 2005, IEEE Software.

[56]  Clenio F. Salviano,et al.  Experiences Gained from Applying ISO/IEC 15504 to Small Software Companies in Brazil , 2004 .

[57]  Steven W. Baker Formalizing agility: an agile organization's journey toward CMMI accreditation , 2005, Agile Development Conference (ADC'05).

[58]  Wynne W. Chin,et al.  Understanding frameworks and reviews: a commentary to assist us in moving our field forward by analyzing our past , 2007, DATB.

[59]  Agile Manifesto,et al.  Manifesto for Agile Software Development , 2001 .

[60]  Jerry Drobka,et al.  Piloting XP on four mission-critical projects , 2004, IEEE Software.

[61]  Chris W. Clegg,et al.  Software development: Knowledge-intensive work organizations , 1996, Behav. Inf. Technol..

[62]  Martin Höst,et al.  Introducing an agile process in a software maintenance and evolution organization , 2005, Ninth European Conference on Software Maintenance and Reengineering.

[63]  Hillel Glazer Dispelling the Process Myth: Having a Process Does Not Mean Sacrificing Agility or Creativity , 2001 .

[64]  Kent L. Beck,et al.  Extreme programming explained - embrace change, Second Edition , 2005, The XP series.

[65]  Victor R. Basili,et al.  Iterative and incremental developments. a brief history , 2003, Computer.

[66]  J. Rasmussen,et al.  Introducing XP into Greenfield Projects: lessons learned , 2003 .

[67]  Brian Fitzgerald,et al.  Formalized systems development methodologies: a critical perspective , 1996, Inf. Syst. J..

[68]  Tom Wengraf,et al.  Qualitative Research Interviewing , 2001 .

[69]  Judy Bamberger Essence of the Capability Maturity Model , 1997, Computer.

[70]  Scott W. Ambler,et al.  Agile modeling: effective practices for extreme programming and the unified process , 2002 .

[71]  Brian R. Gaines,et al.  Using Different Communication Media in Requirements Negotiation , 2000, IEEE Softw..

[72]  Jeff Sutherland,et al.  Scrum and CMMI Level 5: The Magic Potion for Code Warriors , 2007, Proceedings of the 41st Annual Hawaii International Conference on System Sciences (HICSS 2008).

[73]  Pekka Abrahamsson,et al.  Achieving CMMI Level 2 with Enhanced Extreme Programming Approach , 2017, PROFES.

[74]  Mikael Lindvall,et al.  An introduction to agile methods , 2004, Adv. Comput..

[75]  Kirsimarja Blomqvist,et al.  Managing distance in a global virtual team: the evolution of trust through technology‐mediated relational communication , 2005 .

[76]  Michael J. Gallivan,et al.  Organizational adoption and assimilation of complex technological innovations: development and application of a new framework , 2001, DATB.

[77]  E. Rogers,et al.  Diffusion of innovations , 1964, Encyclopedia of Sport Management.

[78]  Fergal McCaffery,et al.  An evaluation of CMMI process areas for small- to medium-sized software development organisations , 2005, Softw. Process. Improv. Pract..

[79]  Mark C. Paulk,et al.  Analyzing the Conceptual Relationship Between ISO/IEC 15504 (Software Process Assessment) and the Capability Maturity Model for Software , 1999 .

[80]  David J. Anderson,et al.  Stretching agile to fit CMMI level 3 - the story of creating MSF for CMMI/spl reg/ process improvement at Microsoft corporation , 2005, Agile Development Conference (ADC'05).

[81]  João Batista,et al.  SPI in a very small team: a case with CMM , 2000 .

[82]  W. R. Howard Agile Project Management: Creating Innovative Products , 2010 .

[83]  Watts S. Humphrey,et al.  Software process improvement at Hughes Aircraft , 1991, IEEE Software.

[84]  Tore Dybå,et al.  Empirical studies of agile software development: A systematic review , 2008, Inf. Softw. Technol..

[85]  Sylvie Trudel,et al.  PEM: The small company-dedicated software process quality evaluation method combining CMMISM and ISO/IEC 14598 , 2006, Software Quality Journal.

[86]  Jim Highsmith,et al.  Agile Software Development Ecosystems , 2002 .

[87]  Apurva Jain,et al.  Agile Meets CMMI: Culture Clash or Common Cause? , 2002, XP/Agile Universe.

[88]  Linda Rising,et al.  The Scrum Software Development Process for Small Teams , 2000, IEEE Softw..

[89]  Kevin Crowston,et al.  Coordination and Collective Mind in Software Requirements Development , 1998, IBM Syst. J..

[90]  David J. Anderson Agile Management for Software Engineering: Applying the Theory of Constraints for Business Results , 2003 .

[91]  Muthu Ramachandran A Process Improvement Framework for XP Based SMEs , 2005, XP.

[92]  Kurt Schneider,et al.  Breaking the ice for agile development of embedded software: an industry experience report , 2004, Proceedings. 26th International Conference on Software Engineering.

[93]  Ioannis Stamelos,et al.  Investigating the extreme programming system–An empirical study , 2006, Empirical Software Engineering.

[94]  Ivan Rozman,et al.  Managing the complexity of SPI in small companies , 2000 .

[95]  Herbert Snyder,et al.  Qualitative interviewing: The art of hearing data , 1996 .

[96]  Frank Maurer,et al.  Requirements engineering and agile software development , 2003, WET ICE 2003. Proceedings. Twelfth IEEE International Workshops on Enabling Technologies: Infrastructure for Collaborative Enterprises, 2003..

[97]  Colin Fisher,et al.  Researching and Writing a Dissertation: a guidebook for business students , 2007 .

[98]  Steven W. Baker Formalizing agility, part 2: how an agile organization embraced the CMMI , 2006, AGILE 2006 (AGILE'06).

[99]  Didar Zowghi,et al.  A Maturity Model for the Implementation of Software Process Improvement: an Empirical Study , 2022 .

[100]  Daniela E. Damian,et al.  Essential communication practices for Extreme Programming in a global software development team , 2006, Inf. Softw. Technol..

[101]  Geoff Walsham,et al.  Interpretive case studies in IS research: nature and method , 1995 .

[102]  Brian Fitzgerald,et al.  Customising agile methods to software practices at Intel Shannon , 2006, Eur. J. Inf. Syst..

[103]  F. Guillemette,et al.  Qualitative Research Interviewing , 2003 .

[104]  Peter M. Chisnall,et al.  Questionnaire Design, Interviewing and Attitude Measurement , 1993 .

[105]  Mauri Laitinen,et al.  Surviving a process performance crash , 1998, CACM.

[106]  Manish Agrawal,et al.  Software Effort, Quality, and Cycle Time: A Study of CMM Level 5 Projects , 2007, IEEE Transactions on Software Engineering.

[107]  António Dias de Figueiredo,et al.  SPI in a very small team: a case with CMM , 2000, Softw. Process. Improv. Pract..

[108]  JaatunMartin Gilje,et al.  Agile Software Development , 2002, Comput. Sci. Educ..

[109]  Adam Wojciechowski,et al.  Extreme programming modified: embrace requirements engineering practices , 2002, Proceedings IEEE Joint International Conference on Requirements Engineering.

[110]  Mark C. Paulk,et al.  Extreme Programming from a CMM Perspective , 2001, IEEE Softw..

[111]  Ita Richardson,et al.  Software process matrix: a small company SPI model , 2001, Softw. Process. Improv. Pract..

[112]  Barry W. Boehm,et al.  A spiral model of software development and enhancement , 1986, Computer.

[113]  Jonathan Rasmusson,et al.  Introducing XP into Greenfield Projects: Lessons Learned , 2003, IEEE Softw..

[114]  G. León On the diffusion of software technologies: technological frameworks and adoption profiles , 1996 .

[115]  Pekka Abrahamsson,et al.  The role of commitment in software process improvement , 2002 .