[fsn_row][fsn_column width=”12″][fsn_text]
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.
[/fsn_text][/fsn_column][/fsn_row]