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.
O que é 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.
O que é Kanban?
Agora, entenda melhor o que é 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.