Introdução ao Manifesto Ágil e ao Framework Scrum

Qual é o mais eficaz?

Trem-bala
Trem-bala Shinkansen L0 (Foto: Locomotive Wiki)

O trem que chega a 550 km/h ou o segundo animal mais veloz do mundo, o Guepardo, que chega a 115 km/h?

Tudo depende do contexto, porém de se estamos considerando o desenvolvimento do software o Guepardo é o mais eficaz, já que ele consegue se adaptar ao ambiente, parar e mudar de direção.

Guepardo correndo na savana
Foto: Devin Martin

Essa adaptabilidade é uma das habilidades mais preciosas no ambiente ágil, com ela a entrega de valor agrega muito ao profissional, ao projeto e as empresas.

Business Agility é a capacidade de uma organização se adaptar rapidamente às mudanças nas condições do mercado.
— Klaus Leopold

Metodologia Ágil

Ágil ou Agilidade é uma abordagem do desenvolvimento de software que enfatizam o aprendizado contínuo, a entrega incremental, a colaboração e planejamento. A equipe com agilidade faz pequenas entregas de valor e podem ser consumidas pelo cliente final.

Requisitos, planos e resultados são avaliados continuamente, para que as equipes respondam com mais eficácia e rapidez as mudanças do mercado.

O termo Ágil foi lançado em 2001 no Manifesto Ágil, estabelecendo valores e princípios para orientar uma abordagem melhor para o desenvolvimento de software. Este Manifesto declara 4 instruções de valor que representam a base do movimento ágil e 12 princípios norteadores.

Princípios do Manifesto Ágil

  1. Nossa maior prioridade é satisfazer o cliente, através da entrega adiantada e contínua de software de valor.
  2. Aceitar mudanças de requisitos, mesmo no fim do desenvolvimento. Processos ágeis se adéquam a mudanças, para que o cliente possa tirar vantagens competitivas.
  3. Entregar software funcionando com frequência, na escala de semanas até meses, com preferência aos períodos mais curtos.
  4. Pessoas relacionadas a negócios e desenvolvedores devem trabalhar em conjunto e diariamente, durante todo o curso do projeto.
  5. Construir projetos ao redor de indivíduos motivados. Dando a eles o ambiente e suporte necessário, e confiar que farão seu trabalho.
  6. O método mais eficiente e eficaz de transmitir informações para, e por dentro de um time de desenvolvimento, é através de uma conversa cara a cara.
  7. Software funcional é a medida primária de progresso.
  8. Processos ágeis promovem um ambiente sustentável. Os patrocinadores, desenvolvedores e usuários, devem conseguir manter, indefinidamente, passos constantes.
  9. Contínua atenção à excelência técnica e bom design, aumenta a agilidade.
  10. Simplicidade: a arte de maximizar a quantidade de trabalho que não precisou ser feito.
  11. As melhores arquiteturas, requisitos e designs emergem de times auto-organizáveis.
  12. Em intervalos regulares, o time reflete em como ficar mais efetivo, então, se ajustam e otimizam seu comportamento de acordo.

Benefícios da Metodologia Ágil

Quando bem aplicados utilizando ciclos iterativos curtos, planejamento guiado por entrega de valor, feedbacks constantes, transparência das informações, adaptação a mudanças, integração da equipe e proximidade com o cliente. A cultura ágil, traz alguns benefícios:

  • entrega contínua de valor;
  • envolvimento do cliente;
  • apuração de feedbacks constantes;
  • simplicidade na execução das tarefas;
  • facilidade na adaptação a mudanças.

A cultura, estrutura, práticas, ideologias e motivações organizacionais irão impactar na aplicação das metodologias ágeis.

Usar metodologia ágil NÃO significa:

  1. Ser o único caminho para Business Agility;
  2. Ser ágil;
  3. Se isolar ou criar silos;
  4. Não documentar;
  5. Não planejar;
  6. Realizar uma transformação ágil;
  7. Quebrar processos da empresa;
  8. Ter pressa e/ou velocidade;
  9. Ter papéis ágeis formais;
  10. Ter uma bala de prata;

Apesar de uma cartilha com regras explicitas, isso não garante uma organização ágil, porém esses métodos ajudam a alcançar e operacionalizar os valores e princípios ágeis. Ser ágil é atuar com um conjunto de valores, sendo colaborativo e tendo a participação coletiva da equipe. Os métodos ágeis são para as pessoas e a interação entre elas é fundamental para um resultado positivo.

Esses resultados deverão ser obtidos através de uma estratégia de atuação, essa estratégia deve deixar claro para todos, o: porque fazer, que fazer e como fazer e junto a isso, uma relação dos métodos ágeis e os procedimentos da empresa.

Agilidade não é sobre entregar mais rápido, é sobre entregar melhor.

3 pessoas sentadas minha mesa, utilizando laptops, ao fundo, um quadro branco cheio de papel adesivo coloridos
Foto: Lala Azizli / Unsplash

Scrum

Conceito

Scrum é um framework de gerenciamento de projeto ágil utilizado para descrever um conjunto de cerimônias, ferramentas e papéis para cada membro da equipe para ajudá-los a gerenciar seu trabalho.

O Scrum é uma estrutura que ajuda as equipes a trabalharem juntas, estimulando as equipes a aprenderem com as experiências, a se organizarem enquanto resolvem um problema e a refletirem sobre os êxitos e fracassos para melhorarem sempre.

Características:

  • Pilares: transparência, inspeção e adaptação
  • Valores: comprometimento, coragem, foco, abertura e respeito.
  • Papéis: Scrum Master, Product Owner e Time de desenvolvimento.
  • Cerimônias: planejamento do Sprint, reunião diária, revisão do Sprint e retrospectiva do Sprint.
  • Artefatos: product backlog, Sprint backlog e incremento do produto.

Benefícios de utilização do Scrum

  • Melhor qualidade
  • Aumento do ROI
  • Tempo reduzido de entregas
  • Melhor dinâmica entre equipes
  • Funcionários mais satisfeitos
  • Melhor qualidade: o Scrum fornece a estrutura para feedback e discussão contínuos, garantindo que a qualidade seja a mais alta possível;

Ciclo de vida do Sprint

Fonte: What is Scrum? — Azure DevOps

A figura acima representa um ciclo de uma Sprint, nele temos:

  • Product backlog: é um documento que descreve os requisitos de um sistema, projeto ou produto. Esses requisitos deverão produzir um valor.
  • Ciclo de vida do sprint: sprint planning, sprint backlog, sprint execution, daily scrum, sprint review e sprint retrospective, serão descritos a seguir, ainda neste documento.
  • Entregável “potentially shippable increment”.

Conceito de Sprint

Sprint é um período em que um trabalho definido é anteriormente é concluído e vai para ser revisado por profissionais responsáveis pela aprovação dessa entrega., normalmente duram de 2 a 4 semanas.

Um objetivo é esperado ao final do Sprint e o maior desafio é conseguir fazer essa entrega mesmo com interferência de fatores externos, tais como influência dos clientes, problemas urgentes de entregas anteriores.

Elementos do Scrum

Quadro Scrum: local hoje digital, mas antes físico que “guarda” todas as informações de maneira organizada. Uma boa prática que esse quadro seja sempre visível para outras membros equipes, ou seja, toda a empresa. Esse elemento tem a composição formada por linhas e colunas. As linhas estão as atividades, e as colunas os status.

Pontos de Estimativa: prática para dimensionar o “Esforço X Complexidade” de uma atividade e assim visualizar o que é possível ser colocando no sprint e qual é a velocidade de entrega do time de desenvolvimento. Essa leitura das atividades pode ser feita através de referências de horas ou dias — o que é mais comum em times com pouco contato com Scrum.

Burn-Down: gráfico mostra o andamento do sprint, baseado nas entregas e a relação com o tempo do sprint.

Funções do Scrum

Product Owner: é o papel que irá trazer o valor do produto ao time, também será responsável pela gestão efetiva do Backlog do Produto, além de tornar-se transparente, visível e objetivo para o time Scrum. O Product Owner é o papel que representa a visão estratégica de várias partes interessadas no Backlog do Produto.

Scrum Master: papel que irá garantir que o Scrum esteja sendo seguido pela equipe e o norte para retirada de obstáculos que estão atrapalhando as atividades de fluir durante a Sprint.

Garantirá que o Scrum esteja sendo praticado pela equipe. Está atento a como a equipe pode melhorar, ao mesmo tempo, em que ajudar a resolvem impedimentos e outros problemas de bloqueio que surgem durante o Sprint.

Time Scrum: o Time de Desenvolvimento ou Scrum é um grupo multifuncional e auto-organizado, que conta com todas as habilidades necessárias para o desenvolvimento do projeto, fornecendo incrementos potencialmente entregáveis do produto a cada Sprint.

Notas adesivas no quadro de cortiça. Uma pessoa de paletó escreve em uma das notas presas no quadro.
Foto: Jo Szczepanska / Unsplash

Cerimônias do Scrum

Esses encontros têm o principal objetivo de manter todos os membros das equipes alinhada para produzir e entregar mais valores com menor tempo.

Planejamento do Sprint (Sprint Planning)

Primeira etapa do Sprint. É aqui que serão apresentadas as prioridades do Sprint.

Reunião diária (Daily Meeting / Daily Scrum / Daily Stand-up)

Encontro realizado no mesmo horário e diariamente. O Time Scrum se reúne para que todos estejam alinhados com o desenvolvimento das atividades do Sprint. Um direcionamento para melhorar esse alinhamento pode ser respondido pelos membros das equipes, sendo as perguntas:

  1. O que fiz ontem (ou desde a última reunião)?
  2. O que farei hoje?
  3. O que está impedindo de alcançar o resultado estado?

Porém, não há obrigatoriedade de ser só essas perguntas que devem ser respondidas, o importante é cada membro trazer atualizações sobre a atividades que estão sendo feitas.

Revisão do Sprint (Sprint Review)

Cerimônia que fecha o ciclo do sprint. É nela que o time Scrum irá apresentar quais foram os itens do backlog foram concluídos, trazendo os problemas e como foram resolvidos.

Retrospectiva do Sprint (Sprint Retrospective)

Nesta cerimônia o Time Scrum irá traçar planos de melhorias que serão aplicados na próxima Sprint, através da análise e avaliação, também são levantados os pontos bons. Características como pessoas, relacionamentos, processos e ferramentas são considerados.

Conclusão

Agilidade só tem a acrescentar ao processo de desenvolvimento de software, porém a aplicação dela pode causar estranheza em empresas que estão num processo mais engessado e antigo.

Uma dica que posso compartilhar sobre essa mudança de mindset (mentalidade) é a abordagem gradativa e não forçada, trate de ir adicionando ao seu dia a dia e lentamente você irá enxergar os ganhos da abordagem ágil!

A segunda dica é para os profissionais, sempre busque de atualizar, procure abordagens novas no mercado.

Por último, agilidade não é bala de prata!

O material disponibilizado neste documento foi construído a partir do texto disponibilizado no Guia do Scrum. Ah, aqui no meu perfil tem um texto sobre agilidade, “Agilidade é sobre fazer rápido? Como utilizar Agile UX e desenvolver melhores produtos” e umas anotações de estudo para certificação Scrum.

Se você leu até aqui, meu muito obrigado 🤘🏼💝. Gostou? Compartilhe para mais pessoas! 😉

--

--

Designer e entusiasta da acessibilidade. http://sumo.pe

Love podcasts or audiobooks? Learn on the go with our new app.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store