- Agilidade
Nesta série de dicionário, tratamos de conceitos, para ajudar a esclarecê-los. Em um texto anterior, falamos em linhas gerais sobre agilidade. Agora, vamos falar um pouco sobre métodos ágeis.
Método enxuto para desenvolvimento de software. Ele foi criado a partir do estudo e adaptação dos conceitos do famoso método enxuto da Toyota, que buscava otimizar os seus fluxos de produção. Assim, esse modelo promove o entendimento do fluxo de valor, a redução de desperdícios nesse fluxo, além da cultura de aprendizado e qualidade como preocupações de todo o time.
O Kanban também surgiu de uma adaptação criada a partir de um processo originalmente do método Toyota, porém com o foco específico no kanban (a solução da Toyota para gerenciar o fluxo visualmente, por meio de cartões).
Esse método busca aprimorar o fluxo de trabalho, a partir do seu entendimento, e da visibilidade que ele traz para os gargalos. O método também foca em limitar o trabalho em progresso (WIP), como uma forma de reduzir desperdício e melhorar o tempo de ciclo.
Além disso, o método não se preocupa apenas com o processo de entrega. No Kanban, há o conceito de upstream (discovery) – etapa em que se define o que será ‘puxado’ para desenvolvimento e o downstream (delivery), onde tudo o que foi definido durante a descoberta passa pelo fluxo de entrega.
Framework usado para desenvolver e sustentar produtos complexos, ele define papéis, cerimônias e regras para que essas sejam trabalhadas de forma integrada. Além de ser um dos métodos mais conhecidos, também é um dos mais prescritivos (tem mais regras e definições a seguir).
É do Scrum que vem as famosas cerimônias de planning, daily e review retrospective. Também é do Scrum que vem os papéis de Scrum Master e Product Owner. Além disso, o Scrum parece já ter “incorporado” alguns métodos que são externos a ele, como as User Stories, o Planning Poker, e o uso combinado com quadros Kanban.
O XP – eXtreme Programming – foi um dos primeiros métodos ágeis a surgir, e é também um dos mais completos, pois ele articula valores, papéis, atividades e práticas. Atualmente, é muito raro encontrar um time que utilize XP, embora a maior parte dos times ágeis usam práticas ou conceitos que foram introduzidos por esse método.
Ele ainda é responsável por difundir conceitos como planning Game, TDD, programação em pares, releases pequenas, integração contínua e diversas boas práticas que hoje são consideradas parte do dia a dia do desenvolvimento. Mesmo que você não adote o método completo, vale a pena estudá-lo.