Roges Horacio Grandi, professor da Estácio do RS. Foto: Divulgação.

Se analisarmos item por item os valores e princípios declarados no Manifesto Ágil, perceberemos que a qualidade dos produtos e serviços entregues está na essência de sua elaboração. O primeiro princípio ágil, “Nossa maior prioridade é satisfazer o cliente através da entrega contínua e adiantada de software com valor agregado”, enfatiza em seu texto dois aspectos da qualidade: a) a satisfação do cliente, um princípio da qualidade em acordo com a  ISO 9000 e b) a agregação de valor ao cliente, um princípio da gestão de processos de negócio.

O segundo diz que “Mudanças nos requisitos são bem-vindas, mesmo tardiamente no desenvolvimento. Processos ágeis tiram vantagem das mudanças visando vantagem competitiva para o cliente”. Este princípio, reforçado pela valorização da “resposta a mudanças, mais que seguir um plano”, relaciona-se ao fato natural de que o escopo dos projetos (não apenas de tecnologia) são refinados ao longo do tempo. O escopo inicia na organização de uma ideia através de uma declaração de escopo.

Assim que o projeto evolui, detalhes vão sendo trabalhados e percebe-se que algumas definições anteriores não estavam bem de acordo com as necessidades do negócio. Surgem então as requisições de mudanças. Quanto mais um produto alinha-se às necessidades de seus clientes, maior o nível de satisfação. Por esse motivo, os métodos ágeis sugerem que, sempre que possível, atenda-se as requisições de mudança que permitam esse alinhamento.

O terceiro princípio, “Entregar frequentemente software funcionando, de poucas semanas a poucos meses, com preferência à menor escala de tempo”, é relacionado ao valor de produzir “software em funcionamento mais que documentação abrangente”. Os métodos em voga antes dos métodos ágeis – CMMI, MPS.BR, SPICE e assemelhados – eram focados no cumprimento do processo estabelecido e na documentação que o mesmo produzia.

Seguindo o princípio de agregação de valor ao cliente, os métodos ágeis valorizam mais aquilo que lhe é útil diretamente (o software) em relação àquilo que lhe é complementar (a documentação). A gestão do projeto passa a utilizar como indicador a quantidade de software funcional entregue como medida de progresso: “software funcionando é a medida primária de progresso”.

O desenvolvimento de software classifica-se no quadrante dos problemas complexos do Framework Cynefin de Snowden e Boone. Nessa categoria de problemas não se conhece, a priori, a solução que claramente dará a melhor resposta. A quantidade de incertezas, riscos e  solicitações de mudanças torna sua gestão uma atividade adaptativa e altamente empírica. Processos empíricos chegam a melhor termo quando as tomadas de decisões são realizadas coletivamente por um grupo de especialistas.

Os métodos ágeis entendem, portanto, que: a) “As melhores arquiteturas, requisitos e designs emergem de equipes auto-organizáveis” b) “Contínua atenção à excelência técnica e bom design aumenta a agilidade.” e c) “Simplicidade – a arte de maximizar a quantidade de trabalho não realizado – é essencial”. Sem excelência técnica, requisitos, arquitetura e design adequados, não se produz software de qualidade.

Harvard sugere que, ao se estudar um caso, evite-se as armadilhas da pouca reflexão e da perda do senso de realidade, o que facilmente acontece quando não se procura simplificar as soluções, sempre que possível e conveniente. Outra prática relativa ao empoderamento da equipe também reflete busca pela qualidade: “Em intervalos regulares, a equipe reflete sobre como se tornar mais eficaz e então refina e ajusta seu comportamento de acordo”. Essas reuniões de retrospectiva são necessárias para que se reflita o que deu certo, e deve continuar, e aquilo que não trouxe bons resultados e demanda revisão. Trata-se da clássica análise do planejado versus realizado, derivando ações corretivas e preventivas, realizada coletivamente.

A questão do ritmo de trabalho é expressa no princípio de que “os processos ágeis promovem desenvolvimento sustentável. Os patrocinadores, desenvolvedores e usuários devem ser capazes de manter um ritmo constante indefinidamente”. Em especial, quando se adota a filosofia lean, percebe-se a importância do ritmo para equilibrar qualidade e produtividade. A quantidade de trabalho em execução (work in progress) deve evitar gargalos e sobrecargas. Também é importante “não empurrar”, adotando produção puxada, para evitar que metas de produtividade causem impactos negativos nas metas de qualidade.

Os demais princípios ágeis relacionam-se ao universo da gestão de pessoas, de stakeholders e da comunicação. Sustenta-se que “pessoas de negócio e desenvolvedores devem trabalhar diariamente em conjunto por todo o projeto”, sendo que “o método mais eficiente e eficaz de transmitir informações para e entre uma equipe de desenvolvimento é através de conversa face a face”.Deve-se: a) “construir projetos em torno de indivíduos motivados”;  b) proporcionar “o ambiente e o suporte necessário”  e c) “confiar neles para fazer o trabalho”.

Essa ênfase na confiança e na comunicação somente é possível quando se valoriza “indivíduos e interações mais que processos e ferramentas”. Falhas na comunicação e ambientes de baixa confiança devem ser evitados ao máximo, uma vez que costumam elevar significativamente os custos e levar problemas relevantes para fases finais dos projetos. Podem determinar, inclusive, a inviabilização dos mesmos com impactos significativos nos negócios.

Analisados conjuntamente os quatro valores e os doze princípios do Manifesto para Desenvolvimento Ágil de Software percebe-se, portanto, a vocação de cada um deles para proporcionar qualidade sistêmica aos projetos de software.

* Roges Horacio Grandi é professor da Estácio do RS.