Scrum & Kanban: no cerne do processo

Scrum & Kanban: no cerne do processo

Este artigo é o terceiro de uma série de quatro artigos. Leia aqui o anterior: “Waterfall & Agile: uma questão de flexibilidade

 

Scrum me not

O Scrum é uma subcategoria da metodologia Agile, definindo-se como um modelo de desenvolvimento de software usado para gerir o desenvolvimento de produto e de software complexos. O objetivo é conseguir realizar mais trabalho mais rápido, e para tal são definidos determinados papéis, responsabilidades e reuniões.

Existem existem 3 funções definidas:

  • Product Owner – detentor da visão daquilo que é necessário construir e capaz de a transmitir à equipa, focando-se nos requisitos e priorizando o trabalho que deve ser realizado;
  • Scrum Master – funciona como um treinador, ajudando a equipa a organizar as reuniões e a realizar o melhor trabalho possível, lidando com os desafios e comunicando com o Product Owner, sendo mais um facilitador do que gestor;
  • Scrum Team – composta por 7 membros que trabalham em conjunto, sem que existam funções distintas, visto que todos planeiam e realizam o trabalho juntos.

Simultaneamente, existem fases inalteráveis num projeto Scrum:

  • Levantamento de trabalho – o Product Owner e Scrum Team reúnem-se para priorizar os features a ser adicionados/alterados no produto;
  • Planeamento de sprints – o Product Owner apresenta as principais preocupações numa reunião de preparação antes de cada sprint;
  • Sprints – períodos de cerca de 2 semanas onde o trabalho é planeado, realizado e revisto, existindo uma lista de tarefas que deve ser realizada e uma reunião de 15 minutos diária;
  • Clarificação do trabalho acumulado – realizada no final de cada sprint para fazer um novo levantamento de trabalho e priorizar tarefas;
  • Reunião de avaliação do sprint – realizada igualmente no final de cada sprint para apresentar o trabalho realizado;
  • Reunião de retrospetiva do sprint – a equipa reflete sobre o funcionamento do Scrum e as mudanças que consideram necessárias para o sprint seguinte.

 

Vantagens

  • Maior transparência e visibilidade do projeto – graças às reuniões diárias, toda a equipa sabe exatamente aquilo que está a fazer, eliminando o risco de desentendimentos, visto que os problemas são identificados antecipadamente;
  • Torna mais fácil incluir alterações – os sprints curtos e o feedback constante permitem incluir as alterações necessárias mais facilmente;
  • Aumenta a responsabilização da equipa – a equipa decide o trabalho que pretende completar em cada sprint, e trabalha em conjunto para conseguir alcançar esse objetivo, o que impulsiona a colaboração entre colaboradores;
  • Permite a redução de custos – a comunicação constante garante que a equipa tem a perceção dos problemas e mudanças assim que estes ocorrem, permitindo diminuir os gastos e aumentar a qualidade.

 

Desvantagens

  • Exigência de experiência e compromisso por parte da equipa, com funções e responsabilidades bem definidas e a necessidade de estar familiarizado com os princípios Scrum;
  • A escolha de um Scrum Master errado pode comprometer todo o projeto, visto que o seu papel não é controlar a equipa, mas sim confiar nos seus membros e não lhes dizer diretamente aquilo que devem fazer.
  • Risco de o âmbito do projeto ser amplificado, dado que não existe uma data de entrega final e que várias funcionalidades podem ser adicionadas

 

 

Kanban, o foco na melhoria contínua

Kanban é um framework visual usado para implementar a metodologia Agile, que mostra como produzir, quando e quanto.

O quadro Kanban está dividido em três colunas, que distinguem o estado das tarefas: a realizar, em progresso, realizado. Cada cartão (representado normalmente por post-its) está associado a uma tarefa, e pode também fazer-se a distinção dos vários tipos de tarefas usando cores diferentes.

 

 

Um projeto Kanban segue os seguintes princípios básicos:

  • Visualização do workflow – uma representação visual do trabalho que permite compreender a imagem geral e perceber o progresso;
  • Limitação do trabalho em desenvolvimento (work in progress – WIP) – ao determinar o mínimo e máximo de trabalho que a equipa pode ter em cada fase, torna-se possível aumentar a rapidez de entrega, a flexibilidade e reduzir a necessidade de priorizar tarefas;
  • Tornar explícitas as políticas de processos – todos os membros da equipa devem compreender o funcionamento dos diferentes processos;
  • Melhorar continuamente – a metodologia Kanban incentiva a implementação de mudanças pequenas e contínuas, permitindo à equipa identificar problemas e sugerir melhorias. A eficácia da equipa é também medida de forma a aumentar a qualidade do seu trabalho.

 

Vantagens

  • Aumento da flexibilidade – o modelo Kanban está em constante evolução, não existe uma duração standard para cada tarefa e as prioridades são reavaliadas à medida que surgem novas informações;
  • Reduz o desperdício – este é o objetivo central do Kanban, visando garantir que as equipas não desperdiçam tempo a realizar trabalho que não é necessário;
  • Fácil de compreender – sendo um modelo visual, torna-se bastante intuitivo e fácil de aprender.

 

Desvantagens

  • Necessidade de manter o quadro atualizado – um quadro Kanban desatualizado ou mal-organizado pode trazer problemas à equipa, visto que estarão a trabalhar tendo em base informação errada;
  • Um quadro muito complicado pode fazer com que a informação se perca – o quadro deve permanecer claro e fácil de ler;
  • Falta de controlo de tempo – uma reclamação frequente é a falta de clareza sobre quando as tarefas estão a ser realizadas, não existindo indicações sobre o período temporal no quadro associado a cada fase.