Nessa época do ano o calendário nos chama para a necessidade de reflexões: o que fizemos de bom no ano que se encerra e o que queremos mudar no ano vindouro é geralmente a base de muitas reflexões. Aproveitando esse espírito de renovação que um novo ano nos traz, que tal planejar para o próximo ano os oito passos para a melhoria da qualidade do software? Esse artigo aborda o tema de qualidade de software e o coloca sob uma perspectiva da melhoria contínua, e não um algo com começo meio, e fim.

clip_image001De modo geral as pessoas tratam a  qualidade de software como resultado final de um esforço pontual, ou ainda como um destino que se quer chegar, se possível com o mínimo esforço. E qualidade de software não é isso. É sim uma viagem que nunca termina. À medida que se começa a efetuar medições no processo de desenvolvimento e a gerenciar a qualidade do processo e do produto de software, irá se aprender mais sobre o processo e sobre o produto de software. Em seguida, cada passo de melhoria irá proporcionar novos conhecimentos, experiências e dados necessários para o próximo passo. Assim deve-se focar na melhoria contínua e ajudar as equipes de desenvolvimento de software à realmente acreditar e seguir os princípios da gestão da qualidade. Como as necessidades de cada desenvolvedor são diferentes, deve-se reconhecer onde cada um dos desenvolvedores está nessa jornada para que possam ser orientados a dar o próximo passo. Os oito passos na jornada da qualidade são os seguintes: >

1. Testar e corrigir. Inicialmente, o foco de quase todas as equipes de desenvolvimento de  software está simplesmente em fazer com que o software funcione. O objetivo dos desenvolvedores é apenas finalizar o desenvolvimento para iniciar a etapa de testes o mais rapidamente possível. Daí inicia-se o ciclo de testar e corrigir (e testar e corrigir e testar e corrigir e…) até que o software funcione suficientemente bem para liberá-lo para os usuários. Nesta fase, a única forma que os desenvolvedores sabem para melhorar a qualidade do software é gastar mais tempo e dinheiro em testes. O desafio aqui é mudar os desenvolvedores o mais rápido possível para as etapas de 2 a 8 da jornada da qualidade.

2. Inspecionar. O próximo passo é quando os desenvolvedores e gerentes começam a remover os defeitos antes da etapa de testes funcionais. Isso geralmente é feito com vários tipos de inspeções. O desafio típico nesta etapa é conseguir com que os desenvolvedores  façam todas as inspeções necessárias e as façam  corretamente.

3. Medição parcial. À medida que as iniciativas de inspeção amadurecem,  os desenvolvedores começam a medir e a usar os dados obtidos da inspeção tanto para melhorar o processo de inspeção e a concentrar as inspeções sobre os elementos mais problemáticos do software. Agora o desafio é obter dados adequados e utilizar esses dados para melhorar o software.

4. Dono da qualidade. Como os desenvolvedores participam das inspeções da equipe, eles podem se tornarem mais sensíveis aos erros que eles cometem e começar a rever sua forma de trabalho com antecedência, para eliminar o maior número de problemas possíveis. Uma vez que os desenvolvedores chegam a este ponto, a qualidade do software por eles produzido irão melhorar rapidamente.

5. Medições pessoais. Para que os desenvolvedores possam melhorar a qualidade do seu trabalho, eles necessitam de dados objetivos. Os dados necessários se referem aos defeitos que cada um introduziu e removeu bem como o tamanho e o tempo que foi gasto para o software desenvolvido .Aqui o desafio é criar as condições para a coleta e o uso desses dados. À medida que os desenvolvedores examinam os dados sobre os defeitos que escaparam das inspeções, a qualidade dos testes e do produto final de software irá novamente ser elevada.

6. Design. Uma vez que os desenvolvedores tenham aprendido a gerir os seus defeitos de codificação, eles podem focar agora em defeitos de design. Isso demanda práticas precisas de design  e também métodos de verificação adequados. O desafio é usar métodos de design para todos os programas (grandes ou pequenos) e utilizar métodos de verificação de design em todas as inspeções e revisões de design de cada desenvolvedor.

7. A prevenção de defeitos. Enquanto o  uso de métodos de design e de medição reduzem as taxas de injeção de defeitos em cerca de duas vezes, programas eficazes de prevenção de defeitos  seguem um processo estruturado para identificar problemas no processo e fazer as mudanças necessárias para eliminar ainda mais a ocorrência de defeitos. O desafio é fazer com que o programa de prevenção de defeitos seja iniciado e, em seguida, sustentá-lo para que seja ampliado e possa cobrir o ciclo de vida completo de desenvolvimento de software.

8. Medição baseada no usuário. Finalmente, o programa de qualidade deve ser direcionado por medidas de qualidade baseadas nos usuários. O principal desafio é entender as características de qualidade que são mais importantes para os usuários e medir essas características de uma forma que tenha significado tanto para os desenvolvedores quanto para os usuários.
A mensagem principal desses oito tópicos sobre a jornada da qualidade é que eles devem ser percorridos em etapas. Até que os desenvolvedores façam progressos razoáveis para a etapa 5, eles não terão os dados suficientes para apoiar as etapas 6, 7 ou 8. Assim, enquanto deve-se ter uma visão de longo prazo, a equipe de desenvolvimento deve estar focada no próximo passo desta jornada da qualidade.

E quanto a você e sua equipe de desenvolvimento, vocês possuem um plano estratégico para a melhoria da qualidade de software? Em qual passo da jornada da qualidade sua equipe se encontra? Ou sua equipe está na etapa 1 – Testar e corrigir?

*Esse artigo foi adaptado do livro  Reflections on Management – How to Manage Your Software Projects, Your Teams, Your Boss, and Yourself. Os autores são Watts S. Humphrey e Willian R. Thomas.