Agile/Scrum/Kanban? O que são esses pokemons?

Andressa Siqueira
Sep 5, 2018 · 6 min read

Artigo original escrito por Elbin Keeppanasseril

O que é Agile?

Todos nós já estamos usando um pouco das práticas de Agile como:

  • Test-Driven Development (TDD): Depende de ciclos de desenvolvimentos curtos e repetitivos. Primeiro, um desenvolver escreve um caso de teste automatizado (inicialmente falhando) para uma nova feature e rapidamente adicionar um teste com com a quantidade mínima de código para passar no teste. Então, ele refactora o novo código para padrões aceitáveis.
  • Pair Programing: O emparelhamento é frequentemente usado em produtos de alta qualidade.

Metodologia ágil é um processo de gerenciamento de projetos para desenvolvimento de software baseado no desenvolvimento iterativo. É um estilo muito rápido e flexível de gerenciamento de projetos. No entanto, para que seja totalmente eficaz, os participantes (desenvolvedores) precisam ser muito independente. Além disso, a natureza do gerenciamento de estilo de ágil requer feedback constante com o time e os interessados. Isso faz com que seja mais eficaz em uma cultura colaborativa.

Nos métodos ágeis, cada interação envolve uma equipe que trabalha através do ciclo completo de desenvolvimento do software, incluindo o planejamento, análise de requesitos, design, codificação, testes unitários, e teste de aceitação quando o produto funcional é demostrado para as partes interessadas.

12 Princípios da metodologia Ágil

O manifesto ágil lista 12 princípios para orientar as equipes sobre como executar com agilidade. Estes são os princípios:

  1. Nossa maior prioridade é satisfazer o cliente através da entrega antecipada e contínua de software valioso.
  2. Mudanças no requisitos são bem vindos, mesmo no final do desenvolvimento. Os processos ágeis aproveitam as mudanças para a vantagem competitiva do cliente.
  3. Entrega de software contínua, com frequência de algumas semanas a alguns meses, com preferência para a escala de tempo mais curta.
  4. Pessoas de negócio e desenvolvedores devem trabalhar juntos diariamente durante todo o projeto.
  5. Construa projetos em torno de indivíduos motivados. Dê a elas o ambiente e suporte necessário, e confie neles para realizar o trabalho.
  6. O método mais eficiente e eficaz de transmitir informações para e dentro de uma equipe de desenvolvimento é a conversa face a face.
  7. O software funcional é a medida primaria de progresso.
  8. Processos ágeis promovem o desenvolvimento sustentável. Os patrocinadores, desenvolvedores e usuários devem ser capazes de manter um ritmo constante indefinidamente.
  9. A atenção contínua à excelência técnica e ao bom design aumenta a agilidade.
  10. Simplicidade — A arte de maximizar a quantidade de trabalho não realizado — é essencial
  11. As melhores arquiteturas, requisitos e projetos emergem de equipes auto-organizadas.
  12. Em intervalos regulares, o time reflete sobre como se tornar mais efetivo, então refina e ajusta seu comportamento de acordo.

Modelo Cascata (Waterfall)

Antes das metodologias ágeis, a maioria das empresas usava o Modelo Cascata, o que significa que a próxima fase de um projeto depende da conclusão completa da fase anterior.

O modelo cascata originou-se nas indústrias de manufatura e construção, ambos ambientes altamente estruturados onde as mudanças podem ser muito caras ou às vezes impossíveis. A primeira descrição formal do modelo cascata é atribuída a um artigo de Winston W. Royce de 1970 onde ele descreve um modelo de software defeituoso.

O que é Scrum?

Scrum é uma das metodologias presente no conjunto de metodologia ágil. É uma estrutura de processo leve para o desenvolvimento ágil e a mais amplamente usada. Uma “estrutura de processo” é um conjunto particular de práticas que devem ser seguidas para que um processo seja consistente com a estrutura.

  • Na metodologia Scrum um sprint é a unidade básica de desenvolvimento. Cada sprint começa com uma reunião de planejamento, onde as tarefas para a sprint são identificadas e um compromisso estimado para a meta do sprint é feito. Uma sprint termina com uma reunião de review ou retrospetiva onde o progresso é revisto e as lições para a próxima sprint são identificadas. Durante cada sprint, o time cria partes acabadas de um produto.
  • Bom para times pequenos e ciclos de vida de projetos rápidos.

O que é o Kaban?

  • Kanban também é uma metodologia ágil mas pense nisso como algo que você pode fazer sem o Scrum ou como algo que você pode incorporar no Scrum.
  • Toyota é uma companhia super efetiva e uma das razões é porque usam o Kaban
  • Kaban significa quadro

A idéia de Kanban é ter um sistema de arranjos de cartão em um quadro que decide como priorizar o trabalho.

É como ter uma lista de tarefas à fazer, em andamento e realizadas.

Usa o conceito just-in-time; que permite que os recursos não sejam desperdiçados.

Vantagens do Kanban

A natureza visual do Kanban oferece uma vantagem única ao implementar a metodologia ágil. O quadro Kanban é fácil de aprender e entender, melhora o fluxo de trabalho e minimiza o tempo de ciclo.

As vantagens do Kanban incluem:

  • Aumento a flexibilidade: Kanban é uma evolução, modelo de fluido. Não há períodos de fase definidos e as prioridades são reavaliadas à medida que novas informações chegam.
  • Redução do desperdício: o Kanban gira em torno da redução do desperdício, garantindo que as equipes não gastem tempo fazendo o trabalho que não é necessário ou fazendo o tipo errado de trabalho.
  • Fácil de entender: a natureza visual do Kanban ajuda a torná-lo incrivelmente intuitivo e fácil de aprender. A equipe não precisa aprender uma metodologia completamente nova, e o Kanban pode ser facilmente implementado em cima de outros sistemas.
  • Melhora o fluxo de entrega: as equipes Kanban otimizam o fluxo de trabalho para os clientes. Como a entrega contínua (CD), Kanban concentra-se na entrega just-in-time de valor e entrega de trabalho aos clientes em uma cadência regular.
  • Minimiza o tempo de ciclo: o tempo de ciclo é o tempo que o trabalho leva para percorrer o fluxo de trabalho da equipe. Nos projetos Kanban, toda a equipe ajuda a garantir que o trabalho esteja se movendo rapidamente e com sucesso durante o processo.

Desvantagens do Kanban

Muitas das desvantagens associadas ao Kanban vêm com o mau uso ou manuseio incorreto do quadro Kanban. Um quadro desatualizado ou supercomplicado pode causar confusão, imprecisões ou falhas de comunicação.

Veja mais sobre as desvantagens do Kanban:

  • O quadro desatualizado pode levar a problemas: a equipe deve estar comprometida em manter o quadro Kanban atualizado, caso contrário, eles estarão trabalhando com informações imprecisas. E uma vez que o trabalho é concluído com base em um quadro desatualizado, pode ser difícil colocar as coisas de volta nos trilhos.
  • As equipes podem complicar demais o quadro: o quadro Kanban deve permanecer claro e fácil de ler, no entanto, alguns membros da equipe podem aprender “novos truques” que podem aplicar em seu quadro. Adicionar esses tipos de sinos e assobios ao quadro Kanban apenas enterra as informações importantes.
  • Falta de tempo: Uma queixa frequente sobre Kanban é que você não sabe quando as coisas serão feitas. As colunas no quadro Kanban são marcadas apenas por fase (To Do, Doing, Done), não há períodos de tempo associados a cada fase, então você realmente não sabe quanto tempo a tarefa na coluna to do pode durar.

Artigo original escrito por Elbin Keeppanasseril

    Andressa Siqueira

    Written by

    Eng. Eletricista com ênfase em Sistemas e Computação pela UERJ e mestre em Sistema e Computação pelo IME. Contato https://www.facebook.com/AndressaSiqueiraBr/

    Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
    Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
    Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade