No mundo atual, aplicar uma metodologia ágil torna muito mais prática a organização das atividades, principalmente para desenvolvedores de software.
Mencionada inicialmente no ano de 2001, essa metodologia foi elaborada após observações de alguns programadores em torno das dificuldades enfrentadas em seu trabalho.
Através do Manifesto Ágil, esses programadores elencaram valores e princípios que influenciam diretamente no desenvolvimento. Assim, conseguiram identificar e buscar um modo de trabalho mais eficiente com entregas de maior qualidade aos seus clientes.
Logo, a Metodologia Ágil é uma forma de trabalho que visa o desenvolvimento de processos de forma rápida, simples, flexível e de fácil adaptação. A ideia é aplicar isso no desenvolvimento de softwares, permitindo a otimização dos projetos com a melhoria na gestão e no desempenho das equipes de trabalho.
Com essa técnica de gestão diferenciada promove-se uma melhoria na dinâmica no desenvolvimento de projetos, principalmente em ambientes que sofrem mudanças com maior frequência.
Por isso, hoje vamos focar em duas das metodologias mais populares: o Scrum e o Kanban, comentando sobre como podem ser aplicadas no contexto do desenvolvimento de softwares.
Metodologia Ágil: Scrum
O Scrum é um framework criado com base nos times de Rugbi, esporte em que o trabalho em equipe é fundamental em determinadas jogadas..
Esse framework trabalha com a entrega de produtos de alto valor agregado em prazos mais curtos. Essa metodologia ágil permite dividir os papéis dentro da equipe de trabalho, onde temos as seguintes “posições”:
Com isso, os projetos são divididos em ciclos de desenvolvimento de tarefas (Sprints), com duração de 2 a 4 semanas onde se encontram processos para um bom desenvolvimento.
Processos do Scrum
Com os papéis dentro do time definidos, alguns processos da metodologia ágil são utilizados, como por exemplo:
- Planejamento do Sprint: É onde são definidas quais tarefas serão feitas e o tempo de desenvolvimento para cada uma.
- Daily Scrum: No daily scrum o andamento dos projetos é avaliado, bem como possíveis problemas a serem resolvidos. Essa análise acontece através de uma reunião diária de curta duração onde a equipe se ajuda.
- Retrospectiva do Sprint: Na retrospectiva é onde são reunidos os feedbacks com uma reunião. O trabalho é organizado por Sprints com tempo estipulado. Após o término do ciclo, todos os processos são avaliados e utilizados como exemplos de aprendizados.
Documentos do Scrum
Mesmo que a documentação não seja o foco dentro do Scrum, temos as seguintes formas de organização:
- Produto backlog: criado pelo Product Owner, esse documento é onde todas as tarefas são concluídas, mas que ainda tem abertura para inserção de novas demandas.
- Sprint backlog: Documento em que o Scrum Master e o Product Owner estabelecem todas as atividades a serem desenvolvidas no processo do Sprint.
- Definição de pronto: Aqui são estabelecidos os parâmetros para o “aceite” de cada tarefa onde são utilizadas como estimativas para a conclusão, o tempo e a complexidade de cada uma.
Metodologia Ágil: Kanban
O Kanban é um sistema criado no Japão nos anos 60 para definir etapas de processos de produção. A ideia central é identificar com mais facilidade as situações que podem atrapalhar o desenvolvimentos dos processos.
Com isso, seu objetivo é tornar mais perceptível o andamento do trabalho de modo a otimizar o ciclo de entregas.
Para os desenvolvedores o foco principal é o Kanban Board, onde todas as etapas do processo são descritas em um quadro dividido em colunas. Assim, as atividades são definidas e divididas em 3 status diferentes: a fazer, em desenvolvimento e entregues.
Desta forma, cada coluna dentro do Kanban indica o status do projeto com o objetivo de iniciar e terminar a tarefa. Aqui, o time se organiza de maneira em que cada um escolhe a tarefa que preferir dentro do quadro e de acordo com seu perfil e os prazos delimitados. Então, após a escolha, o responsável pela atividade arrasta a tarefa conforme o seu status.
Assim como o Scrum, o Kanban também possui processos de planejamento e retrospectiva, no entanto nessa metodologia não é algo exigido pelo time box da Sprint.
Controle de tarefas
No Kanban as tarefas são controladas pelo conceito Work in Progress (Wip), ou trabalho em andamento. O Wip determina que novas atividades podem começar somente quando há capacidade disponível para desenvolvimento. Isso evita que haja dificuldades e sobrecargas desnecessárias.
Scrum x Kanban: qual a melhor Metodologia Ágil?
Como metodologia ágil, tanto o Scrum quanto o Kanban possuem como foco promover formas de trabalho otimizadas, com divisão de trabalho estabelecidas, primando pela transparência e a entrega rápida.
Portanto, para avaliar qual é a melhor, cabe analisar suas características e seus diferenciais pensando em qual vai ter a aplicação mais efetiva em sua realidade.
Dentre algumas vantagens do Scrum, temos: times multifuncionais, interações com time box e estimativas prescritas , bem como a velocidade como métrica padrão. Além disso, o Scrum tem mais facilidades em ser aplicado em períodos de mudança e conta com o conceito Sprint que foca mais no planejamento.
Já no Kanban, interações com time box, times multifuncionais e estimativas são fatores opcionais e o Lead Time é a métrica padrão. Essa metodologia está um pouco mais à frente no que se trata de fluxos de tarefas mais otimizadas para diminuir o tempo de entrega.
Por isso, considere o tipo de projeto a ser realizado.
Resumindo: não existe a melhor metodologia ágil. O importante é analisar os valores do Manifesto Ágil e o que de fato permite ter uma equipe bem estruturada e responsável.