Saltar para o conteúdo principal da página

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:

1. Priorizar a satisfação do cliente, através da entrega antecipada e contínua de software com valor.
2. Acolher as mudanças de requisitos, ainda que surjam na fase final dos desenvolvimentos. Os processos ágeis aproveitam a mudança para proporcionar uma melhor resposta às necessidades dos utilizadores.
3. Entregar software funcional com frequência, que promove a entrega e análise em partes.
4. Promover a colaboração entre stakeholders, gestores de produto e a equipa de desenvolvimento ao longo do projeto.
5. Construir projetos em torno de indivíduos motivados, dando-lhes o ambiente, o apoio e a autonomia necessários para realizarem o seu trabalho.
6. Privilegiar interações e conversas diretas, ao garantir a eficácia da troca de informações.
7. Assegurar que o software entregue funcionana de forma correta, uma vez que este é o principal fator de avaliação do progresso alcançado.
8. Promover um desenvolvimento sustentável, através da utilização de processos ágeis, que asseguram um ritmo de execução das tarefas constante e sem impedimentos.
9. Dedicar atenção contínua à excelência técnica e ao bom design.
10. Promover a simplicidade (maximizar a quantidade de trabalho não realizado), o que permite uma maior agilidade e uma menor quantidade de erros.
11. Construir equipas auto-organizáveis e capazes de desenvolver as melhores arquiteturas, requisitos e processos de design.
12. Refletir de forma regular sobre os métodos de trabalho da equipa, através do ajuste dos processos e do aumento da eficácia de coletiva.

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 continuaprogramaçã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

Boas práticas

O que é interessante fazer?

Assegurar uma comunicação aberta entre a equipa

Promover colaboração diária e comunicação transparente entre todos os perfis. A qualidade do trabalho depende da partilha de conhecimento, da coordenação, do equilíbrio de contributos, do apoio mútuo e da coesão da equipa.

Definir os requisitos de forma clara

Definir os requisitos através de user stories e os critérios de aceitação que descrevem necessidades funcionais e componentes a desenvolver, de forma a garantir que cada item integra de forma correta o backlog.

Criar um modelo de feedback entre toda a equipa

Desenvolver um modelo de feedback entre a equipa, com espaço para trocar pontos de vista e identificar ações de melhoria a aplicar no sprint seguinte.

Envolver os utilizadores num processo colaborativo e de interação constante

Envolver os utilizadores num processo colaborativo e de interação constante para garantir que as suas necessidades e expetativas são cumpridas.

Estabelecer métricas e definir tarefas

Definir métricas e tarefas com a equipa para avaliar a qualidade do produto e acompanhar o desempenho geral. Estas métricas ajudam a medir a produtividade ao longo das fases de desenvolvimento.

Garantir que a equipa tem uma visão geral dos trabalhos

Garantir que a equipa conhece os trabalhos em curso, os prazos e o impacto das suas tarefas nas restantes equipas. Promover reuniões curtas de acompanhamento para esclarecer dúvidas e desbloquear impedimentos.

Implementar uma gestão de backlog eficiente

Ao identificar de modo claro os itens de backlog e priorizá-los, isto é, ordenar os itens em função dos objetivos a atingir, de modo a otimizar o valor de negócio do trabalho entregue pela equipa técnica. Garantir que o backlog é visível, transparente e claro para toda a equipa, permitindo identificar com clareza o trabalho a realizar.