Por que eu devo ler este artigo: Este artigo busca avaliar e conceituar o desenvolvimento de projetos através de metodologias de desenvolvimento ágil como XP e Scrum e com maior foco em metodologias mais novas como Kanban e Lean, trazendo seus conceitos e realizando um comparativo entre elas. São comparadas e avaliadas algumas ferramentas existentes que servem de apoio à aplicação de cada uma das metodologias abordadas, explicando sua utilização e de que forma contribuem para o sucesso do uso da metodologia ágil em questão.

A discussão deste tema é útil porque a partir da popularização deste tipo de desenvolvimento em projetos, passa a ser importante o acompanhamento adequado de sua realização e também do cumprimento das principais práticas propostas por cada modelo a fim de assegurar que sua realização não seja comprometida por uma aplicação incorreta de cada metodologia ágil. Além disso, o artigo será útil em situações que um gerente de projetos queira avaliar a escolha de uma metodologia ágil para aplicar em seu projeto, podendo consultar as principais características de algumas das opções mais conhecidas e também visualizar o funcionamento de algumas ferramentas de apoio a estas metodologias.

O desenvolvimento ágil tem alcançado sucesso nas empresas por aumentar seu foco na entrega do produto e reduzir custos no projeto. Além do retorno no investimento, as metodologias ágeis permitem que as expectativas sejam vistas ainda nas etapas iniciais do projeto, permitindo seu cancelamento por parte do cliente antes que tenham sido gastos muitos recursos em sua realização.

Como principais características, os responsáveis pelos testes possuem responsabilidade na qualidade do projeto desde seus estágios iniciais; os desenvolvedores apresentam maior autonomia e influência para estimativas e prazos; os gerentes de projeto possuem facilidade para alterar a direção do desenvolvimento de acordo com as necessidades do cliente, além de um retorno mais constante através do trabalho desempenhado pelos desenvolvedores; o usuário também terá maior facilidade de alterar a direção do desenvolvimento, além de receber com maior frequência versões do produto; a direção poderá ver mais rapidamente um retorno do investimento realizado.

Em 2001, alguns autores da área do desenvolvimento ágil publicaram o Manifesto para Desenvolvimento Ágil de Software, uma publicação que continha alguns valores e princípios desta prática. De acordo com este manifesto, para melhorar o desenvolvimento de software passaram a valorizar indivíduos e interações mais do que ferramentas e processos, software em funcionamento mais do que sua documentação, colaboração com o cliente mais do que negociar contratos e reagir e responder a mudanças mais do que seguir um plano estabelecido. Dentre os doze princípios enumerados no manifesto, pode-se destacar que “software funcionando é a medida primária de progresso” e 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”.

Orientadas por estes conceitos, existem variações quanto à metodologia ágil a ser utilizada. Algumas das metodologias ágeis atuais são: XP (eXtreme Programming), Scrum, Kanban e Lean.

XP (eXtreme Programming)

O XP, uma das metodologias mais populares de desenvolvimento ágil, é definido como um estilo de desenvolvimento de software que faz uso de ciclos de desenvolvimento curtos ao invés de um único ciclo extenso, com base em um plano incremental do que é esperado durante o projeto, chegando assim a um plano geral e flexível para a implementação de funcionalidades de acordo com as necessidades de negócio. Assim como outras metodologias voltadas ao desenvolvimento ágil, o uso do XP requer testes durante o período de desenvolvimento para correção de defeitos ainda nas primeiras etapas da codificação, é pautado na comunicação e em uma estrutura evolutiva e equilíbrio das ações requisitadas em curto prazo atendendo os interesses em longo prazo.

Os pequenos ciclos que constituem o ciclo de vida do XP podem ser vistos na Figura 1. Algumas das atividades que constituem o XP são:

  • programação em pares, um método de programação onde dois programadores realizam a codificação em conjunto objetivando uma melhor comunicação e limpeza de código, além de agilizar este processo;
  • os testes de unidade para validação do código-fonte ainda na fase inicial do desenvolvimento, verificando os testes já realizados à medida que novas funcionalidades são implementadas e também visando corrigir as falhas nos testes de aceitação;
  • a negociação de pares que é o período de definição dos pares que farão a codificação, fazendo com que os pares não fiquem inalterados por todo o projeto e permita a interação entre todos os membros da equipe;
  • reuniões em pé para definição de tarefas, incluindo a negociação dos pares, de maneira rápida e objetiva;
  • testes de aceitação para verificação da usabilidade do software e se atende ao que foi solicitado pelo usuário;
  • planos de iteração para desenvolvimento do plano de entrega e identificação de tarefas incompletas ou falhas no sistema que necessitem de correção;
  • plano de entrega que é o encontro de usuários e desenvolvedores para determinar os requisitos que serão implementados e prazos para as entregas.
Ciclo de vida do XP

Figura 1. Ciclo de vida do XP

O XP é conduzido pela utilização do TDD, Test Driven Development (Desenvolvimento Dirigido a Testes), que é a criação de testes automatizados para então ser criada a codificação necessária para validação do teste, com consequente refatoração e limpeza de código.

Scrum

Scrum é um processo ágil de desenvolvimento de software. Ele é melhor caracterizado como um framework ao invés de uma metodologia por não apresentar descrições detalhadas e completas sobre como cada parte do processo será realizada. Ele é classificado como um processo ...

Quer ler esse conteúdo completo? Tenha acesso completo