Architecture - DevSource
DevSource: Microsoft Developer Resource DevSource Home Sponsored by Microsoft Home Add Ons Architecture Languages Techniques Using VS Forums
Home arrow Architecture arrow Page 2 - Encouraging CMMI Certification Using Visual Studio Team System
Encouraging CMMI Certification Using Visual Studio Team System
By Paul Ferrill

Rate This Article: Add This Article To:

Encouraging CMMI Certification Using Visual Studio Team System - ' CMMI in Visual Studio '
( Page 2 of 3 )

Mention the acronym CMMI in software circles, and you'll likely get one of three responses: a blank stare, an unrepeatable expletive, or a smile of acknowledgement. The Capability Maturity Model Integration is an effort, primarily funded by the U.S. Department of Defense (DoD), to bring discipline to the process of developing very large software systems.

Typically, developing complex software systems involves a large team of software engineers, programmers, testers, and managers. As with other complex processes, it is often beneficial to develop a model of the entire process to help understand it better. That was the primary motivation behind the development of the original Capability Maturity Model (CMM).

ADVERTISEMENT

As you probably already know, Microsoft's Visual Studio Team System is a new offering with the release of Visual Studio 2005, aimed at large software organizations seeking to bring order to their development process. What you may not realize is its ability to help an organization achieve CMMI compliance.

Visual Studio Team System is mostly process-agnostic, meaning it doesn't specifically adhere to any of the popular methodologies. It does offer a set of tools that make it easier to implement the various functions necessary in building a large software system.

Following a repeatable process is a key foundation principle for any software development team. While the Visual Studio Team System was not designed specifically with the CMMI in mind, it is adaptable to support it. The Microsoft Solutions Framework (MSF) for CMMI Process Improvement is an add-on to VSTS, as is MSF for Agile Software Development.

A Little CMMI History

The Software Engineering Institute (SEI) is a federally funded Research and Development center (FFRDC) at Carnegie Mellon University in Pittsburgh, Pa. Their vision statement reads, "The SEI's core purpose is to help others make measured improvements in their software engineering capabilities and to develop the right software, delivered defect free, on time and on cost, every time."

From a historical perspective, the first Capability Maturity Model for Software was released in 1992. It defined five levels of maturity for a software development organization as follows:

  1. Initial
  2. Repeatable
  3. Defined
  4. Managed
  5. Optimizing

Each level defines a number of processes that must be present before an organization can be assessed as compliant at that level. Level 1 is where everyone starts; it's usually characterized by ad-hoc processes and a chaotic environment.

CMMI Basics

In the years after the introduction of the original CMM for software, a number of other process guidance documents were released, covering other disciplines such as engineering. With the recognition that many systems developed for the DoD involved a combination of both hardware and software, it became evident that process guidance encompassing the entire development project was necessary. Hence, the release of the CMMI.

CMMI alters the original CMM for software process levels slightly, to read:

  1. Initial
  2. Managed
  3. Defined
  4. Quantitatively Managed
  5. Optimizing

To understand the CMMI mindset and motivation, you must understand the problem it is trying to solve. Developing very large weapons systems, with many integrated parts, requires a high level of process discipline. That's equally true if you want to bring any complex system to market in the commercial sector.

Many organizations set CMMI Level 3 as their target, as a result of implementing the process guidance. Success is measured by an SEI approved CMMI assessor, who determines whether an organization is operating at Level 3. The overall effort can take anywhere from 6 months to several years, depending on how mature the organization was in using an established process prior to embarking on a CMMI journey.

While most people associate CMMI projects with large government programs, it's not the only place you'll find it in use. The SEI Web site lists a number of different organizations outside the DoD that have successfully implemented the CMMI process in their organizations.

One of the biggest complaints voiced by the software professionals forced to implement the rigors of the CMMI is that it hurts productivity. "What many people don't realize is that if your organization is rigorously applying the principles of the Agile software development methodology, you're already doing much of CMMI without knowing it," says Bill Phifer, an EDS fellow and SEI-authorized lead CMMI appraiser.

Okay. That's what CMMI is all about. So how does Visual Studio Team System help?



 
 
>>> More Architecture Articles          >>> More By Paul Ferrill
 



HD VOIP Has Arrived (with Tony Konstner)

Play Video >

All Videos >

Google and blonde jokes?

Read now >

Favorite books!

Read now >

View Now
DevSource RSS FEEDS
XML Want an easy way to keep up with breaking tech news? And the Get DevSource headlines delivered to your desktop with RSS.