CMMI
The definitive guide to the Capability Maturity Model Integration (CMMI) for Development is published by the Software Engineering Institute as "CMMI: Guidelines for Process Integration and Product Improvement." This book specifically describes the CMMI for Development (CMMI-DEV) version 1.3, which is one of the models within the CMMI product suite. You may also find "CMMI Distilled: A Practical Introduction to Integrated Process Improvement" to be a useful and accessible book about CMMI.
The CMMI began in 1987 as the Capability Maturity Model (CMM), a project at the Software Engineering Institute (SEI). SEI is a research center at Carnegie-Mellon University, which was established and funded by the United States Department of Defense. First published in 1991, the CMM for Software began as a checklist of critical success factors. The model also built upon research at International Business Machines (IBM) Corporation and 20th-century quality assurance leaders such as Philip Crosby and W. Edwards Deming. Both the name, Capability Maturity Model, and the Staged Representation five levels were inspired by Crosby's Manufacturing Maturity Model. Applied mainly to defense programs, CMM achieved considerable adoption and underwent several revisions. Its success led to the development of CMMs for a variety of subjects beyond software. The proliferation of new models was confusing. In response, the government funded a two-year project to create a single, extensible framework that integrated systems engineering, software engineering, and product development. This effort involved more than 200 industry and academic experts. The result was CMMI.
CMMI-DEV is a model. It isn't a process, nor a prescription to be followed. Instead, CMMI-DEV provides a set of organizational behaviors that have proven to be of use in software development and systems engineering. Why use such a model? What is its purpose? And how best should it be used? These critical questions are perhaps the most misunderstood issues with CMMI.
Why Use a Model:
Improvement efforts require a model of how your organization works, which functions they need, and how those functions interact. A model gives you an understanding of organizational elements and assists in discussions of how and what can and should be improved.
A model offers the following benefits:
Provides a common framework and language to help communicate
Leverages years of experience
Helps users consider the large picture while focusing on improvement
Is often supported by trainers and consultants
Can help solve disagreements by providing agreed-upon standards
What is the Purpose of the Model:
The purpose of the CMMI model is to assess the maturity of an organization's processes and to provide guidance on improving processes, with a goal of improved products. Also, CMMI is a model for risk management and provide a way to measure an organization's ability to manage risk. The ability to manage risk factors factors into an organizations ability to deliver high-quality products. Another perspective on managing risk is how well an organization will perform under stress. A high maturity, high capability organization can easily respond to unexpected, stressful events. A low maturity and lower capability organization tends to panic under stress, blindly follow obviated procedures, or throw out all process altogether and retrench back to chaos.
The CMMI, however, isn't a proven indicator of the economic performance of an organization. Although higher maturity organizations may manage risk better and be more predictable, evidence exists that higher maturity firms tend to be risk-averse. Risk aversion can lead to a lack of innovation or evidence of greater bureaucracy that results in long lead times and a lack of competitiveness. Lower maturity firms tend to be more innovative and creative but chaotic and unpredictable. When results are achieved, they are often the result of heroic effort by individuals or managers.
What is the Best Way to Use the Model
The model was designed to be used as the basis for a process improvement initiative, with its use in assessment only a support system for measuring improvement. There has been mixed success with this usage. It is all too easy to mistake the model for a process definition and try to follow it, instead of a map that identifies gaps in existing processes that may need to be filled. The fundamental building block of CMMI is a process area that defines goals and several activities that are often used to meet them. One example of a process area is Process and Product Quality Assurance. Another is Configuration Management. It is important to understand that a process area is not a process. A single process may cross multiple process areas, and an individual process area may involve multiple processes.
The CMMI-DEV is really two models that share the same underlying elements. The first and most familiar is the Staged Representation, which presents the 22 process areas mapped into one of five organizational maturity levels. An appraisal of an organization would assess the level at which it was operating, and this level would be an indicator of its ability to manage risk and, as, deliver on its promises.
Levels 4 and 5 are often referred to as higher maturity levels. There is often a clear difference between higher maturity organizations, which demonstrate the quantitative management and optimizing behaviors, and lower maturity organizations, which are merely managed or following defined processes. Higher maturity organizations show lower variability in processes and often use leading indicators as part of a statistically defensible management method. As a result, higher maturity organizations tend to be both more predictable and faster at responding to new information, assuming that other bureaucracy doesn't get in the way. Where low maturity organizations tend to demonstrate heroic effort, high maturity organizations may blindly follow processes when under stress and fail to recognize that a process change may be a more appropriate response.
The Continuous Representation models process capability within each of the process areas individually, which allows the organization to tailor their improvement efforts to the processes that offer the highest business value. This representation is more in line with Crosby's original model. Appraisals against this model result in profiles of capability rather than a single number. Because the organizational maturity level is the level that most managers and executives understand, there are ways of mapping the results of a continuous model assessment into the five stages.
Using the staged model as a basis for a process improvement program can be dangerous when implementers forget that the CMMI isn't a process nor a workflow model. Instead, the CMMI is designed to provide goals for process and workflow to achieve. Meeting such goals will improve the maturity of the organization and the likelihood that events unfold as planned. Perhaps the biggest failure mode is making achieving a level the goal and then creating processes and infrastructure simply to pass the appraisal. The goal of any process improvement activity should be measurable improvement, not a number.
The Continuous model has enjoyed success as a guide to process improvement. Some consulting firms choose only to offer guidance around the Continuous model. The most obvious difference is that a process improvement program that is designed around the Continuous model doesn't have artificial goals that are determined by maturity levels. The Continuous model also lends itself to applying process improvement in areas where it is most likely to leverage an economic benefit for the organization. Therefore, those who follow the Continuous model are more likely to receive positive feedback from an initiative that is based on the CMMI model. Moreover, positive feedback is more likely to lead to the development of a virtuous cycle of improvements.
Each process area is made up of required, expected, and informative components. Only the required components are actually required to satisfy an appraisal against the model. The required components are the specific and generic goals for each process area. The expected components are the specific and generic practices for each specific or generic goal. Note that, because an expected component is merely expected and not required, this indicates that a specific or generic practice can be replaced by an equivalent practice. The expected practices are there to guide implementers and appraisers. If an alternative practice is chosen, it will be up to the implementer to advise an appraiser and justify why an alternative practice is appropriate. Informative components provide details that help implementers get started with a process improvement initiative that is guided by the CMMI model.
Business Application of CMMI
BUSINESS APPLICATION OF CMMI
The CMMI model is a tool that many organizations have used as part of a long-term business strategy. A number of success stories have been documented3 These first principles of CMMI adoption, and the potential impact of not recognizing these principles, are summarized in the following table: to support this approach. Characteristics of success include improvements in cost and schedule performance, quality, productivity, and customer satisfaction. However, many other organizations have faltered in their use of CMMI, resulting in costs invested without significant return or, in some cases, reduced overall performance. Since its initial publication in 2001, some first principles have emerged from observing organizations that experienced success using CMMI
Most business strategies either directly or indirectly require improved performance. Reducing time to market, increasing quality, reducing cost, raising customer satisfaction, expanding capability . . . all involve improved execution to increase profit and market share and surpass the competition. The CMMI is an instrument built to support these business goals. Integrating the CMMI with other process improvement techniques such as Lean, Six Sigma, ISO, and Agile can create a powerful toolkit in an organizational business strategy. All successful process improvement programs require a purpose with prioritization of process improvements where needs are the greatest. As such, the CMMI must fit into a business strategy.
Declaring a CMMI maturity level to be a business objective is misleading and obscures the real intent. It is the implementation of practices within the maturity level that can improve business performance. Unfortunately, many organizations have focused on achievement of a CMMI maturity level as a primary business goal. Such an approach moves the CMMI from a means to achieve an end, to the end goal itself. This approach has led many organizations to spend considerable resources developing processes that are cumbersome or inefficient, do not reflect the business context of implementation, and lack meaning to those who are required to execute them. They exist only because “the CMMI said we had to do this.” Consideration of organizational or project performance improvement needs is either done in an ad hoc manner, or is not considered at all. The resulting organizational standard process, although compliant with the CMMI, may not reflect the actual processes performed on projects, and is likely to be of little value to the organization or organization’s projects. The “new CMMI processes” will very likely lead to longer development times and cost more than they otherwise should have if processes were aligned with performance, or existing processes were codified and more widely adopted. Processes, and verification of compliance to them, can become more of a burden than a benefit if the focus on effective results is lost. Use of these standard processes is likely to be resisted by much of the organization, leading to a lower morale and disenchantment with the overall improvement effort. It is also possible to actually decrease the performance of projects, and the organization, by going about improvement in this manner. Effective implementation is achieved by asking how CMMI or achieving a maturity level can help the organization achieve its business goals.
• What processes in an organization need improvement?
• What systemic issues drive excessive rework?
• Are projects not achieving cost and schedule targets?
• Are plans unrealistic?
• Are customers reporting defects in delivered products?
• Are changes to work products not adequately managed?
• Are requirements changes leading to cost overruns and delayed product deliveries?
• Where are the bottlenecks and waste in the value stream?
The practices in the CMMI are meant to address these types of issues and more. The CMMI models contain best practices for project management, developing products and services, acquisition, service delivery, process management and support areas such as configuration management, quality, and measurements. Aligning the CMMI best practices where they best serve defined business goals and strategy is the key to successful, cost-efficient business improvement.
More information is available at: https://resources.sei.cmu.edu/asset_files/WhitePaper/2009_019_001_28988.pdf
Which CMMI Model Is for You?
Which CMMI Model Is for You?
Do you wonder how to improve your business? The answer can be found in CMMI models. These models define practices that businesses have implemented on their way to success. Practices cover topics that include collecting and managing requirements, formal decision making, measuring performance, planning work, handling risks, and more.
Sometimes it’s easy to diagnose a business problem and solve it, but other times the problem or solution is not so obvious. CMMI models enable you to examine practices over a wide range of topics to discover where your organization could improve and where it is doing just fine. Businesses that adopt CMMI experience significant improvements in performance. Many improve their on-time delivery, error detection rates, and accuracy of work estimates. Others reduce overhead rates and increase productivity. Because CMMI covers a wide range of activities and it works hand-in-hand with business objectives, improvements focus on the needs of the business.
More information is available at:
https://resources.sei.cmu.edu/asset_files/WhitePaper/2011_019_001_28815.pdf
Note: Its an old article but still may be relevant for some organizations.
How to Truly Scale Agile Development in the Enterprise—with CMMI
How to Truly Scale Agile Development in the Enterprise—with CMMI
Over the past few years, agile development has transformed from a niche concept to a standard practice adopted by many large companies worldwide. Accelerating software development through small, self-managing teams is now an accepted strategy – and is increasingly seen as a key to innovation and competitiveness. Nearly 90 percent of organizations use agile concepts in development teams to some extent, according to one survey.[i] Today, agile techniques are spreading beyond the realm of software development as companies seek to infuse greater agility into the whole organization and its culture.
Despite agile’s growing popularity, companies continue to run into problems when they try to scale the use of agile software development across the enterprise. While agile can be extremely effective for small, individual, self-managed projects, it’s difficult to coordinate the multiple projects and teams that are needed to build larger, more-complex products and systems. As a result, companies suffer many of the same headaches that they experienced with earlier software development methodologies, such as integration and interface issues, a failure to adequately address all requirements, missed deadlines and quality deficiencies.
So as the use of agile expands, so does the need for complementary best practices that enable companies to overcome these issues. CMMI (Capability Maturity Model Integration) V2.0 provides these best practices, helping organizations build mature processes that control the complexities and risks of applying agile to large developments.
How CMMI V2.0 Helps Agile Scale
CMMI is an integrated set of best practices for improving business performance. Many companies have used CMMI and agile development together for years; a 2017 survey found that 80 percent of companies that use CMMI also use agile. But CMMI V2.0, the newest version, enhances the synergy between the two, adding direct guidance for building scale and resiliency into agile development.
CMMI V2.0 specifically addresses the challenges that companies encounter when trying to scale agile, such as accurately estimating development timescales and resources, integrating the components of a system, and maintaining quality. It also supports a broad range of other processes that can be critical to success, such as managing and delivering services and selecting and managing suppliers. In addition, it is expanding to cover more areas, including security. It focuses not only on improving performance, but on sustaining the habits and processes that ensure enterprises maintain that performance over time. CMMI V2.0 provides these critical advantages while minimizing overhead, because it lets you pick and choose only the practice areas that meet the unique needs of your business.
The comprehensive and holistic reach of CMMI is key to successfully scaling agile development—and it contrasts sharply with other approaches that attempt to support agile at scale. Typically, these methods partially address some of the challenges and completely fail to address others. An example is SAFe (Scaled Agile Framework), which lacks key elements in critical areas such as software quality, design and integration, managing services and suppliers, planning and managing work, managing business resilience, and sustaining performance.
Solving Integration Problems
Let’s take a closer look at some of the ways that CMMI helps organizations successfully apply agile development at scale. Two areas where organizations often run into trouble are project estimation and product integration. CMMI provides robust estimation practices that support the agile approach of building large, complex systems from many small components. It also helps you ensure that you design each component of the system so that it can be integrated with other components later.
At most organizations, multiple teams develop the components of a system in rapid sprints. Large-scale systems may involve many individual sprints, each generating components that must then be integrated. Agile projects often don’t adequately address this at the design and requirements stage, and as a result many software development organizations run into big problems related to the interfaces and integration between components. If you have two development teams conducting agile sprints to produce different components, how do you know those components will integrate at the end of the sprints? If you haven’t defined in advance how components will fit together, you’re building each one in a vacuum.
CMMI provides a robust framework that helps companies define the interfaces and integration needs at the initial requirements and design stages, and then track and test them through the individual sprints across the entire development. Without CMMI, the ability to ensure trouble-free integration depends solely on the team’s experience. Expert developers may have the foresight and expertise to ensure components will integrate down the road – but anyone less experienced may lack that critical knowledge, even if they’re able to quickly crank out good code. The best practices in CMMI essentially elevate the team’s expertise, enabling the team to catch potential problems that it might otherwise miss.
By supporting important but routine project tasks like estimation and integration, CMMI frees developers to focus on what they’re really paid to do – tackle the difficult and interesting challenges of innovating new features. And because CMMI provides a common framework for all development projects, it also makes it much easier to move staff between projects, which increases organizational agility. As one project winds down, CMMI makes it much easier for those developers to pivot to a different project and hit the ground running.
Avoid Agile Chaos with CMMI
Without mature processes for coordinating multiple groups and many individual sprints, attempts to scale agile development can easily lead to chaos. CMMI uniquely provides a comprehensive business performance framework that can be used across the entire organization, so companies can better coordinate projects, integrate complex systems, and deliver higher-quality software faster.
For more information please visit: https://cmmiinstitute.com/resource-files/public/how-to-truly-scale-agile-development-in-the-enterp
Benchmarking That Drives Business Performance
Benchmarking That Drives Business Performance
Today, almost all organizations are under increasing pressure to maximize performance and efficiency to maintain a competitive edge. But “competitive edge” is a comparative issue by definition. So, in today’s highly competitive global business environment, how does your organization actually measure up against its competitors? If you don’t know, where do you start to find out?
Benchmarking has become a widely accepted method for understanding how your organization compares to others, and then using those comparative insights to improve performance and competitiveness. Robert Camp, a key early proponent of benchmarking techniques, neatly captured its essence: The Search for Industry Best Practices that Lead to Superior Performance.
By enabling companies to compare their own processes with best practices within their industry (and across other industries), benchmarking leads to a better understanding of your strengths and weaknesses—and where to improve to achieve the maximum increase in efficiency and competitiveness. For example, if you’re providing services or producing software or hardware, how efficient and effective is your development process or your customer-service operation, compared to industry best practices? In a fast-moving business environment, that information can be critical to determine how well you’re positioned to maintain profitability and respond to new market demands and challenges.
But the primary benefit of benchmarking is in improving performance, not simply knowing how well your practices measure up against others. That requires using the knowledge gained from benchmarking to innovate: to generate ideas for driving measurable improvements in your own business practices.
Many companies have driven innovation by benchmarking within their own industry—or outside their industry, in some cases. Southwest Airlines famously analyzed the processes of car-racing pit crews to gain ideas for improving airplane turn-around time between flights—improving performance and saving millions by doing so. A hospital in India figured out how to bring cataract surgery to the masses, thus restoring the eyesight of many thousands of people, by adopting assembly-line techniques from manufacturing.
Benchmarking is not limited to the private sector: Government agencies have also benchmarked functions such as customer service against other agencies and relevant the private sector companies, to improve customer satisfaction and use resources more efficiently.
How CMMI® V2.0 Enables Benchmarking
Today, organizations have access to a model that facilitates benchmarking and performance optimization in a single platform: Capability Maturity Model Integration (CMMI) V2.0. The CMMI V2.0 platform provides a proven set of global best practices for specific capabilities within an organization. It enables commercial businesses and public-sector organizations to compare their processes against industry best practices in specific operational areas. And it enables organizations to better understand and assess their own practices—an essential prerequisite for learning how to improve them.
Companies of all sizes, as well as government agencies, use CMMI to quickly identify the practices that directly impact key aspects of business performance such as quality, cost and time to market. Then they can use the best practices in the CMMI framework to drive performance improvements. CMMI V2.0 is highly flexible and modular, so businesses—or even small teams within a business—can pick and choose the elements that matter most to them. Companies in fast-moving industries can focus on areas that are essential to maintain a competitive edge. “Every organization has one or more constraints, the trick is you have to focus your priorities on what means the most to the business,” says Ron Lear, Chief Architect of CMMI V2.0. “CMMI gives you that targeting mechanism.”
Pinpoint the Cause of Problems
CMMI gives organizations the tools to understand not just where their performance may be less than optimal, but why, and then it goes one step further by providing guidance on what to do to address that performance. Many organizations track important metrics of business performance, such as quality, time to market or budget performance—but when those metrics fall below expectations, they don’t always have a good understanding of the cause. CMMI V2.0 enables organizations to pin down the reasons. “I often hear from organizations that they’re trying to get better at what they do—they know they can probably do things faster, at less cost, but they’re not sure how,” Lear says. “CMMI provides insights into the processes that determine your time to market, where they need improvement, and where to focus. It removes intuition and augments (or replaces) it with data.”
For example, if a company is delivering software late or over budget, and losing money as a result, it can use the model to examine its development processes, pinpoint areas where they lag industry best practices, and target those areas for improvement. The platform also equips organizations with example activities and work products as well as the knowledge that can help them respond more quickly to new competitors; armed with a comprehensive understanding of its current development processes and capabilities, an organization can more quickly figure out what needs to change in order to adapt to a changing competitive landscape.
Preparing for the Future
In business, change is inevitable. To be prepared for what the future will bring, organizations must be constantly looking for ways to improve performance, efficiency, and competitiveness. Repeatable, consistent benchmarking is a proven method for understanding how your organization measures up, and for gaining new perspectives on how to improve. With CMMI V2.0, organizations have access to a broad set of industry best practices and methods that can be used to benchmark key functions and drive innovations that increase business performance.
CMMI-DEV Implementation Simplified
CMMI-DEV Implementation Simplified
With the advance technology and increase in customer requirements, software organizations pursue to reduce cost and increase productivity by using standards and best practices. The Capability Maturity Model Integration (CMMI) is a software process improvement model that enhances productivity and reduces time and cost of running projects. As a reference model, CMMI does not specify systemic steps of how to implement the model practices, leaving a room for organization development approaches. Small organizations with low budgets and those who are not looking for CMMI appraisals cannot cope with the high price of CMMI implementation. However, they need to manage the risk of CMMI implementation under their administration. Therefore, this paper proposes a simplified plan using the spiral model to implement the CMMI to reach level 2. The objective is to make the implementation more straightforward to implement and fit CMMI specification without hiring external experts. Compared to related implementation frameworks, the proposed model is deemed competitive and applicable under organizations’ conditions.
For more information please refer to: https://thesai.org/Downloads/Volume10No4/Paper_55-CMMI_DEV_Implementation_Simplified.pdf
Reaching CMMI Engineering Practices With DevOps
Reaching CMMI Engineering Practices With DevOps
Many believe that the only use for DevOps is to help implement engineering practices such as product integration and technical solutions. But DevOps can be a strategy to help organizations implement processes more efficiently. It can also improve verification, validation and more, which helps better measure the automation of processes, increasing quality and reducing costs.
Organizations have also observed significant quantitative results related to quality and performance objectives, and qualitative results related to the implementation of a process that adheres to CMMI.
We have completed real-life implementations of high maturity processes in CMMI Maturity Level 5 organizations using DevOps practice. The outcomes can be helpful for organizations trying to reach high maturity status and for organizations that are starting their CMMI implementation initiative. DevOps offers benefits such as gains in productivity and quality, and reduced rework, regardless of CMMI maturity level
Reinforce the “Why”
With a DevOps mindset you can ask teams to improve toward perfection and base these improvements in metrics and best practices. Coaching and training the “why” of each step is critical. This will accelerate the implementation and gains.
Teams need to understand what they are doing when you automate processes and when you configure tools. When they understand what is happening and what best practice is being implemented, they will understand, correctly configure and better select the tool that best suits the processes and context within the organization.
It is important to implement changes toward excellence and focus on metrics. Teams must know that they are going to get improvements such as better codes. When teams understand what they are doing, they will suggest more ideas and feel like they own the process. This can create a positive work environment and provide your employees with a better quality of life.
Tips to Improve the Process
Make sure you don’t start with a critical project. With a critical project, failure is not an option, so it's important when beginning a deployment of DevOps to obtain buy-in and the acknowledgement that there might be missteps. Learn from these missteps and continually improve.
Start small and understand that implementing DevOps is not a project, it’s a journey. It is not an easy task. An important aspect is to change the culture and the teams’ mindsets to focus on automation.
Begin by automating simple things like unit test and then move to integration tests, functional tests and regression tests. It is important to think the better tests strategy for your project/product at the beginning of each Sprint, such as: what kind of tests will be automated or manual. Then think about continuous integration and possibly continuous deployment. The journey of implementing automation based on DevOps practice takes several steps and doesn’t have a specific end.
Restrictions faced by the organization are a consideration because sometimes it is not possible to implement continuous deployment, for example, because of laws. It is important to observe these restrictions and work in small steps to accomplish process improvement.
Another aspect that accelerates a team's performance is a paradigm shift from document-based implementation to tool-based implementation. When organizations start implementing DevOps practice, they focus more on tools, which can bring value to the whole process. Beyond creating documents, it is important to focus on tools and integrated practices that can bring value to the process, including real-time verifications with faster quality feedback to the teams. For example, if a process is supported by tools, then the configuration of the tools is evidence that the company needs to provide during a CMMI appraisal. As teams are guided by the process flow, it makes the process simpler and allows people to focus on top priorities.
It is great when teams own the process and know it will give better results. That's why metrics are so important in this pathway. When you automate the metrics, people are confident in their metrics and their work. When the measures are not good, there is no argument because the metrics show that teams need to analyze the cause and work together to find a solution. DevOps brings teamwork with all the specialists involved, and this is a gain organizations can achieve with this practice.
Improving Results
One improvement we could have made in the beginning of these implementations was to bring in internal operational and security professionals. That’s our work for the future. If we had brought these specialists in this process, we could use DevOps to create environments automatically and used infrastructure as a service and as a code. This would reduce environment and security defects.
In CMMI adoption we can also start looking at DevOps practices regardless of the CMMI level of the organization. We are starting it in an organization that probably will achieve Maturity Level 2. They saw benefits of improving their maturity levels, but we must remember that there are many gains when implementing DevOps in organizations of all maturity levels.
Our path forward includes using CMMI Services to guide automation. DevOps can help build a bridge between CMMI Development and CMMI Services. We also want to collect more results and focus on support areas, especially in the use of robots.
DevOps is a forever journey, but it's a good journey for teams and for organizations.
For more information please visit: https://cmmiinstitute.com/news/blog/capability-counts-series-reaching-cmmi-engineering
CMMI Implementation Info
CMMI Implementation Info
CMMI differentiates itself as a comprehensive approach to process improvement through a systems view of documented methods for managing quality, costs, and time for projects. Where a standards based approach lends a minimum standard level of quality, the CMMI approach offers a continuous improvement model. For large scale organizations managing large military projects to small scale teams, CMMI can be leveraged to reduced costs of quality, while reducing the variances in project completion time and costs. In this paper, I will explore the structure of CMMI framework, what types of organizations implement and common paths to implementation, and then discuss the types of outcomes that can be expected as a result of implementation.
CMMI Model Overview:
CMMI stands for Capability Maturity Model Integration. It represents a set of best practices identified within an organization’s existing procedural framework that are used to continuously improve upon business processes. It is based on the widely held assumption that the quality of the process has a direct correlation to the quality of the product. While many business quality standards and initiatives tend to focus on the product, it is widely held that “The quality of a system is highly influenced by the quality of the process used to acquire, develop, and maintain it.” (Carnegie Mellon, 2007) Enhancing the quality of the processes is at the heart of the CMMI process management system developed by the Software Engineering Institute and Carnegie Mellon, based on a model originating from research by the US Department of defense. The model was originally conceived as a method for evaluating governmental software vendors. Though initially developed as a software development process improvement methodology, the approach has since evolved and has been applied across many industries where procedures are leveraged to increase the likelihood of a product or service being delivered as promised, on time, and within budget.
CMMI is an evolving model; at its core is a systems approach to process improvement designed to accommodate various industries, as well as the changing needs and refinement of business practices over time. It is not a certification or a standard, but a model that once implemented, is assessed by CMMI trained auditors. It should be noted that while standards such as ISO offer base levels of attainment, CMMI is a systemic framework tailored to a line of business with the goal of continuous and measured improvement over time. There are three different branches of CMMI that are known as constellations, and are uniquely tailored to the business area of interest; development, acquisition, and services. They are all based on a similar core set of activities or template, called the CMF; the CMMI Model Framework. These activities are identified as process areas identified to be the core foundations in which to build a model upon to evaluate and improve business processes. The CMMI process can be utilized by and scaled across an organization, or scoped to the team, project, or division level. There are five levels of maturity(figure 1) organizations can achieve as they model their processes after one of the constellations.
The level attained correlates to the degree of adherence to the adherence to the goals outlined in the key process areas under each maturity level. Level 1 is the base maturity level and represents the immature business, as it relates to the control of the business as applied to process management. The key process areas are goals which an organization formulates a framework around, based on the CMF, and acts as a template for which to design documentation outlining the practices, training, and validation requirements to achieve. Key process areas defined at each maturity level are assessed and the ratings are aggregated to determine the maturity level. Companies then have the option of publishing their results on CMMI’s published appraisals.
Achievement of maturity level 5 can be an expensive and time consuming prospect. While it is possible to adapt the model to smaller organizations, due to the high level of documentation, training, and associated expense, larger organizations with a history of well documented practices are more likely to implement CMMI.
Implementation path:
There are many paths to implementation depending on the line of business and level of maturity sought. CMMI outlines three broad steps to implementation: 1) determine current state as compared to CMMI process improvement goals, 2)identify gaps between the current state and the CMMI maturity level(s) desired, 3) perform appraisal. SEI trains and certifies appraisers to use the SCAMPI appraisal process. (Carnegie Mellon, 2012) Appraisers can be trained internal employees or contractors. There are full service partner and vendors with trained appraisers ready to certify organizations to a maturity level.
The success of implementation is also shown to vary based on the level of support across the organization as well as the existing culture of the organization. Four factors influence potential for implementation of level 5 CMMI to improve software development quality, cost, and timeliness. (Adler, McGarry, Irion-Talbot, & Binney, 2005)
These factors are the organization’s strategic priorities, level of participation, managerial commitment, and the culture of the organization. Therefore, the implementation success is dependent upon the level of support from the top management down, and employee buy-in is essential to success.
CMMI has a proven track record and wide level of acceptance across many industries. While it is a complicated and often burdensome task to achieve implementation, the returns for this investment are demonstrated to outweigh the expense of implementing, when implemented correctly. This is shown to be the case for large and small organizations, as well as for organizations in developed and developing countries. Research shows that when implemented correctly, managers and the managed agree that there are improvements in the quality, time, and costs associated with completing projects. The process of formulating the maturity level’s key processes and goals, identifying and integrating industry proven best practices into the procedures and culture of organizations can differentiate mature organizations from the rest, while making the organization more productive with its resources. One noteworthy study used a metaphor for the comparison of the business organization to the human and the health of the organization similar to the mind, body and spirit as it relates to the implementation of CMMI. (Prasad & Kesav, 2008)This research considers the teachings of the Hindu scripture’s(Bhagavad-Gita) devotion to changing the human spirit, and being similar, organizations as a living organism, their excellence is dependent on investments in the systems of mind, body and spirit. The CMMI approach is definitely a whole body approach in it’s thoroughness when implemented correctly. And even when implementation is less than perfect, demonstrated improvements to software development projects can usually be realized.
For more information please visit: https://www.umsl.edu/~sauterv/analysis/6840papers_f12/Powell/index.html
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019 | TFS 2018
Teams use the work item types (WITs) provided with the MSF for CMMI Process Improvement 2015 (CMMI) process to plan and track progress of software projects. Teams define requirements to manage the backlog of work and then, using the Kanban board, track progress by updating the status of requirements.
To gain insight into a portfolio of requirements, product owners can map requirements to features. When teams work in iterations, they define tasks that automatically link to requirements.
Using Microsoft Test Manager and the web portal, testers create and run test cases and define bugs to track code defects.
To support other CMMI processes, teams can track change requests, risks, issues, and notes captured in review meetings. If you're new to the CMMI process, review the section Plan and track work with CMMI to get started.
For more information please visit: https://learn.microsoft.com/en-us/azure/devops/boards/work-items/guidance/cmmi-process-workflow?view=azure-devops
Email ID: easycoachingtraining@gmail.com