Capability maturity model for software
Introdução
Após décadas de incontáveis promessas sobre como aumentar à produtividade e qualidade de software, através de novas metodologias e tecnologias, as organizações chegaram à conclusão que o problema fundamental é a inabilidade para gerenciar processos de desenvolvimento de software. Em muitas organizações os projetos não cumprem os prazos planejados e os custos ficam acima do budget, afetando os benefícios que o projeto traria para a organização. Uma resposta para esse ambiente caótico foi o desenvolvimento de um modelo de maturidade para software, o CMM.
O CMM – Capability Maturity Model para software é um conjunto de processos desenvolvido pela SEI – Software Engineering Institute (www.sei.cmu.edu) em 1986 para melhorar o desenvolvimento de aplicações em organizações que trabalham com tecnologias de software. O processo é divido em 5 níveis de desenvolvimento: Inicial, repetível, definido, gerenciado com métricas e otimizado.
Esses cinco níveis de maturidade provêem uma escala mensurável de maturidade, como também a capacidade de execução, de uma organização que usa tecnologias de software. Esses níveis também ajudam a definir a prioridade dos esforços de uma organização de software. Cada vez mais as organizações dependem de regras formais do que indivíduos que executam projetos sem planejamento. Para tornar os projetos competitivos, dentro do budget e prazo planejados, as organizações devem desenvolver softwares dentro de ambientes "maduros".
Em uma organização madura, os gerentes monitoram a qualidade dos produtos de software e os processos que são utilizados para produzi-los. O objetivo é baseado em métricas julgar a qualidade dos produtos e analisar os problemas dos produtos e processos. O cronograma de desenvolvimento e o budget devem estar baseados em dados históricos para serem mais realísticos; os custos, funcionalidade e qualidade dos produtos são normalmente arquivados. Em geral, a disciplina de um