Série Os 7 princípios do desenvolvimento agil de software: Post 06 « Blog Informant
Série Os 7 princípios do desenvolvimento agil de software: Post 06
Chegamos hoje ao sexto post da série sobre o desenvolvimento ágil de softwares. O penúltimo princípio do método é build integrity in, ou seja, embutir a qualidade no processo.
Problemas de integridade no desenvolvimento de softwares podem gerar desperdícios de tempo e recursos, como vimos no primeiro post (link). Mas pior que isso é o produto final não satisfazer o cliente, fazendo com que todos os esforços tenham sido em vão.
Para garantir a qualidade de um software, os desenvolvedores devem ter em mente dois tipos de integridade. A percebida, que é quando o cliente se encanta com a experiência que no produto, e a conceitual, ou seja, um sistema que possui equilíbrio em atributos como flexibilidade, manutenção, eficiência, usabilidade, entre outros.
Em busca de vantagens competitivas, é comum que algumas empresas priorizem outros pilares do projeto, como o custo e o prazo, em detrimento da qualidade. Ainda assim, sabemos que a integridade básica é indispensável em qualquer software, pois somente assim os clientes perceberão o verdadeiro valor da entrega.
Conheça algumas formas de embutir a qualidade no desenvolvimento ágil de softwares:
A ideia da programação em duplas é trazer a contribuição de dois profissionais diferentes para cada tarefa. Aqui vale a máxima de que duas cabeças pensam melhor que uma.
Essa estratégia é importante para aumentar a produtividade e a qualidade do processo, pois combina as experiências anteriores dos desenvolvedores e permite que cada obstáculo seja avaliado sob ao menos dois pontos de vista diferente.
Além disso, enquanto um dos profissionais está envolvido em uma tarefa, o outro já pode estar pensando mais adiante, prevenindo problemas antes mesmo que eles ocorram.
Já vimos no blog da Informant que o Test Driven Development consiste na elaboração de testes antes mesmo que o código seja escrito (link). Esse método permite que o desenvolvedor trabalhe no código sabendo como ele pode passar nos testes de qualidade, resultando em um trabalho mais simples e eficaz.
Usar essa estratégia garante um processo mais confiável, em que possíveis erros já são conhecidos antes mesmo que o desenvolvedor inicie seu trabalho. Isso faz com os esforços sejam voltados para evitar problemas e não para gerenciá-los posteriormente, reduzindo os custos para a correção de erros.
Outra forma de embutir a qualidade no desenvolvimento ágil é o desenvolvimento iterativo, que ocorre em ciclos que se repetem e vão agregando valor ao longo do projeto. Esse processo é feito de forma extremamente colaborativa e permite feedbacks constantes entre a equipe e o cliente.
Essa integração constante é valiosa para que o produto seja inspecionado e adaptado a cada ciclo, garantindo a qualidade em cada uma das etapas.
Reduzir lacunas
Vimos em nossa série que um dos princípios do desenvolvimento ágil é entregar o mais rapidamente possível (link). Sabemos que a pressa é inimiga da perfeição, mas esse preceito também é fundamental na busca pela qualidade.
Isto porque as entregas rápidas permitem que as lacunas de tempo entre o desenvolvimento, os testes e a correção de falhas sejam reduzidas. Dessa forma, assim que uma funcionalidade está pronta, ela já pode entrar no sistema e ser testada o quanto antes.
Quando esses gaps (as lacunas) são muito grandes, a continuidade do projeto fica em risco, causando possíveis atrasos causados por troca de tarefas, reaprendizado e falta de foco.
Retrabalho? Ok!
Ao longo de nossa série de posts, foi possível perceber que o desenvolvimento ágil garante maior flexibilidade durante todo o projeto, permitindo mudanças causadas pela falta de detalhamento dos requisitos no início das atividades.
Os métodos tradicionais de desenvolvimento de software não proporcionam essa dinâmica e, por isso, não se mostraram tão produtivos. Com isso, o desenvolvimento ágil vem ganhando espaço justamente por ser capaz de garantir mudanças bruscas a cada etapa para garantir maior qualidade e atendimento dos requisitos no produto final.
No próximo texto, fechamos esta série, com o último princípio do desenvolvimento ágil. Está pronto? Que tal reler os posts anteriores (link) enquanto isto?