Qualidade do Processo e Produto com CMMI


Desde as primeiras versões que a metodologia CMMI para o desenvolvimento de software inclui, na área de processos de suporte, um processo que aborda as questões da qualidade de processos e do produto (AQPP – Assegurar a Qualidade de Processos e Produtos) visando permitir, aos técnicos de desenvolvimento e aos diversos níveis de gestão, uma perceção correta da qualidade dos processos implementados e respetivos produtos associados.




A área de processo de AQPP tem dois objetivos específicos: 1) Avaliação objetiva da aderência aos processos, normas e procedimentos; 2) Resolver os problemas de não aderência detetados (ver diagrama abaixo).

Frequentemente os processos relativos a AQPP são mal compreendidos o que leva a que sejam implementados como se de testes se tratassem.

Parte dessa confusão, deriva da incapacidade para distinguir entre Controlo de Qualidade e Assegurar a Qualidade, atividades com objetivos, técnicas e ferramentas distintas; mas também da dificuldade, revelada pelas organizações, em implementar um processo eficiente e eficaz para assegurar a qualidade do desenvolvimento de software.

O Controlo de Qualidade tem por objeto, a avaliação e a verificação da qualidade dos processos do ciclo de vida de desenvolvimento de software e dos seus produtos. As funções ou atividades de controlo visam determinar se as características do produto estão dentro de uma margem de tolerância previamente definida e oferecem qualidade aceitável. Controlar a Qualidade passa pela, mas não se restringe à, execução de testes e inspeções.

Em contraste, Assegurar a Qualidade é avaliar e verificar a forma de funcionamento de um determinado processo. As ferramentas e técnicas usadas são as auditorias e a avaliação de objetivos no sentido de perceber: Se o processo está a ser corretamente usado? Se os controlos de qualidade estão a ser usados com rigor? Se são eficientes e efetivos? Se o processo implementado está adequado às necessidades da organização. Controlar a Qualidade, está no âmbito da área de processos de Verificação. Já Assegurar a Qualidade é entendido pela metodologia CMMI, como devendo integrar a área de processos de suporte. As duas áreas de processos podem ocasionalmente incidir sobre o mesmo produto mas fazem-no sobre perspetivas distintas. Os projetos podem tirar vantagem desta sobreposição se conseguirem otimizar o uso de recursos sem perder de vista a distinção de perspetivas.



A área de processo AQPP contém dois objetivos específicos, os quais são suportados por 4 práticas específicas[i] e diversas sub-práticas[ii]. Na representação contínua do CMMI a estas dois objetivos específicos juntam-se 5 objetivos genéricos[iii].

O primeiro objetivo específico é conseguido através da utilização de duas práticas específicas; uma visando a avaliação objetiva de processos e a outra a avaliação objetiva de produtos.

O segundo objetivo específico é igualmente atingido através da utilização de duas práticas específicas; a primeira consistindo na comunicação das não conformidades encontradas a todas as partes interessadas no projeto; a segunda constando do estabelecimento e manutenção de registos referentes às atividades para assegurar a qualidade. Adicionalmente, a área de processos AQPP recorre a 5 objetivos genéricos com o intuito de garantir a devida institucionalização dos processos em causa. O quadro seguinte detalha esses objetivos e respetivas práticas genéricas.



A institucionalização de um dado processo implica que este se encontra enraizado no dia-a-dia da organização, sendo efetuado de forma consistente ao longo do tempo. Um processo institucionalizado tem mais probabilidade de ser mantido mesmo em situações de crise.

No CMMI, o grau de institucionalização encontra-se embutido no código e no nome dos processos que definem cada um dos objetivos genéricos.

Para estar conforme com os requisitos e as diretivas da área de processos AQPP, cada projeto deve desenvolver um plano específico onde se detalham as funções necessárias para suportar a qualidade.

Os responsáveis do projeto, esperarão da função Assegurar a Qualidade, suporte nas seguintes áreas:

  • Conhecimentos relacionados com os processos de qualidade no âmbito dos projetos;
  • Contributos para melhorar a eficiência dos processos de qualidade usados pela equipa de projeto;
  • Assistência:
    • Na criação e gestão de um plano e do modelo de qualidade que atenda à criticidade do produto;
    • Na seleção das normas e legislação relevante para o projeto;
    • Na costumização das normas e processos de forma a permitir o efetivo uso no âmbito do projeto;
  • Execução de avaliações objetivas e auditorias que assegurem que os objetivos de qualidade são cumpridos e que a integridade do sistema está a ser mantida.
A objetividade, no processo de Assegurar a Qualidade, é um fator crítico de sucesso, só podendo ser atingida através da independência e do uso de critérios claramente enunciados e aceites antecipadamente. Processos menos formalizados podem ser conduzidos recorrentemente, intercalados com a utilização periódica de processos mais formais que garantam a objetividade.

No entanto, mesmo nos casos de abordagens menos formais, é importante o cumprimento de determinados requisitos, nomeadamente:
  1. Todos os que realizam atividades relacionadas com a área de processo “Assegurar a Qualidade” devem ter formação específica nessa área;
  2. Deve existir uma clara distinção entre quem desenvolve e quem avalia a qualidade de um dado produto de software;
  3. Deve existir um canal de comunicação independente para os avaliadores, de forma a garantir que, as questões de não conformidade identificadas são, se necessário, devidamente comunicadas e resolvidas aos níveis superiores de gestão.
Uma das quatro práticas específicas, da área de processo AQPP, é referente à avaliação objetiva do produto de desenvolvimento ou do serviço. Na metodologia, esta prática é definida como “A avaliação objetiva dos produtos ou serviços, comparando-os com as descrições de processos, normas e procedimentos relevantes”, e deverá ser efetuada com recurso à informação disponibilizada pelos relatórios de avaliação e de não conformidades detetadas, bem como das respetivas ações corretivas. A prática em causa é decomposta num conjunto de sub-práticas dentro das quais se incluem:
  • O estabelecimento e a manutenção de critérios de avaliação claros;
  • A utilização desses critérios para a avaliação dos produtos ou serviços;
  • A avaliação recorrente, de acordo com um calendário que acompanhe todo o processo de desenvolvimento do produto ou serviço; O uso dessas avaliações recorrentes, para tirar ilações sobre o estado de desenvolvimento do produto.

    Comece por aqui para ler tudo sobre qualidade de software. 

     

    [i] Prática específica é, de acordo com a metodologia do CMMI, uma prática que descreve uma atividade considerada importante para a obtenção do objetivo específico que lhe está associado, numa determinada área de processo.
    [ii] Sub-práticas são entendidas, na ótica da metodologia do CMMI, como uma descrição detalhada de tarefas que ajudam a interpretar e a implementar uma prática específica ou genérica.
    [iii] Objetivos genéricos são definidos na metodologia do CMMI como objetivos que se aplicam a múltiplas áreas de processos. Um objetivo genérico descreve características que devem estar presentes para que o processo se considere institucionalizado.

    Postagens mais visitadas deste blog

    PMBOK v6: 7.4 Controlar os Custos do Projeto

    PMBOK: Ferramentas e Técnicas – Método da Corrente Crítica (Parte 1)