Metodologias ágeis
Área técnica Definição
Do que trata esta área técnica?
As metodologias ágeis, também conhecidas por Agile, são abordagens de gestão de projeto utilizadas na criação e na evolução de produtos e serviços digitais. Baseiam-se na entrega e melhoria contínua em iterações rápidas, de forma a apoiar na colaboração de equipas multifuncionais que seguem um ciclo de planeamento, execução e avaliação.
Por serem um modelo adaptativo e incremental, permitem confirmar logo desde início se a solução dá resposta às necessidades dos seus utilizadores, que facilita a introdução de correções e melhorias com baixo custo e risco. Permitem também que as equipas respondam de forma mais rapida ao feedback dos utilizadores e às mudanças no mercado.
A comunicação aberta, a cocriação, a adaptação e a confiança entre os membros de uma equipa estão no centro do conceito Agile. Embora o gestor de produto dê prioridade ao trabalho a entregar, a equipa decide como organizar e distribuir o trabalho ao longo das tarefas e fases.
Os quatro valores essenciais do Agile:
- Flexibilidade: os indivíduos e as suas interações têm prioridade sobre processos rígidos
- Feedback: a comunicação regular e a entrega antecipada de soluções prevalecem sobre documentação extensa e detalhada
- Cocriação: as soluções desenvolvidas de forma colaborativa são mais valiosas do que requisitos definidos à partida e imutáveis.
- Adaptabilidade: a inclusão de mudança ao longo do processo é bem-vinda, em contraste com um plano fechado e sem alterações
Em termos estruturais, o desenvolvimento ágil dos serviços públicos digitais é realizado por equipas pequenas e auto-organizáveis, que se reúnem ao longo do ciclo de vida do projeto. São compostas por perfis diversos: gestores de produto, stakeholders, programadores, designers, analistas, scrum masters, entre outros.
Benefícios
Por que é importante?
- Supera as limitações associadas às metodologias tradicionais de desenvolvimento de projetos, como a metodologia Waterfall
- Permite definir prioridades com clareza a curto e médio prazo
- Promove o ajuste e melhoria contínua de processos e métodos de trabalho
- Envolve todos os memebros da equipa no planeamento do trabalho
- Define períodos curtos entre cada entrega, de forma a promover a entrega antecipada e contínua de software pronto a avaliar pelos stakeholders
- Assegura a deteção precoce de falhas no processo de desenvolvimento e a sua rápida resolução com menor risco e custo
- Melhora a comunicação e maximiza a cooperação entre todos os intervenientes
Princípios das metodologias ágeis
O que é importante não esquecer?
A publicação do Manifesto Ágil, em 2001, estabelece o início formal do conceito de metodologias ágeis, ao disponibilizar 12 princípios que definem como aplicar esta abordagem no desenvolvimento de software.
Na prática, as metodologias ágeis têm como objetivo a entrega rápida de pequenas partes de software funcional para aprimorar a experiência dos utilizadores, com foco na melhoria contínua. Com base em abordagens adaptativas e trabalho de equipa, sao estes os 12 princípios do Manifesto Ágil:
Metodologias ágeis
Que tipos existem?
As metodologias ágeis expressam-se através de abordagens distintas de gestão de projeto, cada uma com as suas práticas e características próprias. Existem cerca de cinquenta metodologias ágeis, mas as mais relevantes para o contexto dos serviços públicos digitais são:
Scrum
É uma das metodologias ágeis mais utilizadas, que assenta uma abordagem iterativa e incremental com equipas multidisciplinares de elevado desempenho. Divide o desenvolvimento em períodos curtos, designados por sprints, com duração de uma a quatro semanas, cada um com o objetivo de entregar um incremento ao produto.
No final de cada sprint, a equipa realizada uma revisão e avaliação dos resultados, onde são consideradas possíveis alterações ao produto e adaptações aos processos de trabalho que se seguem. Esta metodologia incentiva as equipas a aprenderem através das experiências, a auto-organizarem-se e a refletirem sobre os seus sucessos e insucessos, de forma a contribuir para uma melhoria contínua.
A metodologia Scrum assenta em três pilares:
- Transparência – a comunicação aberta e a partilha de informação entre todos os stakeholders do projeto promove a confiança e a colaboração
- Inspeção – a avaliação e revisão constante do progresso do projeto e do produto permitem identificar desvios face ao planeado, o que promove a melhoria contínua
- Adaptação – após a inspeção do produto e do processo, a equipa ajusta as suas estratégias com base nas informações obtidas
Kanban
É uma metodologia de trabalho continuo em que os itens de trabalho são representados por cartões num painel kanban, o que torna o fluxo de trabalho visível para todos os membros da equipa. É fácil identificar as tarefas em curso, as que se encontram bloqueadas e por iniciar, o que permite que os membros da equipa se preparem para as próximas tarefas.
As políticas de processos são claras, o trabalho em curso é limitado e a equipa colabora na melhoria contínua, com flexibilidade para responder a novas necessidades.
A metodologia Kanban engloba três princípios:
- Visualizar o trabalho que deve ser realizado em cada momento
- Estabelecer limites à quantidade de trabalho em curso, para que a equipa não se comprometa em demasia
- Impulsionar o fluxo de trabalho quando uma tarefa está perto de ser concluída, para que o item seguinte possa avançar
Extreme Programming
É uma metodologia de trabalho que implementa entregas rápidas e pequenas, com iterações de cerca de duas semanas, que resultam em soluções prontas para produção. Privilegia a excelência técnica, a produtividade e a qualidade do software em detrimento de documentação extensa. Procura implementar práticas como a integração continua, programação em par, desenvolvimento orientado por testes e testes de aceitação.
Esta metodologia assenta em cinco princípios:
- Alterações incrementais
- Aceitação prática de mudanças
- Simplicidade
- Controlo de qualidade
- Feedback rápido
PM2-Agile
Em organizações de grande dimensão, os projetos que adotam metodologias ágeis podem precisar de colaborar com outros projetos que seguem abordagens distintas, com a necessidade de cumprir, ao mesmo tempo, requisitos de governança, arquitetura empresarial e interoperabilidade.
A PM²-Agile é uma extensão da metodologia oficial de gestão de projetos desenvolvida pela Comissão Europeia – PM² –, que incorpora as boas práticas da metodologia Agile e Lean, bem como a experiência operacional de instituições europeias.
Esta metodologia permite que equipas ágeis se mantenham alinhadas com a metodologia PM², uma vez que promove a aplicação dos valores e princípios ágeis, sem perder a consciência organizacional e a conformidade global do projeto. Proporciona uma estrutura que ajuda equipas a alcançar uma mentalidade ágil, através de requisitos organizacionais de aquisição e auditoria, da colaboração com outros projetos e da coordenação com outras unidades organizacionais ou organizações externas.
Esta metodologia define:
- Papéis e responsabilidades, como extensão da governança PM²
- Integração com o ciclo de vida geral do projeto PM²
- Cerimónias, como reuniões de planeamento, revisão e restrospetiva
- Artefactos ágeis, como extensão dos artefactos PM²
- Glossário de conceitos ágeis
- Ferramentas e técnicas ágeis