Achieving Both Organizational Stability and Product Agility
- CIOs and IT Leaders can leverage the best of industry-recognized IT models and methods to optimize organizational capability and performance results.
- Large IT organizations can propagate an organizational process culture while allowing and encouraging flexibility of product teams to enhance time to market.
- Transparency, collaboration, capability, value, and results are the focus of both CMMI and Agile.
- The Quality Assurance function, traditionally only recognized as “auditor,” can add value by serving as process coach and improvement advocate.
by Pam Schoppert
Director, Quality Programs
When you hear “two great things that go great together,” you may think of coffee and cookies, strawberries and cream, or chocolate and anything. But what about Agile and CMMI? Citizant has championed the benefits of merging industry-recognized models and methods since undertaking one of the first multi-model Capability Maturity Model Integration (CMMI) appraisals in 2011. This white paper continues that legacy, as we share our experience in marrying the best of Citizant’s Agile software development practices with in-depth CMMI Maturity Level 3 expertise.
Successful adoption and implementation of Agile methods requires discipline, organizational maturity, role clarity, and timely execution across a continuum of product development tasks. The use of Agile methods has not eliminated – but rather augmented – the need for robust systems engineering processes and IT organizational maturity. At the project level, CMMI focuses on what projects do, not on which development methodology is used, while Agile focuses on how projects develop products. CMMI and Agile are mutually supportive, complementary, and compatible.
CMMI provides the systems engineering practices that enable the successful use of Agile methods on larger projects, and provides the process management and support practices that help deploy, sustain, and continuously improve the deployment of an Agile approach in any organization. Certain Agile practices like re-factoring often don’t scale well when multiple development teams must cooperate on the same product. Other Agile practices, such as release planning, test planning, and continuous integration, must also be carefully scaled to overcome alignment and coordination challenges on complex, multi-team projects. The Engineering, Risk Management, and Integrated Project Management process areas of CMMI provide a robust, proven framework for overcoming these challenges and mitigating risk on larger Agile efforts. Furthermore, Agile methods generally lack practices and guidance for implementing and supporting an Agile approach across the organization. Large-scale adoption of Agile practices will continue to be challenged without an organizational context that supports process definition, measurement, feedback, training, and improvement – key benefits inherent in CMMI adoption and continuous process improvement practices.
CMMI and Agile: Distinct, Not Mutually Exclusive
Why CMMI? The CMMI Institute is the global leader in providing tools and support for organizations to identify, strengthen, and benchmark their capabilities. The CMMI Product Suite provides defined, scalable capability maturity models that ensure companies build quality into their end products. Over 10,000 high-performing organizations in federal, aerospace, defense, transportation, healthcare, and finance sectors maintain a CMMI maturity level rating attesting to their ability to deliver effectively. Citizant has recognized several valuable characteristics from CMMI, including:
- CMMI is lifecycle agnostic and easily adaptable to varying development and service delivery methods, tools, and environments.
- CMMI builds capability through standard processes that help organizations react to market developments and implement change more quickly.
- CMMI uniquely provides a flexible appraisal methodology for assessing process performance and identifying improvement opportunities.
The Rise of Agile! Software development teams and customers in all industries are reaping the benefits of Agile practices to deliver quality products more quickly and more often. Citizant has realized a number of key benefits by adopting and using our own internal Agile framework:
- Agile enhances business and IT alignment. When employees collaborate, they share a greater understanding of business needs and can estimate resource requirements more efficiently.
- Agile enhances product quality by engaging business customers during requirements, development, and testing. Agile teams adapt features and user stories early and often to respond to customer needs.
- Agile improves visibility by identifying cross-functional dependencies earlier in the lifecycle. This provides an improved ability to mitigate risks earlier and thwart delays.
Being Agile in a large IT organization means being flexible enough to quickly adapt backlog priorities to respond to the needs of the business owner. At the same time, CIOs and senior IT leaders require transparency and organizational cohesion, which can be obtained by adopting proven practices across the portfolio.
- Bottoms up: A lean, Agile environment enables cross-functional development teams to collaborate effectively with stakeholders to develop product features more efficiently and with higher quality.
- Top down: An organizational process infrastructure promotes consistency and shared lessons learned, with flexibility to react to changing tools, processes, and methodologies.
CMMI and Agile Alignment
Industry-recognized standards and models are staying aligned with current business needs and trends. As of June 2017, more than 80% of CMMI-appraised organizations have begun using Agile practices. Citizant, as a CMMI Institute Partner, has been instrumental in developing and reviewing enhancements to the CMMI Product Suite. We currently serve on the architecture team for development of CMMI v2.0, which is due out in 2018. With input from industry, government, and academia, the CMMI Institute is breaking the stereotype that model-based improvement is expensive and heavy. The new standard integrates Scrum, Agile, security, and safety guidance, and emphasizes performance results that directly impact business.
The result of combining CMMI and Agile is dual-level efficiency for large, complex
IT organizations: team-level product agility with organizational stability.
At Citizant, we are hyper-focused on quantifiable performance gains when applying quality standards. Whether working as a process improvement expert for a large Federal agency, managing our robust internal process program, or building complex software products for our customers, we expect nothing less than exceptional performance and high quality. During Citizant’s most recent multi-model appraisal of CMMI-DEV and CMMI-SVC Maturity Level 3, the lead appraiser highlighted several of our management and oversight practices as stellar, as well as our approach to integrating tools and methods. In our support of the IRS Application Development (AD) organization, Citizant provides process improvement and appraisal support for the AD portfolio of more than 150 projects. We share the following techniques and tips for aligning and integrating CMMI and Agile.
Move from Heavy Documentation to Tool-Embedded Documentation
CMMI has been viewed historically as documentation heavy. Citizant has identified ways to streamline documentation and thereby save time during both product development and appraisal artifact review. By identifying functional equivalents and in-tool sources of process evidence, we have decreased the documentation requirements on our projects. These cost-saving techniques were utilized by Citizant during the recent IRS external appraisal and provided the opportunity for Agile team staff to demonstrate their stellar processes and products versus artificially preparing artifacts. Reports from collaboration tools such as Rational Team Concert (RTC) provide a wealth of information on the performance and ability of an Agile team.
Agile doesn’t mean eschewing all documentation; instead, it emphasizes documentation that adds value. Embedded, easily maintained documentation is optimal. Organizations can reduce the documentation burden on Agile projects for CMMI appraisals by conducting collaborative demonstrations and building “flagged” artifacts within the development environment.
Shift Your Quality Mentality from Auditing to Advocacy
While the Quality Assurance function should be objective, it doesn’t need to be detached and separate from the team it supports. Agile teams are built to maximize collaboration and transparency between stakeholders. So how and when do you integrate process quality resources into sprint cycles? Citizant’s experience teaches us that the QA function works best as a process coach and change agent for improvements. When involved lightly from sprint planning through to retrospective across multiple teams, Quality can aid both the team and the organization by helping to identify and implement process corrections. Quality becomes a conduit for sharing experiences and lessons learned between teams and creating a central repository of organizational knowledge.
Emphasize Requirements and Regulations Concerning Safety and Security
In the age of digital sabotage, software products must be architected to withstand threats and protect the data they store and transmit. While safety and security testing is an essential aspect of automated security testing in many Agile environments, it has been just one aspect of the CMMI ML3 Validation process area. Now, in response to user community demand, the CMMI Institute’s 2018 model will include two new process areas to address these concerns – another example of the ongoing alignment and intersection between CMMI and Agile.
Leverage Both CMMI and Agile for Next-Generation Development
From the outdated use of software requirement specifications to today’s epics and user stories created using collaborative requirement management tools, the environment in which software is developed has advanced significantly in recent years. As development methodologies continue to evolve, IT leaders require improved visibility across their portfolio to ensure software products are delivered timely and meet the customer’s business needs. Ideally, having a tiered approach that provides both process stability and product agility is good. But having integration of CMMI process stability with Agile development practices is optimal. With the integration of CMMI and Agile practices, IT leaders can gain confidence in managing their portfolio with improved collaboration, transparency, flexibility, and more frequent delivery of high-quality software enhancements. Synergy is realized through cohesion of CMMI as the industry recognized organizational maturity model and Agile as the industry standard for the most efficient software development practices.
Implementing CMMI with Agile (2011, Neil Potter and Mary Sakry): http://ctznt.it/scrum-plus-agile
CMMI and Agile: A Guide to Scrum and CMMI (2016, CMMI Institute): http://ctznt.it/cmmi-and-agile
CMMI Process Maturity Profile Report (2017, CMMI Institute)
CMMI or Agile: Why Not Embrace Both! (2008, CMMI Institute): http://ctznt.it/sei-cmmi-agile-both