Add new comment
I 've been asked these questions several times: Are Agile and CMMI compatible? Is it possible to implement Tuleap both for agile and more rigorous methods? The answer is yes for two reasons:
- first because Agile and CMMI can coexist within a company
- second because Tuleap is highly configurable and can suit exactly the process you want to follow. You can tailor all the Suite tools, by project, so that each team has an adapted workspace.
As I was beggining a post explaing the possible coexistence of Agility and CMMI, I chanced upon this article and I think it is a good sum up of what I wanted to say.
Here it is:
With the increased adoption of Agile methodologies, organizations that have invested in CMMI process improvement are asking how they can combine the rigor of their existing repeatable processes with the benefits that Agile practices deliver. Can a team of agile developers that embrace change, have a short-term view, and are focused on eliminating the immediate barriers to success effectively work in an environment with well established and repeatable processes that require documentation, discipline and rigor? Are CMMI approaches compatible with Agile practices?
The answer is "yes but.... " While CMMI and Agile appear to be trends at cross-purposes, there are areas where both can co-exist and lead to further improvements in the overall quality and speed-to-market of the software they deliver. Agile seems unstructured, but it relies on a high degree of internal discipline and process to ensure high development velocity & quality. By exposing the internal discipline/process through lightweight documentation in key areas of the CMMI framework, Agile development can be brought into the CMMI fold.
In some of the key CMMI software development practice areas, specific tools and techniques can provide visibility in the consistency and effectiveness of the internal Agile delivery processes:
- Software Project Planning. Group stories into waves of functionality. These serve interim checkpoints, providing clear targets to the development team and good indicator of the team’s progress. For a large client we used wave planning to group functionality based on common features to assist in scheduling dependencies on external systems as well as manage development capacity. The short nature of the waves gave the team full visibility into potential risks and the ability to quickly course correct.
- Software Project Tracking and Oversight. Leverage Agile project management tools, such as Mingle, or XPlanner, to function as “information radiators” exposing to a broader audience the wealth of information on project status, risks and issues and decision-tracking that agile software management techniques such as SCRUM provide. This information can be compiled into status reports that are easily understandable to audiences that don’t speak Agile while remaining true to Agile processes and concepts.
- Requirements Management. Utilize the story-level documentation to support the documentary evidence requirements of CMMI. Most Agile management tools facilitate story based development, linking the requirements to design, build and test efforts at the story level as well as linking requirements to other project management and tracking needs such as bug tracking and source control. Usage of these tools enables full traceability and minimizes the amount of manual documentation effort required.
- Software Quality Assurance. Ensure test-driven development and continuous integration are part of the delivery process. These are key elements of the Agile approach and contribute to making quality one of the strongest aspects of Agile software development methodologies. Modern continuous integration tools provide visual cues and vital reporting capabilities to ensure the quality and repeatability of the development and QA processes, supporting with CMMI compliance.
While Agile and CMMI can coexist, there are limits. Agile practices can normally function with CMMI levels 1 to 3 but are usually incompatible with the higher maturity levels 4 and 5. At CMMI levels 4 and 5, the intrusion of documentation into the development process over-formalizes Agile’s internal discipline and Agile ceases to be agile.
Nonetheless, Agile can be successfully implemented in CMMI environments. With some planning and forethought, it is possible to get the speed-to-market benefits of Agile, while ensuring the consistency and effectiveness of the software development processes through the CMMI framework.
Thanks to http://www.ciodashboard.com for this post.