Scrum e Kanban: saiba o que é e quais as diferenças existentes!

ProMovePerformanceScrum e Kanban: saiba o que é e quais as diferenças existentes!

A popularização dos computadores pessoais leva as empresas a uma disputa para dominar o mercado de softwares. Era preciso produzir sistemas de forma rápida e com requisitos que atendessem as demandas do usuário. O método de desenvolvimento em cascata estava se mostrando ineficaz e então surgiram as metodologias ágeis. Os métodos mais simples e valiosos dessa nova filosofia são Scrum e Kanban.

É sobre eles que vamos falar neste post. Vamos conceituar o Scrum e o Kanban, explicar as diferenças entre eles e como implementá-los. Ficou interessado em aprender mais sobre o assunto? Então tenha uma ótima leitura!

Scrum

A seguir, falaremos mais sobre o que é Scrum e como implementá-lo na sua empresa.

Entenda o Scrum

O Scrum é uma metodologia de desenvolvimento ágil que foi criada nos anos 80. Sua filosofia se opõe à ideia da metodologia em cascata que predominava nas empresas de software na época. O grande defeito desse tipo de desenvolvimento é que cada etapa era conduzida de uma vez e o usuário só veria o resultado quando o produto estivesse finalizado.

O grande problema dessa abordagem é que o usuário nunca sabe exatamente o que quer logo no início e, muitas vezes, o tempo era desperdiçado em solicitações de mudanças de requisitos. Então, a ideia do Scrum é fazer um desenvolvimento incremental e ágil de requisitos do sistema.

Uma parte mínima do software em funcionamento é disponibilizada para o cliente ainda no começo do desenvolvimento. Isso permite que ele dê o feedback nos estágios iniciais. Desse modo, a equipe consegue conduzir os esforços de maneira correta e o cliente acompanha todo o processo.

Sua popularidade cresceu absurdamente nos últimos anos devido ao modelo de desenvolvimento de software que se estabeleceu no mercado. Jogos, aplicativos para smartphones e serviços onlines estão sendo disponibilizados em versões beta para os consumidores. Dessa maneira, os desenvolvedores conseguem obter um feedback real das expectativas dos usuários e realizar pequenos ajustes ao longo da vida útil do produto.

Saiba como implementá-lo

Ao contrário da metodologia em cascata, o Scrum tem o foco em equipes pequenas e multidisciplinares. Uma equipe tem três papéis distintos: o Scrum Master, o Product Owner e a equipe de desenvolvimento.

O Scrum Master atua como gerente. Ele cuida da equipe e faz a conexão entre ela e o Product Owner. Este último é responsável por informar os requisitos, acompanhar o desenvolvimento do software e fornecer os feedbacks. Geralmente, o Product Owner é o próprio cliente, mas pode ser um funcionário da empresa que tenha contato direto com ele. E, por fim, a equipe é responsável pelo desenvolvimento das funcionalidades do software.

Seu desenvolvimento é feito em fases distintas que são chamadas de sprints. Um sprint dura de 2 semanas a 1 mês. No início de cada sprint, há uma reunião com a equipe para discutir os requisitos trazidos pelo Product Owner. Uma métrica de pesos é utilizada para os requisitos, que são elencados por níveis de prioridade e complexidade. O número de requisitos escolhidos para um sprint varia de acordo com a capacidade de produção da equipe avaliada pelo Scrum Master.

Durante a execução do sprint, são realizadas reuniões diárias de 5 minutos com a equipe para que todos se informem a respeito do que já foi feito, o que será feito e os possíveis problemas de desenvolvimento. O Scrum Master é o responsável por resolver todas as pendências.

No final de cada ciclo, o software é apresentado ao Product Owner, que avalia e sugere novas alterações. Os sprints se repetem até que o software esteja finalizado.

Kanban

Agora, entenda melhor como funciona o Kanban e como implementá-lo.

Entenda o Kanban

O Kanban é uma filosofia de produção muito simples que nasceu dentro da Toyota. Ele se baseia em um quadro que divide as tarefas em colunas como “à fazer”, “fazendo” e “concluído”. Todos os requisitos são colocados na primeira coluna do quadro e cada membro da equipe fica responsável por implementá-los e entregá-los.

Cada tarefa tem sua descrição, prioridade e seu prazo de entrega. Assim como no Scrum, as tarefas prioritárias devem ser executadas primeiro. A ideia central do Kanban é o foco na produtividade. Cada membro não pode executar mais de uma tarefa por vez. Seu método é tão simples que pode ser personalizado de inúmeras maneiras para atender as demandas de uma empresa

Saiba como implementá-lo

A implementação do Kanban é muito simples, pois não exige mudanças estruturais na empresa para fazê-la. Basta instalar um quadro ou software de gerência de tarefas. Depois disso, todos os requisitos são adicionados nesse quadro, com as especificações completas, ordem de prioridade e prazo de entrega.

Uma vez que esse quadro é organizado, a equipe fica responsável por gerenciar a execução e entrega dos requisitos. Com o tempo e ajuda de softwares, é possível aplicar métricas de desempenho para realizar planejamentos mais precisos das tarefas.

Diferenças entre Scrum e Kanban

Scrum e Kanban são metodologias complementares. Ou seja, podem ser implementadas juntas se você quiser. Mas é importante saber as diferenças entre os dois para evitar conflitos.

Ritmo de implementação

No Scrum, o ritmo é definido por sprints regulares com data de início e término. No Kanban, isso não existe e o ritmo é contínuo até que o quadro de tarefas esteja vazio.

Atribuições

No Scrum, as atribuições são feitas entre o Scrum Master, o Product Owner e a equipe de desenvolvimento. O Kanban não faz atribuições e qualquer pessoa envolvida no projeto pode pegar e desenvolver as tarefas que estão no quadro.

Entregas

As entregas do Scrum são feitas no final de cada sprint e são validadas pelo Product Owner. O Kanban não especifica como devem ser realizadas e a decisão de como fazer fica ao critério da equipe.

Mudanças

O Scrum não incentiva mudanças no sprint e elas precisam ser mantidas sempre que possível. Já o Kanban aceita que mudanças ocorram a qualquer momento por não ter um ritmo de entrega estabelecido.

Equipes

As equipes do Scrum devem ser multifuncionais para que o projeto seja ágil de verdade. No Kanban, não há essa restrição e ele pode ser implementado em ambientes com equipes especialistas.

As metodologias ágeis já se mostraram muito importantes para as empresas que souberam adotá-la. O desenvolvimento incremental somado ao feedback constante do usuário final é garantia de entregar um produto robusto e de alta qualidade. A escolha entre Scrum e Kanban só tem a agregar para o desenvolvimento de qualquer empresa.

Curtiu o nosso conteúdo sobre essas duas metodologias ágeis? Então não deixe de conferir o nosso post sobre entregas de softwares com Scrum e Kanban e complemente a sua leitura. Até a próxima.

Sobre o Autor

Sócio-Fundador da ProMove - Business Innovation, empresa que presta consultoria em melhoria de processos de software em organizações de todo o Brasil. Trabalho com TI desde 2003, quando fiz parte do grupo de qualidade da COPPE-UFRJ. Já fui desenvolvedor .Net, C# e atualmente ajudo empresas que desejam melhorar sua cultura de engenharia de software para obter maior produtividade e qualidade em suas entregas de software ou de serviços de TI. Também sou especialista em modelos de maturidade e qualidade como CMMI, MPS.Br, ISO, CERTICs e entusiasta de métodos ágeis e de produção enxuta como Lean e Kanban.