How to implement CMMI in a large development organization's Agile team

Source: Internet
Author: User

In recent years, agile development method can better adapt to modern software development, and gradually develop into a mainstream development method, also changing the software development process. However, agile development methodologies are often considered to be incompatible with the CMMI process because CMMI is viewed as a normalized method of controlling the software development process.

In 2008, Hillel Glazer, Jeff Dalton, David Anderson, Mike Konrad and Sandra Shrum published the CMMI and Agile methods: Why not be compatible with each other, Open a window for development organizations that want to keep the project process manageable and want to experience agile development flexibility. CMMI Process Management is often seen as an obstacle to implementing agile development as an enemy of self-organizing teams, as the CMMI and agile teams have different cultural backgrounds, which leads to many misunderstandings. For example, agile teams rarely use the term "predictability," but "predictability" is key to the CMMI Process management model.

CMMI, on the other hand, is a cross organization approach that can improve software quality and control the cost of software development, even though the execution of CMMI Process Management takes a lot of effort to develop the organization.

Project managers tend to adopt CMMI process Management, while the self-organizing development teams within the development organization do not recognize or even view CMMI Process management as a major risk to the project. How can the two opposites be unified? How can a self-organizing Agile team from a large development organization meet software development maturity (level 2 to Level 3)?

Eliminate language barriers

To unify the two opposites, the first problem to be solved is the barrier of language communication. In order for Agile preachers or process management engineers to use the same language to communicate with development teams using different technologies, a modern technology exchange method called "Meta language" needs to be used. With the meta language, you have to be able to ensure that team members can translate meta language into their natural lifecycle language. For example, a PMP enthusiast often talks about "functional requirements," but agile team members prefer to use the word "User stories." They are talking about the same concept, but they use words with different meanings. In this example, you can unify the "specification" as a meta language so that both are receptive and unified.

Meta-language is the key to unified Agile development process and CMMI process Management. If the CMMI preacher, project manager and agile members can communicate with each other in a unified meta language, then the language barrier can be eliminated so that the communication is smooth.

For example, in the requirements development phase, agile developers and ordinary developers can use meta language to unify their lifecycle languages. As shown in the following table:

Metalanguage Term

Meta language

Formal methodology

Formal development methods

Agile Methodology

Agile development Approach

Goal

Goal

Functional Scope

Function range

Epic

Epic Story

Business case

Business Use Cases

Use Cases

User Use Cases

User Story

User Stories

Appliance

Application Requirements

Scenario Requirements

Scenario Requirements

Acceptance Conditions

Acceptance conditions

Review

Review

Periodical Tracking Meeting

Regular check-out meeting

Retrospective

Project Review

Figure 1: Enumerating some of the meta languages in the development phase of customer requirements

Recognizing and using a unified meta language requires that the preacher of CMMI Process Management can recognize the meta language, unify the meta language, reduce the differences between the maturity models, and also recognize that the meta language needs to be continuously expanded and refined, which is a work without end.

Figure 2: Can you identify whether this is a product's unfinished list or a requirement list? Ideally, you can apply your own lifecycle model to the public model.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.