Exploring trends and developments
in project management today.
Top 5 Ways to Incorporate CMMI with Agile Methods
2009
There is a common misconception that CMMI and Agile are polar opposites. One relies on institutionalisation and documentation of processes and methodologies, while the other emphasises interaction among workers and "working software over comprehensive documentation" (Agile Manifesto). Process documentation and institutionalisation is the lifeblood of CMMI, and it is often used in critical software development life cycles. On the other hand, the Agile approach is called into action when a project features incremental changes, particularly those that have not been included in initial requirement documents.
There have been criticisms of both, as well: CMMI is used only in security-intensive projects that need massive numbers of workers, layers of procedures, and a rigid development lifecycle. On the other hand, those who implement Agile have been referred to as the undisciplined "hackers" of development projects.
The Software Engineering Institute (SEI) doesn't think that critics are exactly right; in fact, the institute believes the naysayers are no farther from the truth. The success or failure of implementing Agile methodologies has nothing to do with documentation, according to Margaret Kulpa and Kent Johnson, authors of "Interpreting the CMMI: A Process Improvement Approach, Second Edition (2008)." You could write reams of documentation about your processes without necessarily practicing what is on paper.
So where do IT managers find the common ground? The authors offer institutionalisation, which CMMI defines as "the ingrained way of doing business that an organisation follows routinely as part of its corporate culture." In real-world terms, a technology organisation may have a high level of collaboration as part of its corporate DNA, or implement a basic software version every now and again within the lifecycle of a project and adhere to the tenets of CMMI at the same time.
Kulpa and Johnson suggests several ways to institutionalise Agile methods with CMMI through the adoption of generic practices associated with Maturity Levels 2 and 3. Here are a few of the most important, if not the easiest, processes to implement.
1. Establish a Company-wide Policy for Planning and Performing Agile Methods
The first step is to communicate the why and how Agile Methods will be used in the organisation, project, or a subset of the project. Communication could be face-to-face meetings in keeping with Agile Methods. On the other hand, plans for using Agile approaches should be written to make sure that all processes are defined and followed. To be effective, the policy must have basic information that everyone must know to work on a project.
2. Assign Responsibility and Authority for Performing Agile Methods
In order to make sure that the plan is being implemented and policies are followed, the person must be given the authority and the corresponding roles, such as, for example, Product Owner or Scrum Master. Overseeing the application of Agile Methods, while, at the same time, adhering to the discipline of CMMI also means monitoring if processes are being implemented according to the communicated plan. Any deviations from the plan should be corrected.
3. Identify and Involve Relevant Stakeholders as Planned
Agile Methods proactively involves customers to get feedback with each increment or build. However, note that feedback from customers is not the only opinion that must be considered; feedback from other stakeholders, such as higher management, individual team members, or the entire project group itself counts just as well.
4. Review the Status of Agile Methods with Upper-Level Management
Enterprise or project-wide adoption of Agile Methods needs the support of management, and this is possible if they know where it works, or have a clear idea of the issues involved in embracing Agile Methods. The authors recommend providing status data from Scrum Burndown Charts that will help management provide strategies and resources, and resolve any issues or impediments reported by Scrum teams.
5. Train the People Performing Agile Methods
Company-wide acceptance and implementation of Agile Methods is easier when it is (a) championed by management, (b) communicated clearly, and (c) appreciated by all parties involved. There are a number of Agile Methods out there, and adoption of any of these methods means consistent training of the people involved through programmed instruction, informal knowledge sharing sessions, mentoring, or formal classroom training.
ExecutiveBrief, the technology management resource for business leaders, offers proven tips, techniques, and action plans that companies can use to better manage people, processes and tools - the keys to improving their business performance. To learn more, please visit: http://www.executivebrief.com ![]()
Related Articles
CMMI and Agile: Opposites Attract
The myths surrounding the compatibility of CMMI and Agile have recently been debunked by SEI. Learn how these seemingly opposing strategies can be paired to foster dramatic improvements in business performance! Despite the perception that CMMI best practices and Agile development methods are at odds with each other, new research suggests just the opposite train of thought. In fact, CMMI and Agile champions can benefit from using both methods within organisations, with the potential to dramatically improve business performance.
Agile Through the Waterfall
Many organisations have adopted Agile practices into their development methodologies and they have proved to be successful for the organisation as a whole. There also are many organisations that have pockets of people who wish to be Agile, but can't get traction within to make it a widely accepted practice throughout the enterprise. I recently had an opportunity to participate in an Open Space session where we explored how organisations that are mainly guided by Waterfall methodologies, unwittingly also employed Agile practices.
Metrics that Matter in Agile Projects
Agile methods need only the most important metrics: the ones that tell the whole story about the project. Metrics measure the health of a project and are by far the most objective ways by which a project manager enables all project sponsors and delivery teams to see where resources are needed or spent, or which areas of a project need more focus. So how do Agile teams determine the most important metrics?
The Four Levels of Project Success: The Project Management Maturity Matrix
Increasingly these days organisations are project based, meaning that the work they do is split into programmes of projects designed to deliver the organisation's strategies and add value. Good management of these projects is essential if the organisation is going to succeed. Equally important to individual project success is ensuring that the right projects are carried out.
21 Ways to Excel at Project Management
The popular project management e-book now fully updated and available as a website for the first time.
