{"id":1450,"date":"2015-03-22T16:11:53","date_gmt":"2015-03-22T19:11:53","guid":{"rendered":"http:\/\/efagundes.com.br\/artigos\/?page_id=1450"},"modified":"2015-03-29T23:31:48","modified_gmt":"2015-03-30T02:31:48","slug":"capability-maturity-model-for-software","status":"publish","type":"page","link":"https:\/\/efagundes.com\/artigos\/capability-maturity-model-for-software\/","title":{"rendered":"Capability Maturity Model for Software"},"content":{"rendered":"<h3 class=\"page_content\">Introdu\u00e7\u00e3o<\/h3>\n<p class=\"page_content\">Ap\u00f3s d\u00e9cadas de incont\u00e1veis promessas sobre como aumentar \u00e0 produtividade e qualidade de software, atrav\u00e9s de novas metodologias e tecnologias, as organiza\u00e7\u00f5es chegaram \u00e0 conclus\u00e3o que o problema fundamental \u00e9 a inabilidade para gerenciar processos de desenvolvimento de software. Em muitas organiza\u00e7\u00f5es os projetos n\u00e3o cumprem os prazos planejados e os custos ficam acima do budget, afetando os benef\u00edcios que o projeto traria para a organiza\u00e7\u00e3o. Uma resposta para esse ambiente ca\u00f3tico foi o desenvolvimento de um modelo de maturidade para software, o CMM.<\/p>\n<p class=\"page_content\">O CMM \u2013 <em>Capability Maturity Model<\/em> para software \u00e9 um conjunto de processos desenvolvido pela SEI \u2013 <em>Software Engineering Institute<\/em> (www.sei.cmu.edu) em 1986 para melhorar o desenvolvimento de aplica\u00e7\u00f5es em organiza\u00e7\u00f5es que trabalham com tecnologias de software. O processo \u00e9 divido em 5 n\u00edveis de desenvolvimento: Inicial, repet\u00edvel, definido, gerenciado com m\u00e9tricas e otimizado.<\/p>\n<p class=\"page_content\">Esses cinco n\u00edveis de maturidade proveem uma escala mensur\u00e1vel de maturidade, como tamb\u00e9m a capacidade de execu\u00e7\u00e3o, de uma organiza\u00e7\u00e3o que usa tecnologias de software. Esses n\u00edveis tamb\u00e9m ajudam a definir a prioridade dos esfor\u00e7os de uma organiza\u00e7\u00e3o de software. Cada vez mais as organiza\u00e7\u00f5es dependem de regras formais do que indiv\u00edduos que executam projetos sem planejamento. Para tornar os projetos competitivos, dentro do budget e prazo planejados, as organiza\u00e7\u00f5es devem desenvolver softwares dentro de ambientes &#8220;maduros&#8221;.<\/p>\n<p class=\"page_content\">Em uma organiza\u00e7\u00e3o madura, os gerentes monitoram a qualidade dos produtos de software e os processos que s\u00e3o utilizados para produzi-los. O objetivo \u00e9 baseado em m\u00e9tricas 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\u00f3ricos para serem mais real\u00edsticos; os custos, funcionalidade e qualidade dos produtos s\u00e3o normalmente arquivados. Em geral, a disciplina de um processo \u00e9 consistentemente seguida por que todos os participantes entendem o valor do que eles est\u00e3o fazendo, e a necessidade da infraestrutura para suportar esses processos.<\/p>\n<h3 class=\"page_content\">Conceitos fundamentais sobre Processos de Maturidade<\/h3>\n<p class=\"page_content\">Um processo de software pode ser definido como um conjunto de atividades, m\u00e9todos, pr\u00e1ticas e mudan\u00e7as que as pessoas devem usar para desenvolver e manter os produtos de software. Por exemplo, planejamento, documentos sobre o desenho do software, c\u00f3digos, resultado de testes e manuais de usu\u00e1rios. Os processos de software mostram a quanto uma organiza\u00e7\u00e3o \u00e9 madura para desenvolver e manter os produtos de software.<\/p>\n<p class=\"page_content\">Existem tr\u00eas tipos de an\u00e1lise sobre os processos de software:<\/p>\n<ol class=\"Ordered_List\">\n<li>Capacidade. Essa an\u00e1lise descreve a gama de resultados que podem ser atingidos com o uso dos processos de software.<\/li>\n<li>Desempenho. Analisa o atual est\u00e1gio dos processos de software e os resultados obtidos pelo seu uso.<\/li>\n<li>Maturidade. Analisa at\u00e9 que ponto um processo espec\u00edfico est\u00e1 definido, gerenciado, mensurado, controlado e \u00e9 efetivo. Maturidade implica ter potencial para um crescimento consistente aplicando os processos de software em projetos da organiza\u00e7\u00e3o.<\/li>\n<\/ol>\n<p class=\"page_content\">Uma organiza\u00e7\u00e3o ganha maturidade se institucionaliza os processos de software atrav\u00e9s de pol\u00edticas, padr\u00f5es e estrutura organizacional.<\/p>\n<h3 class=\"page_content\">Caracter\u00edsticas dos N\u00edveis de Maturidade<\/h3>\n<p class=\"page_content\">Os processos dever ser continuamente aperfei\u00e7oados atrav\u00e9s de pequenas melhorias, ao inv\u00e9s de inova\u00e7\u00f5es revolucion\u00e1rias. O CMM prov\u00ea uma estrutura \u2013 framework \u2013 para organizar os passos de melhorias dentro de cinco n\u00edveis de maturidade em processos de software de uma organiza\u00e7\u00e3o. Esses cinco n\u00edveis de maturidade definem uma escala para medir o est\u00e1gio de maturidade de uma organiza\u00e7\u00e3o.<\/p>\n<p class=\"page_content\"><a href=\"http:\/\/efagundes.com\/artigos\/wp-content\/uploads\/sites\/2\/2015\/03\/niveis_cmm.gif\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-1767\" src=\"http:\/\/efagundes.com\/artigos\/wp-content\/uploads\/sites\/2\/2015\/03\/niveis_cmm.gif\" alt=\"niveis_cmm\" width=\"414\" height=\"284\" \/><\/a><\/p>\n<p class=\"page_content\">\n<p class=\"page_content\">Figura 1. Os cinco n\u00edveis do CMM para software.<\/p>\n<p class=\"page_content\">A Figura 1 apresenta os cinco n\u00edveis de maturidade de uma organiza\u00e7\u00e3o que utiliza processos de software.<\/p>\n<h5 style=\"padding-left: 30px;\">N\u00edvel 1 \u2013 Inicial<\/h5>\n<p style=\"padding-left: 30px;\">Esse o n\u00edvel base, as aplica\u00e7\u00f5es s\u00e3o desenvolvidas com m\u00e9todos e pr\u00e1ticas n\u00e3o consistentes. Os processos de desenvolvimento raramente s\u00e3o definidos e as pr\u00e1ticas dispon\u00edveis s\u00e3o sacrificadas para atender a prazos incorretamente definidos. Os programadores s\u00e3o capazes de realizar suas atribui\u00e7\u00f5es utilizando seus pr\u00f3prios m\u00e9todos, muitas vezes n\u00e3o consistentes entre os processos da organiza\u00e7\u00e3o. Frequentemente, o gerenciamento dos projetos \u00e9 fraco e n\u00e3o protege o projeto de rupturas. Essencialmente, as organiza\u00e7\u00f5es no n\u00edvel 1 carecem de capacidade de comprometimento consistente.<\/p>\n<h5 style=\"padding-left: 30px;\">N\u00edvel 2 \u2013 Repet\u00edvel<\/h5>\n<p style=\"padding-left: 30px;\">O primeiro ponto importante nesse n\u00edvel \u00e9 estabelecer um ambiente est\u00e1vel para se repetir pr\u00e1ticas de sucesso. Ent\u00e3o, o n\u00edvel 2 foca no desenvolvimento de capacidades dos gerentes de projetos para planejar eficazmente os compromissos assumidos e estabelecer um controle dos requerimentos para os produtos de software. Para controlar os projetos deve utilizar diferentes m\u00e9todos e pr\u00e1ticas e o ambiente deve ser est\u00e1vel. As organiza\u00e7\u00f5es de desenvolvimento de aplica\u00e7\u00f5es no n\u00edvel 2 devem possuir capacita\u00e7\u00e3o para liberar seus produtos dentro do cronograma e budget, evitando horas extras e custos al\u00e9m do budget.<\/p>\n<h5 style=\"padding-left: 30px;\">N\u00edvel 3 \u2013 Defini\u00e7\u00e3o<\/h5>\n<p style=\"padding-left: 30px;\">Ap\u00f3s atingir o est\u00e1gio de repetir as pr\u00e1ticas de desenvolvimento com sucesso, as organiza\u00e7\u00f5es de desenvolvimento de aplica\u00e7\u00f5es devem identificar as melhor pr\u00e1ticas dos melhores projetos. Subsequentemente, esses procedimentos s\u00e3o integrados aos padr\u00f5es de desenvolvimento para toda a organiza\u00e7\u00e3o. Consequentemente, uma forte cultura \u00e9 desenvolvida no n\u00edvel 3 com a utiliza\u00e7\u00e3o de processos comuns que cobrem os mais importantes elementos do desenvolvimento de aplica\u00e7\u00f5es. Uma vez todos os projetos utilizando as melhores pr\u00e1ticas e compartilhando li\u00e7\u00f5es de aprendizagem, existe o amadurecimento da organiza\u00e7\u00e3o.<\/p>\n<h5 style=\"padding-left: 30px;\">N\u00edvel 4 &#8211; Gerenciamento com m\u00e9tricas<\/h5>\n<p style=\"padding-left: 30px;\">Tendo atingindo o est\u00e1gio 3 com a utiliza\u00e7\u00e3o de processos comuns nos projetos de desenvolvimento de software, as organiza\u00e7\u00f5es est\u00e3o capacitadas a gerar estat\u00edsticas que possam caracterizar o desempenho de seus processos. Essas estat\u00edsticas proveem informa\u00e7\u00f5es para se entender a capacidade de desenvolvimento baseado nos processos e as causas das varia\u00e7\u00f5es de desempenho. Gerenciando o desempenho dos processos de desenvolvimento estatisticamente, uma organiza\u00e7\u00e3o pode prever e controlar os resultados dos projetos. O gerenciamento da quantidade produzida permite um grande envolvimento dos times de projeto e melhorar a previs\u00e3o dos resultados pelo gerenciamento de projetos.<\/p>\n<h5 style=\"padding-left: 30px;\">N\u00edvel 5 \u2013 Otimiza\u00e7\u00e3o<\/h5>\n<p style=\"padding-left: 30px;\">Melhorias cont\u00ednuas podem ser desenvolvidas atrav\u00e9s das li\u00e7\u00f5es de aprendizagem de cada projeto podem ser desenvolvidos atrav\u00e9s de a\u00e7\u00f5es pr\u00f3-ativas durante a avalia\u00e7\u00e3o de novos m\u00e9todos de desenvolvimento, novos processos ou tecnologias. Uma organiza\u00e7\u00e3o com um n\u00edvel de maturidade 5 estabelece uma infraestrutura para suportar continuas mudan\u00e7as no gerenciamento dos processos de desenvolvimento.<\/p>\n<h3 class=\"page_content\">Defini\u00e7\u00e3o Operacional de CMM<\/h3>\n<p class=\"page_content\">O CMM possui uma estrutura que indica o caminho recomendado para as organiza\u00e7\u00f5es melhorarem seus processos de desenvolvimento de software. Essa parte operacional do CMM \u00e9 desenhada para suportar as v\u00e1rias formas de serem usadas. Existem pelo menos quatro usos do CMM:<\/p>\n<ol class=\"Ordered_List\">\n<li>Para identificar pontos fortes e fracos em uma organiza\u00e7\u00e3o;<\/li>\n<li>Para identificar os riscos dentro de um processo de sele\u00e7\u00e3o de fornecedores e monitorar os resultados;<\/li>\n<li>Para que o alto n\u00edvel gerencial de uma organiza\u00e7\u00e3o possa entender as atividades necess\u00e1rias para o lan\u00e7amento de um processo de software para melhorar o programa.<\/li>\n<li>Para o pessoal t\u00e9cnico e dos grupos de processos possam melhorar os processos de software em suas organiza\u00e7\u00f5es.<\/li>\n<\/ol>\n<h3 class=\"page_content\">Estrutura Interna dos N\u00edveis de Maturidade<\/h3>\n<p class=\"page_content\">Cada n\u00edvel de maturidade pode ser decomposto em partes. Com exce\u00e7\u00e3o do n\u00edvel 1, a decomposi\u00e7\u00e3o de cada n\u00edvel de maturidade abrange desde os sum\u00e1rios abstratos de cada n\u00edvel at\u00e9 as defini\u00e7\u00f5es operacionais das pr\u00e1ticas chaves, como \u00e9 mostrada na figura 2. Cada n\u00edvel de maturidade \u00e9 composto por v\u00e1rios processos chaves. Cada processo chave \u00e9 organizado dentro de 5 sec\u00e7\u00f5es chamadas de caracter\u00edsticas comuns. As caracter\u00edsticas comuns especificam as pr\u00e1ticas chaves que, quando corretamente usadas, atingem os objetivos dos processos chaves das \u00e1reas.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Introdu\u00e7\u00e3o Ap\u00f3s d\u00e9cadas de incont\u00e1veis promessas sobre como aumentar \u00e0 produtividade e qualidade de software, atrav\u00e9s de novas metodologias e tecnologias, as organiza\u00e7\u00f5es chegaram \u00e0 conclus\u00e3o que o problema fundamental \u00e9 a inabilidade para gerenciar processos de desenvolvimento de software. Em muitas organiza\u00e7\u00f5es os projetos n\u00e3o cumprem os prazos planejados e os custos ficam acima [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"open","ping_status":"open","template":"","meta":{"jetpack_post_was_ever_published":false,"footnotes":""},"class_list":["post-1450","page","type-page","status-publish","hentry"],"jetpack_shortlink":"https:\/\/wp.me\/P8yInB-no","jetpack-related-posts":[{"id":1455,"url":"https:\/\/efagundes.com\/artigos\/a-gestao-eficiente-de-ti\/","url_meta":{"origin":1450,"position":0},"title":"A Gest\u00e3o eficiente de TI","author":"Eduardo Fagundes","date":"22 de mar\u00e7o de 2015","format":false,"excerpt":"A complexidade das tecnologias da informa\u00e7\u00e3o \u00e9 diretamente proporcional \u00e0 complexidade das organiza\u00e7\u00f5es de TI. Atualmente, administrar uma organiza\u00e7\u00e3o de TI exige a ado\u00e7\u00e3o de v\u00e1rios padr\u00f5es (CobiT, ITIL, CMMI, PMBOK, etc.), confundindo alguns gestores entre as atividades meio e fim da organiza\u00e7\u00e3o. \u00c9 obvio que TI est\u00e1 para atender\u2026","rel":"","context":"Post similar","block_context":{"text":"Post similar","link":""},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":1447,"url":"https:\/\/efagundes.com\/artigos\/cobit\/","url_meta":{"origin":1450,"position":1},"title":"COBIT","author":"Eduardo Fagundes","date":"22 de mar\u00e7o de 2015","format":false,"excerpt":"Um kit de ferramentas para a excel\u00eancia de TI Artigo revisado em 25 de abril 2012 Autor: Eduardo Mayer Fagundes Introdu\u00e7\u00e3o Atualmente, \u00e9 imposs\u00edvel imaginar uma empresa sem uma forte \u00e1rea de sistemas de informa\u00e7\u00f5es (TI), para manipular os dados operacionais e prover informa\u00e7\u00f5es gerenciais aos executivos para tomadas de\u2026","rel":"","context":"Post similar","block_context":{"text":"Post similar","link":""},"img":{"alt_text":"estrutura_cobit","src":"https:\/\/i0.wp.com\/efagundes.com\/artigos\/wp-content\/uploads\/sites\/2\/2015\/03\/estrutura_cobit1.jpg?resize=350%2C200","width":350,"height":200},"classes":[]},{"id":1607,"url":"https:\/\/efagundes.com\/artigos\/a-nova-organizacao-de-ti\/","url_meta":{"origin":1450,"position":2},"title":"A Nova Organiza\u00e7\u00e3o de TI","author":"Eduardo Fagundes","date":"22 de mar\u00e7o de 2015","format":false,"excerpt":"Publicado em 07-maio-2006 A nova organiza\u00e7\u00e3o de TI ser\u00e1 menor, mais distribu\u00edda e mais dependente da cadeia de fornecedores. O principal foco ser\u00e1 a inova\u00e7\u00e3o dos processos organizacionais a partir das tecnologias de informa\u00e7\u00e3o. Os especialistas de TI dever\u00e3o ser peritos em inova\u00e7\u00e3o e intra-empreendedores. A nova organiza\u00e7\u00e3o ser\u00e1 efetivamente\u2026","rel":"","context":"Post similar","block_context":{"text":"Post similar","link":""},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":1641,"url":"https:\/\/efagundes.com\/artigos\/compartilhe-sua-visao-sobre-a-tecnologia-para-acelerar-o-movimento-de-mercado-e-implantar-os-projetos-de-forma-mais-rapida-e-segura\/","url_meta":{"origin":1450,"position":3},"title":"Compartilhe sua vis\u00e3o sobre a tecnologia para acelerar o movimento de mercado e implantar os projetos de forma mais r\u00e1pida e segura","author":"Eduardo Fagundes","date":"22 de mar\u00e7o de 2015","format":false,"excerpt":"Introdu\u00e7\u00e3o A TIC tornou-se chave para a efici\u00eancia empresarial e um bom planejamento de TIC garante o \u00f3timo aproveitamento dos escassos recursos financeiros das empresas, viabiliza novos neg\u00f3cios e diferencia a empresa da concorr\u00eancia. A efici\u00eancia de TIC depende fortemente de seu alinhamento com a estrat\u00e9gia da empresa. Por outro\u2026","rel":"","context":"Post similar","block_context":{"text":"Post similar","link":""},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":1463,"url":"https:\/\/efagundes.com\/artigos\/engenharia-social\/","url_meta":{"origin":1450,"position":4},"title":"Engenharia Social","author":"Eduardo Fagundes","date":"22 de mar\u00e7o de 2015","format":false,"excerpt":"Publicado em 15\/julho\/2010 O principal fator de risco de seguran\u00e7a nas empresas s\u00e3o as pessoas. Altos investimentos s\u00e3o realizados em ferramentas de seguran\u00e7a para controlar e garantir a continuidade das opera\u00e7\u00f5es das empresas, por\u00e9m muitas com enfoque em tecnologia. O foco da engenharia de seguran\u00e7a deve ser as pessoas. Isso\u2026","rel":"","context":"Post similar","block_context":{"text":"Post similar","link":""},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":1609,"url":"https:\/\/efagundes.com\/artigos\/dez-pontos-para-o-desenvolvimento-de-uma-estrategia-de-governanca-de-ti\/","url_meta":{"origin":1450,"position":5},"title":"Dez pontos para o desenvolvimento de uma estrat\u00e9gia de Governan\u00e7a de TI","author":"Eduardo Fagundes","date":"22 de mar\u00e7o de 2015","format":false,"excerpt":"Publicado em 21-maio-2006 As estrat\u00e9gias e o gerenciamento das organiza\u00e7\u00f5es de TI devem estar focados na perspectiva financeira dos neg\u00f3cios da empresa. Os gastos de TI devem ser constantemente monitorados para avaliar o valor agregado aos processos de neg\u00f3cios da empresa. Infelizmente, algumas pessoas n\u00e3o compreendem esse vi\u00e9s de TI,\u2026","rel":"","context":"Post similar","block_context":{"text":"Post similar","link":""},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/efagundes.com\/artigos\/wp-json\/wp\/v2\/pages\/1450","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/efagundes.com\/artigos\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/efagundes.com\/artigos\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/efagundes.com\/artigos\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/efagundes.com\/artigos\/wp-json\/wp\/v2\/comments?post=1450"}],"version-history":[{"count":0,"href":"https:\/\/efagundes.com\/artigos\/wp-json\/wp\/v2\/pages\/1450\/revisions"}],"wp:attachment":[{"href":"https:\/\/efagundes.com\/artigos\/wp-json\/wp\/v2\/media?parent=1450"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}