Mapping CMMI process areas to agile best practices

Abstract

Dissertation presented as the partial requirement for obtaining a Master's degree in Information Management, specialization in Information Systems and Technologies ManagementTo maintain competitiveness, software development companies are pressured to deliver products in less time, without compromising on quality and budget. To meet this demand, companies often adopt Agile software development techniques that enable shorter delivery times through constant smaller deliveries and shorter interactive cycles in software development processes. Although the innovation and the decrease of development time provided by these techniques, companies have perceived that quality is a differentiated factor and feel the urge to maintain the quality of their software to stand out from the competitors. At this point CMMI is presented as a reference model that contains a set of practices which lead to the maturity of organizations with focus on the improvement of organization processes and reduction of processes risk of failure increasing quality. In contrast with Agile, that puts individuals and their interactions in higher importance than processes and tools and where being adaptable to changes is more important than following strictly what was planned, CMMI it is a strict traditional approach that implies extensive formalism and focus on the processes. Derived of those apparent opposite beliefs, Agile development methods and CMMI best practices are frequently perceived to be at odds with each other. There is a great discussion about CMMI ability to be Agile and Agile methods to adapt to CMMI requirements without losing agility. This study aims to map CMMI for development process areas to Agile best practices to help in the understanding of the compatibilities and incompatibilities regarding the integration of CMMI and Agile. That will guide companies into the successful integration of Agile and maturity models together taking full advantage of their capabilities leading to enhanced software development. With the integration of those two approaches it is expected that Agile practices can help mature organizations to become more flexible, and CMMI could help Agile organizations to increase processes quality, fulfilling their goals and having their competitiveness sustained

    Similar works