CMMI, Six Sigma, and Agile: What to Use and When for Embedded Software Development

2007-01-4183

10/30/2007

Event
SAE 2007 Commercial Vehicle Engineering Congress & Exhibition
Authors Abstract
Content
This paper discusses the leading approaches to developing high-quality embedded software: Capability Maturity Model Integration® (CMMI), Six Sigma processes, and Agile software development methods. Organizations often struggle with deciding which approach they should use. Their decisions can have strategic consequences in terms of talent acquisition, organizational structure, resource allocation, and project management. Real life examples of embedded software development projects will be used to illustrate how, depending on the circumstances of the project, CMMI, Six Sigma, and Agile approaches each have a role to play in achieving embedded software excellence. CMMI is ideal for a well defined project, similar to the process an orchestra might use to prepare for a concert when given the sheet music. Six Sigma fits an existing project with running changes or a smaller project that needs to minimize risk in its development, similar to making a specific improvement to one section (e.g. trombones) in the orchestra. Agile is ideal for an unstructured, unknown requirements environment where requirements are discovered throughout development, similar to an improvisational jazz performance. Recommendations are provided that help guide the reader on how to make the process fit the project versus having the project fit the process.
Meta TagsDetails
DOI
https://doi.org/10.4271/2007-01-4183
Pages
12
Citation
Stevens, R., and Lenz, J., "CMMI, Six Sigma, and Agile: What to Use and When for Embedded Software Development," SAE Technical Paper 2007-01-4183, 2007, https://doi.org/10.4271/2007-01-4183.
Additional Details
Publisher
Published
Oct 30, 2007
Product Code
2007-01-4183
Content Type
Technical Paper
Language
English