Quando pensamos na criação de um produto, é muito provável que a palavra “planejamento” esteja no centro das nossas considerações. Aliás, é preciso desenhar um roteiro bem estruturado que nos ajude a saber tudo que será preciso realizar para criar algo rentável.
Sem tempo para ler? Clique no play abaixo para ouvir esse conteúdo.
Foi pensando nesse planejamento e em todas as etapas do processo de criar software que nasceram as metodologias ágeis. Mas o que elas são, para que servem e quais são as mais comuns?
O Na Prática conversou com Renata Aguiar, Delivery Principal da Thoughtworks que tirou todas as dúvidas dos nossos leitores. Confira a seguir.
O que são as metodologias ágeis?
Inicialmente, as metodologias ágeis surgiram como uma alternativa ao modelo tradicional de engenharia de software, herdado das outras engenharias (principalmente civil e mecânica). Segundo Renata, a ideia era que elas se fundamentassem em planejamento prévio e previsibilidade.
“De modo geral, o ágil é uma mentalidade de trabalho que prioriza adaptabilidade e eliminação de desperdício por meio de foco em qualidade, melhoria contínua de processos e entrega rápida de valor”, explica a especialista.
Todos os frameworks ágeis foram inspirados no Manifesto Ágil, texto escrito em 2001 por um grupo de pessoas desenvolvedoras, dentre elas Martin Fowler (Chief Scientist da Thoughtworks), que compartilhavam a insatisfação com o modelo vigente. O Manifesto trazia (e ainda traz, é claro) 4 valores principais:
- Indivíduos e interações mais que processos e ferramentas
- Software funcionando mais que documentação extensa
- Colaboração com a cliente mais que negociação de contratos
- Responder a mudanças mais que seguir um plano
O texto base do Manifesto não prega a eliminação de ferramentas, documentação, contratos e planejamento. No entanto, defende que o mais importante são:
- as interações e a colaboração entre as pessoas do time;
- as entregas frequentes de software funcionando, que podem ser utilizados, validados e replanejados, para que, a partir da análise das métricas de produto, o time consiga evoluir e entregar cada vez mais valor;
- o diálogo franco do time com as partes interessadas pelo produto que está sendo construído;
- a adaptabilidade e resposta rápida à mudança, já que os requisitos podem ser alterados frequentemente por conta das lições aprendidas e do feedback rápido das usuárias do produto
Como as metodologias ágeis podem ajudar as empresas de hoje?
Na visão de Renata, o grande impacto das metodologias ágeis no dia a dia diz respeito a como elas ajudam a estruturar o trabalho.
As ferramentas tornam os processos mais leves e eficientes, explica ela, na medida em que esses processos evoluem a cada ciclo, a partir das métricas do próprio time. No fim, elas são utilizadas para identificar gargalos nos processos e para o time perseguir a melhoria contínua.
“No entanto, acredito que a maior contribuição da metodologia ágil está relacionada à mudança de cultura dentro das empresas”, conta Renata. “Só é possível colher todos os frutos da agilidade se a estrutura organizacional proporcionar um ambiente seguro, no qual as pessoas tenham autonomia e espaço para errar e aprender.”
Sobre isso, Renata completa:
“As metodologias ágeis trouxeram uma mudança de paradigma quando paramos de nos perguntar ‘como entregamos tudo’ para entender ‘como entregamos o mais importante’. Ou quando deixamos de partir para a solução antes mesmo de descobrir qual é o problema e como saberemos que ele foi resolvido. Isso só é possível em uma organização madura, focada em empoderar as pessoas a tomarem as decisões e que colocam as usuárias em primeiro lugar.”
Quais são as principais metodologias ágeis?
Dados divulgados pelo State of Agile Report (2021) mostram que 66% dos times ágeis no mundo utilizam o modelo Scrum como a principal metodologia ágil. Na sequência, aparecem o Scrumban – um modelo híbrido que utiliza elementos do Scrum e do Kanban (9%), o Kanban (6%), o modelo híbrido Scrum/XP (6%) e o próprio XP (1%).
Segundo Renata, a cultura ágil é algo muito presente no dia a dia da Thoughtworks. Confira mais sobre as principais metodologias:
#1. Scrum
O Scrum, desenvolvido em 1990, é um framework para gestão e desenvolvimento de projetos complexos. Nele, os times são compostos por papéis fixos, como o Scrum Master, o Product Owner e os desenvolvedores, e trabalham em ciclos chamados de Sprints, geralmente com duração de duas semanas.
Durante esses períodos, o time se compromete a entregar um conjunto de funcionalidades definidas previamente, chamado de backlog do Sprint. É fundamental que haja clareza sobre o que será desenvolvido durante o Sprint, pois mudanças de priorização e planejamento são desencorajadas durante esse período. O Scrum é ideal quando os requisitos do projeto são estáveis e bem compreendidos.
Saiba mais sobre o Scrum clicando aqui!
#2. Kanban
O Kanban, originado nas linhas de montagem da Toyota nos anos 1960, é um método visual para gerenciar o trabalho de forma eficiente e ágil. Ao contrário do Scrum, os papéis no Kanban podem surgir conforme necessário, e o fluxo de trabalho é contínuo, sem ciclos definidos como no Scrum. As tarefas são visualizadas em um quadro Kanban, onde cada etapa do processo é representada por colunas.
Esse método é altamente recomendado em situações onde a ordem das atividades e sua importância podem mudar frequentemente, e o time precisa estar pronto para responder rapidamente a novas demandas.
#3. XP
A Programação Extrema, ou XP, é um modelo de desenvolvimento de software que enfatiza práticas de engenharia, tais como programação em pares, integração contínua e testes automatizados. O foco principal do XP é melhorar a qualidade do software e a produtividade da equipe, através de iterações curtas e feedback constante.
É uma abordagem menos prescritiva em comparação com o Scrum e o Kanban, mas ainda assim altamente eficaz para equipes que desejam melhorar continuamente seus processos de desenvolvimento.
#4. SAFe
O SAFe é um framework que combina os princípios ágeis com práticas Lean e cultura DevOps, visando escalar o desenvolvimento ágil em organizações de grande porte. Ele oferece uma estrutura para coordenar e alinhar múltiplos times e programas em uma organização, permitindo uma entrega mais rápida e confiável de valor para o cliente.
No entanto, algumas críticas apontam que o SAFe pode ser excessivamente prescritivo, introduzindo complexidade e fricção entre as equipes. Isso pode limitar a flexibilidade e a capacidade de resposta rápida às mudanças, que são fundamentais para o sucesso do desenvolvimento ágil.