Defeitos de sistemas: Confiamos nos nossos métodos para os gerir?
No passado dia 29 de junho teve lugar na GMV um webinar de caráter interno no qual oradores de vários setores e com diferentes visões e necessidades debateram o tema “Defeitos de sistemas: Confiamos nos nossos métodos para os gerir?”
A origem deste evento foi uma notícia publicada em meios digitais em que se informava que o pentágono tinha achado na última campanha de provas quase 900 defeitos de software no caça F-35, alguns deles muito críticos e tão chamativos como o cano de 25 mm que equipa o avião não funcionar bem, sendo a sua precisão “inaceitável” quando se tratava de abater objetivos em terra.
Esta notícia foi objeto de debate interno dentro do Departamento de Qualidade e RAMS (Reliability, Availability, Maintainability and Safety) da GMV. Perguntávamo-nos: 900 defeitos são muitos? são poucos? A quantidade de defeitos poderia parecer muito grande, mas quantos deles poderiam ter consequências realmente graves ou catastróficas? Tudo isso nos fez também expor se algum dos sistemas que desenvolvemos ou estamos a desenvolver atualmente na GMV pudesse chegar a ter tal quantidade de defeitos “que escaparam ao cliente”, bem como quais seriam as hipotéticas consequências se, para além disso, algum desses defeitos pudesse resultar num incidente de caráter grave ou catastrófico. Todas estas questões serviram de motivação para organizar o webinar mencionado.
Durante o mesmo indicou-se que um aspeto importante a ter em conta na hora de avaliar a qualidade de um desenvolvimento, para além do número de defeitos que tenham podido escapar ao cliente, era a criticidade dos mesmos, que vem determinada pelas consequências das falhas que pudessem ocasionar. Este é um aspeto que o Sistema de Gestão de Qualidade da GMV contempla no sentido de que é adaptável em função do nível de criticidade do sistema que se vá desenvolver. Por isso os projetos de desenvolvimento categorizam-se em “Projetos de Desenvolvimento Operacional” e “Projetos de Desenvolvimento Operacional Crítico” ajustando-se os processos, procedimentos e práticas base do Sistema de Gestão de Qualidade em função de se tratar de uma ou outra categoria de projeto. Este foi um dos elementos chave na altura de implantar uma metodologia de desenvolvimento eficiente.
No caso dos “Projetos de Desenvolvimento Operacional” não crítico estabeleceu-se um conjunto mínimo de práticas base que nos estão a permitir desenvolver produtos de elevada qualidade e a um custo ótimo.
Entre os elementos que facultaram alcançar esse objetivo, está dispor de um modelo preditivo de defeitos de software que permite estimar desde fases iniciais dos projetos e em função dos defeitos que se vão detetando nas diferentes atividades de verificação e validação, a qualidade do software que se vai entregar, permitindo também identificar ações corretivas quando os dados pudessem indicar que a dita qualidade pudesse ser deficiente. Este modelo permite também controlar o custo dos defeitos o que enlaça com o objetivo de ser eficientes na altura de gerir os defeitos.
Trata-se de uma ferramenta muito potente de que, em geral, não dispõem outras empresas do setor aeronáutico e que apenas empresas como a GMV, que alcançaram um nível de maturidade 5 (o máximo) segundo o modelo de melhoria CMMI, desenvolveram.
Também é preciso mencionar que em todos os projetos da GMV se institucionalizaram de forma muito generalizada e rigorosa, um conjunto de práticas eficientes na hora de detetar defeitos em fases anteriores à provas, como são as inspeções formais de código (que podem chegar a detetar até 66% dos defeitos totais que encontram ao longo de toda a vida do produto) e as revisões formais de requisitos e design.
Todas estas práticas e ferramentas permitem à GMV entregar produtos que apesar de não estarem isentos de defeitos (convém recordar aqui que todos os produtos entregues por qualquer empresa têm defeitos), têm uma excelente qualidade, com uma baixa taxa de falhas quando o cliente os usa e tudo isso sem incorrer em sobretaxas para alcança esse nível de qualidade. No caso de desenvolvimentos de software essa taxa de defeitos que escaparam ao cliente está abaixo de 1 defeito por cada mil linhas de código.
No que respeita aos “Projetos de Desenvolvimento Operacional Crítico” não só se trata de entregar produtos com uma taxa de falhas pequena mas também de evitar que escape qualquer falha que pudesse chegar a ter consequências catastróficas ou graves. Para conseguir este objetivo, por um lado aplicam-se atividades de verificação mais rigorosas e por outra levam-se a cabo umas exaustivas análises de RAMS. A GMV dispõe de uma consolidada metodologia de RAMS que se aplica aos “Projetos de Desenvolvimento Operacional Crítico” com objeto de identificar e implementar requisitos e recomendações adicionais orientados a evitar a ocorrência de falhas de natureza grave. Tendo em conta que, segundo alguns estudos tecnológicos relativos à qualidade SW, os defeitos de gravidade elevada são maioritariamente de design/requisitos, as atividades de engenheira RAMS, que se baseiam em análise de alto nível dos ditos elementos, constituem a melhor garantia para evitar os defeitos graves que pudessem conduzir a incidentes de consequências catastróficas ou graves.
À luz dos argumentos anteriormente apresentados e outros expostos ao longo do webinar a impressão geral entre os participantes foi que a GMV dispõe de uma sólida metodologia de desenvolvimento que permite uma gestão eficiente dos defeitos.
Autor: Santiago Ledesma