Technology

Ágil é Sinónimo de Rápido? Scrum, NFL e Outros Conceitos Ágeis

Descobre de que forma a agilidade é tão importante numa equipa técnica como numa jogada de NFL.

Ágil é Sinónimo de Rápido? Scrum, NFL e Outros Conceitos Ágeis

Se fazes parte de uma equipa técnica, já deves ter ouvido a seguinte frase nalgum momento da tua carreira: “A tua equipa não é ágil? Então não devias ter terminado esta tarefa mais rápido?”


[Nota do editor: este artigo foi originalmente publicado em junho de 2023 e revisto de forma a melhorar a compreensão e a pertinência do mesmo].

Talvez revires os olhos ou, pelo menos, penses no assunto. Contudo, quem diz isto não está totalmente errado. Agile, ou Ágil, em Português, é uma abordagem que pretende acelerar a entrega. A Atlassian faz referência a isso no seu website:

A agilidade é uma abordagem iterativa à gestão de projetos e ao desenvolvimento de software que ajuda as equipas a entregar valor aos seus clientes mais rapidamente e com menos dores de cabeça.”


Ainda assim, neste artigo, vou tentar explicar por que razão ser ágil não significa necessariamente que vais terminar o projeto mais depressa; significa que a equipa pode produzir pequenos resultados mais rapidamente, proporcionando uma maior adaptabilidade a mudanças futuras.

Uma nota importante: todas as pessoas envolvidas no projeto devem compreender a mentalidade ágil. Se uma empresa tenta ser ágil mas tem como prioridade terminar todas as tarefas rapidamente, estará a evitar os princípios desta abordagem. Desta forma, o projeto não será suficientemente flexível quando for necessário fazer mudanças e demorará mais tempo a ser concluído.

Por isso, neste artigo, vou tentar esclarecer o impacto de usar (ou evitar) os princípios da agilidade. Se é a primeira vez que ouves falar desta abordagem, então lê este artigo, para poderes compreender primeiro os conceitos básicos.


O Significado de “Ágil”


De acordo com o dicionário Priberam, ágil significa:

“Que se move com presteza e facilidade.”

Repara que a palavra rapidez ou rápido nem sequer é referida na lista de sinónimos.

Para as empresas, a Agilidade significa ser capaz de mudar os planos do projeto com rapidez e facilidade.

Mas como é que uma empresa se torna ágil?

A Agilidade tem várias frameworks que podem ajudar nessa transformação, para este artigo, vou usar o Scrum como exemplo.


img-2


Portanto, vamos começar por falar sobre como o Scrum funciona e como pode ajudar a empresa a ter uma mentalidade ágil.

A maioria dos projetos de IT não segue uma linha reta, falhas acontecem e os planos mudam ao longo da fase de desenvolvimento, mas com o Scrum, o projeto pode ser mais adaptável quando se trata de resolver esses problemas.

Uma vez que o Scrum tenta separar o projeto em pequenas partes que podem ser planeadas e entregues em curtos períodos (2, 3 ou 4 semanas). Esta abordagem oferece maior flexibilidade, permitindo que a equipa se adapte rapidamente e ajuste o rumo conforme necessário. Ao entregar de forma incremental, a equipa pode incorporar feedback desde cedo e fazer as alterações necessárias antes do próximo sprint, garantindo progresso contínuo e capacidade de resposta às necessidades em evolução.


Funções da Equipa Scrum


Uma equipa Scrum é composta por:

  • Product Owner
  • Programadores
  • Scrum Master


Todos os projetos têm uma lista de tarefas – também conhecido por product backlog – a realizar. O product backlog consiste num conjunto de pequenas tarefas que serão desenvolvidas num curto período de tempo.

O product owner cria e gere o product backlog. As suas responsabilidades incluem a compreensão dos requisitos do cliente e do negócio, transformando-os em tarefas, adicionando-os ao product backlog e definindo o valor e o objetivo de cada sprint.

Os membros da equipa de desenvolvimento dedicam-se a concluir as suas tarefas no sprinte a fazer avançar o projeto.

O scrum master forma outros profissionais relativamente à metodologia Scrum e podem ajudar o product owner a definir o valor do sprint e orientar os programadores para o cumprirem.


Ciclo de Etapas


O Scrum possui um ciclo de etapas (chamadas rituais) que devem ser seguidas:

  • Planeamento;
  • Sprint;
  • Retro.


Planeamento: Nesta fase, o Product Owner apresenta o backlog do sprint à equipa de desenvolvimento, delineando as tarefas e os objetivos do sprint. O Scrum Master e os desenvolvedores podem identificar lacunas ou possíveis problemas que possam afetar a conclusão das tarefas antes de finalizar o plano do sprint.

Sprint: A fase de desenvolvimento começa após o planeamento. Durante o sprint, os programadores trabalham nas tarefas atribuídas. Todos os dias, a equipa reúne-se para o Daily Standup (ou Daily Scrum), uma reunião rápida onde cada membro partilha atualizações sobre as suas tarefas. Esta reunião ajuda a equipa a manter-se ágil, permitindo ajustar planos e prioridades para alcançar os objetivos do sprint.

Durante estas reuniões diárias, a equipa pode avaliar se alguma tarefa vai demorar mais tempo do que o previsto, decidir se devem incluir mais pessoas numa determinada tarefa ou retirar prioridade a tarefas menos importantes de forma a garantir o sucesso do sprint.

Retro: Após o fim do sprint, a equipa realiza uma Retrospectiva para analisar os resultados. Eles refletem sobre o que correu bem, o que não correu tão bem e o que pode ser melhorado no próximo sprint. Esta reunião prepara o terreno para o novo ciclo, incorporando as lições aprendidas no trabalho futuro.

Estas etapas do ciclo dão aos membros da equipa a flexibilidade necessária para mudar de ideias e de direção ao longo do desenvolvimento. Depois de cada sprint, as partes interessadas e os clientes têm acesso a uma pequena parte do projeto e conseguem dar o seu feedback. 

Quaisquer alterações necessárias são inseridas no product backlog pelo product ownere a equipa de desenvolvimento começa a trabalhar nele no sprint seguinte.

Para manter tanto a velocidade quanto a agilidade, é essencial uma comunicação forte entre os membros da equipe. A empresa deve respeitar o processo do sprint e evitar interrupções desnecessárias. Interferir no foco do sprint pode prejudicar a comunicação e resultar num processo de desenvolvimento apressado, em vez de ágil. Isto pode dar origem a obstáculos ou problemas que terão impacto nos sprints seguintes, tornando todo o desenvolvimento do projeto mais lento.


Demonstrar os Impactos do Sprint


A palavra Scrum provém do desporto, do rugby. No rugby, o Scrum forma-se depois de ser cometida uma infração às regras, a equipa reúne-se e o jogo recomeça.

Tal como o Scrum, a NFL (Liga Nacional de Futebol Americano) também se baseia no rugby. E o objetivo de ambos os desportos é avançar para o território da outra equipa e marcar, seja levando a bola para end zone ou chutando a bola na direção do field goal. A principal diferença é que, em vez de esperar por alguma infração, na NFL, depois de todas as jogadas, as equipas voltam a reunir-se.

Todas as jogadas na NFL começam com o treinador a planear e a informar o quarterback sobre a jogada que a equipa tem de executar. Depois, o quarterback informa todos os jogadores em campo sobre a jogada, a formação e as direções. Os jogadores colocam-se nas suas posições e a jogada começa.

Uma das jogadas escolhidas pelos treinadores pode ser a jogada de corrida, em que o quarterback dá a bola ao running back e tem de esperar que os bloqueios criem espaço para começar a correr em direção à baliza.

Para que a jogada seja bem-sucedida, a comunicação tem de ser clara e todos têm de compreender a jogada; caso contrário, será fácil para os defesas impedirem a jogada.

Jogada que não foi bem-sucedida


Por vezes, o papel dos membros da equipa não está claro ou alinhado entre si, o que resulta numa jogada em que, a equipa que defende aproveita as brechas e corre diretamente para o running back, bloqueando o seu caminho.

As razões para isso acontecer podem ser:

  • O treinador não planeou bem a jogada;
  • Há uma falta de comunicação entre o treinador e os jogadores;
  • A equipa atacante não estava à espera de um jogador da defesa.


Seja qual for o motivo, o corredor foi parado muito cedo, resultando num sprint com pouco sucesso, o que significa que a equipa começa a jogada seguinte em desvantagem.

Para ver um exemplo claro de como a má comunicação leva a uma jogada de corrida falhada, assiste a este vídeo.

Jogada bem-sucedida


Por outro lado, quando todos os jogadores compreendem os seus papéis e responsabilidades, o running back pode ter um bom arranque depois de ultrapassar os bloqueios iniciais dos defensores. Isto permite-lhe destacar-se naquilo que faz melhor: usar a agilidade para mudar de direção e evitar defensores adicionais, mantendo a velocidade em direção à end zone. Isto resulta frequentemente num sprint bem-sucedido, como demonstrado neste vídeo de exemplo.


Então, Ágil é Sinónimo de Rápido? Considerações Finais


No campo da NFL, o running back é o jogador mais rápido em campo, mas ser mais rápido não significa ser o melhor jogador. O running back precisa de agilidade para mudar de direção.

O mesmo acontece dentro de uma empresa: pode ter a equipa de desenvolvimento mais rápida, mas tal como um running back a correr para a end zone, os projetos de IT não são uma linha reta. A equipa precisa de ter um bom plano e comunicação para evitar bloqueios no início de um sprint. Só então o programador pode começar a construir um projeto ágil, estando preparado para mudanças de direção posteriores enquanto avança num sprint rápido em direção ao objetivo.

Então, para responder à pergunta:

A tua equipa não é ágil? Então não devias ter terminado esta tarefa mais rápido?”

Não, o objetivo é construir um projeto flexível para que os planos do projeto possam mudar, enquanto a equipa de desenvolvimento continua a trabalhar o mais rapidamente possível.

Get In Orbit in your inbox

A monthly selection of articles and perspectives from KWAN. Choose what's relevant to you.

Related Articles

Beyond the Q1 Review: Why Your IT Outsourcing Model Might Be Compounding Risk
Technology

Beyond the Q1 Review: Why Your IT Outsou...

Discover why traditional IT outsourcing models may increase risk and learn how to build a sustainable, people-first arch...

Read article
Why Portugal Can Be Your Next Career Step
Technology

Why Portugal Can Be Your Next Career Ste...

As AI evolves, programmers must understand how to improve themselves and how to raise their values. This article explain...

Read article
How to prepare for a Certification in any Tech Career
Technology

How to prepare for a Certification in an...

As AI evolves, programmers must understand how to improve themselves and how to raise their values. This article explain...

Read article