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

Andressa Siqueira
6 min readSep 5, 2018

--

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

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/