Os modelos de maturidade são referências para auxiliar a identificar as métricas para serem coletadas nas organizações de software. Os modelos de maturidade de capacitação (Capability Maturity Models - CMMs) contêm os elementos essenciais de processos eficientes para uma ou mais áreas de conhecimento (SALVIANO, 2003). Estes se baseiam nos conceitos desenvolvidos por Crosby (1979), Deming (1986), Juran (1995) e Humphrey (1989). Para a realização desse trabalho os modelos de maturidade de processo considerados são o MPS.BR e o CMMI. O Quadro 9 mostra a equivalência dos níveis de maturidade entre os dois modelos em questão.
Fonte: O autor
Existe uma correspondência entre os níveis de maturidade dos dois modelos, pois a avaliação dos Processos e AP’s do MR-MPS para os F, C, B e A contemplam o atendimento aos objetivos específicos e genéricos de uma avaliação do CMMI níveis 2, 3, 4 e 5, respectivamente. Manter essa compatibilidade é uma preocupação do MPS.BR (SOFTEX, 2009 a).
Paulk et al. (1999) acrescentam que, à medida em que a maturidade do processo aumenta, políticas, padrões e estruturas da organização vão sendo institucionalizados. Os dados de medições coletados não se alteram de nível para nível, mas o seu uso e sua análise podem ser diferentes em diferentes níveis de maturidade ou conforme a abordagem que o modelo aplicado utiliza (SOFTEX, 2009 c). Os indicadores gerenciais são utilizados como uma ferramenta estratégica, tornando-se imprescindíveis para a tomada de decisões racionais (ROCHA; MALDONADO; WEBER, 2001). Além disso, as métricas são essenciais para se atingir uma comunicação objetiva e precisa (McGARRY et al., 2002). Portanto, é fundamental para garantir qualidade, que os processos sejam baseados em dados quantitativos
CMMI MPS.BR
1-Inicial G - Parcialmente Gerenciado 2 -Repetitivo F - Gerenciado
3 -Definido
C- Definido
D - Largamente Definido E - parcialmente Definido 4 -Gerenciado B - Gerenciado Quantitativamente 5 -Em otimização A - Em otimização
(ROCHA; MALDONADO; WEBER, 2001). O processo de medição tem evoluído dentro da disciplina Engenharia de Software (PRESSMAN, 2006). Segundo Kubota e Nogueira (2006), melhorar uma empresa de software requer continuamente melhorar seu pessoal e as condições que alavancam a sua performance. No passado, muitas organizações de software tratavam as medições como um trabalho adicional, porém em organizações que aderiram à qualidade baseada na melhoria de processo, a medição vem sendo implementada como uma disciplina pró-ativa (McGARRY et al., 2002).
Para implementar um processo de medição é necessário em primeiro lugar definir o que a empresa precisa saber e a partir daí definir os indicadores necessários (HOLMES, 2002). Um erro comum das organizações é decidir por um processo de medição e acabar optando por medidas simplesmente por serem de fácil acesso, ou porque já existam e estão à disposição sem avaliar a sua real valia (RUMMLER; BRACHE, 2007). Esta acaba sendo uma das principais causas de falha do processo de medição (HOLMES, 2002). Outro ponto de falha identificado é a necessidade de profissionais com conhecimentos específicos, pois para cada responsabilidade definida, devem ser designadas pessoas, que devem conhecer os conceitos que envolvem a medição, como os dados serão coletados, analisados e comunicados (SOFTEX, 2009 c). Segundo Kulpa e Johnson (2003) para um programa de medição atingir seus objetivos é necessário:
• Ser atrelado aos objetivos de negócio para prover benefícios; • Ter uso regular para justificar seu custo e esforço;
• Ser bem definido para permitir o entendimento e a comparação; • Ser comunicado de uma forma imparcial.
Na abordagem dos autores Kulpa e Johnson (2003) um processo de medição deve contemplar as seguintes definições:
• Cada métrica e sua abrangência, descrevendo sua definição, seu propósito e escopo;
• Como está relacionado aos objetivos empresariais ou metas; • Métricas para gerenciamento de projetos;
• Técnica das métricas;
• Criação das métricas na organização;
• Forma como as métricas serão coletadas e armazenadas; • Regras e responsabilidades sobre as métricas;
• Uma lista de medidas no Plano de Medição e a definição de cada medida para organização.
Os autores ainda sugerem uma lista de atividades que podem servir para identificação de problemas relacionados às métricas (KULPA; JOHNSON, 2003):
• Métricas são coletadas e não são usadas.
• A falta de um mecanismo de distribuição das métricas de desempenho de projeto para revisão, comparação, e uso.
• Métrica do nível de projeto não serem usadas para ajudar os gerentes de projetos.
• Falta de entendimento sobre os valores das métricas ou como os usar. • Falta de retornos das avaliações de qualidade da métrica.
• Relatórios sobre as métricas difíceis de revisar e identificar tendências. • Dados de métrica incompatíveis.
• Falta de credibilidade das métricas.
• Um processo padrão de atividades não é seguido constantemente, e métrica não pode ser rastreada através das atividades.
• Ninguém revisa os dados de métrica nos bancos de dados vários para integridade de dados.
• Treinando e comunicação não está acontecendo ao longo da organização. • Falta de um processo formal de métricas documentado (indicando métrica,
geração, coleta, revisão e uso) • Procedimentos desatualizados.
• Falta de ferramenta automatizada ou uso incorreto de ferramentas. • Os relatórios de métricas difíceis de ler e entender.
• Redundância de dados e abundância de métricas.
Autores como McGarry et al. (2002), Kan (2002) e Schroeder ( 1999) sugerem, ainda:
• Automatizar o que for possível do processo, gerando métricas de forma automática, baseadas nas medidas do nível de projeto, processo e gestão. • Envolver os gestores, gerentes de projetos e processos na definição das
métricas a serem colecionadas.
• Coletar métricas que realmente serão usadas. • Não usar as métricas de forma punitiva.
• Prover treinamento para facilitar à disseminação do uso do processo de métricas.
• Prover feedback das métricas para as equipes, permitindo comparações entre mos projetos, processos e negócios relativos aos objetivos da empresa.
Outro ponto importante para o sucesso de um processo de medição é avaliar como utilizar os resultados das métricas, pois é sabido que a forma como os indicadores e as medidas é utilizada, acabam por influenciar as ações e resultados (TAKASHINA, FLORES, 1996). Durante o desenvolvimento das medidas é preciso considerar a necessidade de equilíbrio entre o interesse dos envolvidos, desde o atendimento da necessidade do cliente, passando pelo equilíbrio dos processos internos, até o atingimento dos objetivos globais da empresa (RUMMLER; BRACHE, 2007; HRONEC, 1994).
O processo de medição existente em modelos de maturidade serve de base à estruturação de framework de medição que sustentam indicadores de processos em empresas desenvolvedoras de software com avaliações de maturidade (JOHNSON, 2004; KAN, 2002). A Figura 7 demonstra o relacionamento dos indicadores com o nível de maturidade da organização.
Os indicadores são associados aos níveis de maturidade conforme a exigência requerida para a satisfação dos objetivos de medição de cada nível (SOFTEX, 2009 c; SEI, 2006). Os indicadores de níveis iniciais podem não ser utilizados nos níveis superiores, porém as medidas que derivam dos mesmos ficam disponíveis para uso nos níveis superiores (SOFTEX, 2009 b). No contexto de desenvolvimento de software processos de medição permitem que através das métricas sejam capturadas experiências obtidas ao longo dos projetos, gerando histórico para os processos que os mesmo executam, visando assim, fornecer ao gerente uma visão mais completa da situação atual do projeto e do reflexo no processo (HENDERSON-SELLERS, 1996).
A capacidade de refletir nos processos as métricas associadas aos projetos, registrando comportamentos e gerando conhecimentos, através da repetição dos processos, pode gerar informações para o processo decisório ou para promover ações corretivas para a organização. Nesse sentido, esse trabalho irá avaliar a capacidade dos processos de medição das empresas em questão visando identificar como ocorrem os relacionamentos, a sustentação e desdobramento entre as medidas coletadas no processo de medição e os indicadores estratégicos de negócio da organização de software.
Figura 7- Relacionamento dos Indicadores Fonte: Adaptado de SCHROEDER (1999)
2.3.3.1 Abordagem do CMMI para criação do processo de medição
O CMMI possui uma área de processo inteira dedicada às métricas, a: Medição e Análise, situada no nível 2 de Maturidade na representação por estágios, e na categoria de Processo de Apoio na representação contínua (KULPA; JOHNSON, 2003). O CMMI pré- supõe a existência de padrões e que os mesmos estejam sendo usados, além de pré-supor que as métricas apropriadas sobre os projetos estejam sendo coletadas (SEI, 2006). Na realidade, não é o que se encontra nas empresas, mesmo em algumas organizações iniciantes na jornada da melhoria de processo, não são mantidas métricas adequadas (KULPA; JOHNSON, 2003). Não obstante, encontram-se empresas que não controlam os custos em projetos, com exceção dos que são contratados; e também existe o contrário, empresas que só controlam o trabalho da contratante, não os seus próprios compromissos internos (KULPA; JOHNSON, 2003).
O CMMI relaciona as métricas com as atividades da área de processo (PA). Por exemplo, pode-se medir (KULPA; JOHNSON, 2003): i) quanto tempo se gastou para realizar a atividade de planejamento na PA de Planejamento de Projeto; ii) quanto tempo se gastou para criar o Plano de Garantia de Qualidade na PA de Garantia de Qualidade; iii) quanto as entregas planejadas estão sendo realizadas; ou ainda, iv) os custos de projetos da sua organização.
O modelo usa a métrica como uma diretriz, ao auxiliar a decidir qual métrica poderia ser apropriada para sua organização, bem como, a coleta proposta permite gerar um manancial de informações que podem ser analisadas nas tomadas de decisões, não só para definição do
que é importante medir, mas também para permitir avaliar a viabilidade de negócios da organização (SEI, 2006).
A área de medição e análise descreve características indispensáveis para a determinação da maturidade do processo de mensuração em uma organização. Desta forma, no CMMi encontramos o que deve ser feito para possuir uma medição madura (KULPA; JOHNSON, 2003).
Para o modelo o propósito de métrica não é dirigir todo o processo, mas sim, permitir olhar para os números como indicadores e verificar como determinado projeto está sendo executado, ou ainda, como todos os outros projetos estão sendo executados na empresa. Se os números obtidos não são os esperados, há um problema? Onde o problema aconteceu? Onde aquele problema foi injetado originalmente? Entendendo a métrica e os que elas querem dizer, pode-se identificar e eliminar causas de problemas que afetam a prosperidade, e por conseqüência o atingimento dos objetivos da organização (KULPA; JOHNSON, 2003).
2.3.3.2 Abordagem do MPS.BR para criação do processo de medição
No modelo MPS.BR a medição tem como principal objetivo dar suporte a tomada de decisão no contexto de projetos, processos e atendimento aos objetivos organizacionais (SOFTEX, 2009 b).
O nível F, onde são iniciadas as medições, prevê que elas devem ser criadas a partir dos objetivos organizacionais e das necessidades estratégicas de informação da organização, provendo medições tanto para os projetos como para os produtos de trabalho (SOFTEX, 2009 a). O processo MED perpassa todos os processos do modelo MPS.BR, através do atributo de processo (RAP) 4, introduzido no nível F, da seguinte forma: “medidas são planejadas e coletadas para monitoração da execução do processo e ajustes são realizados” (SOFTEX, 2009 a pág. 39). O atendimento do RAP 4 é que torna a medição aplicável tanto no nível de projetos, como no de processos visando atender ao nível de dados organizacional. Já o RAP 21, (obrigatório a partir do nível E) determina que medidas sejam coletas e analisadas, gerando uma base para o entendimento do comportamento do processo, para permitir uma avaliação do mesmo em relação à melhoria contínua do processo.
Os dados resultantes das medições e das análises, executados a partir do nível F servem de entradas para resultados esperados de processos e de RAP’s de outros níveis, como por exemplo, (SOFTEX, 2009 c):
• RAP 9, até o nível F: determina que os métodos adequados para monitorar a eficácia e adequação do processo são determinados e os resultados do processo são revistos com a gerência de alto nível para fornecer visibilidade sobre a sua situação na organização;
• RAP 9, a partir do nível E: determina que os métodos adequados para monitorar a eficácia e adequação do processo são determinados e os resultados do processo são revistos com a gerência de alto nível para fornecer visibilidade sobre a sua situação na organização.
A atividade de medição é uma atividade que requer tempo, esforço e investimento financeiro, sendo importante definir uma forma de auxiliar na definição de quais métricas associadas ao processo de medição da empresa, podem ser as mais apropriadas à organização, independente do modelo de referência utilizado (CMMI ou MPS.BR) (McGARRY et al., 2002).