0% acharam este documento útil (0 voto)
26 visualizações14 páginas

Métodos Ágeis: Scrum e Kanban Descomplicados

Enviado por

vithen
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
26 visualizações14 páginas

Métodos Ágeis: Scrum e Kanban Descomplicados

Enviado por

vithen
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
Você está na página 1/ 14

Software mais fácil de modificar

mais rápido
sem linhas de produção

Problema
Alta demanda
Pessoas de outras áreas sem conhecimentos necessários
Adicionar mais pessoas ao projeto demorava mais
Abordagem sistemática, disciplinada e capaz de ser medida ao longo de um processo de
construção de um software– Tipo e a ordem de execução de atividades na construção do
software e seus respectivos produtos

Cascata
Faz toda uma etapa para passar para outra
Ideal com requisitos rígidos e bem definidos

Incremental
Faz atividades em paralelo
Um incremento fornece parte da funcionalidade solicitada pelo cliente

1) Desenvolve-se uma implementação inicial


2) Expõe-na aos comentários dos usuários
3) Continua-se o desenvolvimento por meio da criação de várias versões até que o
software esteja
completo

Quando um incremento começa, os requisitos são congelados podendo ser tratados


posteriormente.
Vantagens
1. Software pode ser entregue para o cliente com cada incremento e, desse modo, a
funcionalidade principal é disponibilizada mais cedo
2. Incremento inicial atua como um protótipo para auxiliar na coleta de requisitos para
posteriores incrementos do software, MAS o incremento é um produto operacional a cada
entrega
3. Riscos menores de falha do projeto dadas as solicitações de mudanças
4. Tende a maior estabilidade, pois os módulos de mais alta prioridade são mais testados

Desvantagens
Deve-se garantir que se respeite as dependências entre módulos de um software
Se um módulo Y depende de um módulo X, então X tem que ser desenvolvido primeiro, e
não o contrário
Gerencial: deve-se garantir que os módulos a serem entregues primeiro sejam efetivamente
significativos para o cliente Quando usar Entrega por Estágios?

Modelos Evolucionários
Requisitos mutantes - requisitos mudam de acordo com o tempo
Prototipação

Protótipos são descartáveis, apenas um gosto incial


Normalmente, é utilizada como técnica auxiliar em vez de modelo de processo
independente

Espiral
Combinação de incremental, prototipação, e cascata
Cada ciclo representa um incremento e uma evolução
A grande diferença é a análise de risco, o'que também molda todos os ciclos

Métodos ágeis

Diminui a burocratização focando nos indivíduos e resposta a mudanças


SCRUM
Baseia-se em princípios de incremento e interatividade, permitindo que as equipes
entreguem produtos em pedaços funcionais e ajustáveis ao longo de curtos ciclos
chamados Sprints.

Principais Conceitos do Scrum:

1. Papel dos membros da equipe:


○ Product Owner (Dono do Produto):
■ É responsável por maximizar o valor do produto. Ele gerencia o
Product Backlog (lista de funcionalidades, melhorias e correções
que precisam ser feitas no produto) e garante que a equipe esteja
trabalhando nas tarefas mais prioritárias.
○ Scrum Master:
■ Facilita o processo Scrum, garantindo que todos sigam as práticas e
que a equipe não enfrente obstáculos no seu trabalho. O Scrum
Master ajuda a remover impedimentos e protege a equipe contra
distrações externas.
○ Equipe de Desenvolvimento:
■ São os responsáveis pela construção do produto. É uma equipe
multidisciplinar que possui todas as habilidades necessárias para
completar as tarefas. Eles são auto-organizados, ou seja, têm
autonomia para decidir como executar o trabalho.
2. Artefatos do Scrum:
○ Product Backlog:
■ É uma lista priorizada de tudo que precisa ser feito no projeto,
mantida pelo Product Owner. Pode incluir funcionalidades, correções
de bugs, melhorias técnicas, etc. O backlog está em constante
evolução, e os itens mais importantes são priorizados nas próximas
sprints.
○ Sprint Backlog:
■ Subconjunto do Product Backlog escolhido para ser trabalhado
durante uma Sprint. É composto pelos itens mais prioritários que a
equipe de desenvolvimento acredita que pode completar durante a
sprint.
■ Dividi um story em tarefas as quais são divididas pelos
programadores
○ Incremento:
■ É o conjunto de todos os itens do backlog que foram completados
durante a Sprint. Deve ser um software funcional que pode ser
potencialmente entregue ao cliente, ainda que o produto final
completo ainda não esteja pronto.
3. Eventos (Cerimônias) do Scrum:
○ Sprint:
■ É o coração do Scrum. Uma Sprint é um ciclo de desenvolvimento de
tempo fixo (geralmente de 1 a 4 semanas) em que a equipe se
compromete a completar um conjunto de itens do Product Backlog.
Ao final de cada Sprint, deve haver um incremento de software
funcional.
○ Sprint Planning (Planejamento da Sprint):
■ É uma reunião no início de cada Sprint onde o time, junto com o
Product Owner, define quais itens do backlog serão trabalhados na
Sprint. Aqui, o time quebra os itens em tarefas menores e planeja
como alcançará os objetivos da Sprint.
○ Daily Scrum (Reunião Diária):
■ É uma reunião curta (máximo de 15 minutos) realizada todos os dias
pela equipe de desenvolvimento. O objetivo é discutir o progresso,
identificar bloqueios e alinhar o trabalho. Perguntas típicas incluem:
1. O que fiz ontem?
2. O que vou fazer hoje?
3. Algum impedimento?
○ Sprint Review (Revisão da Sprint):
■ Ao final da Sprint, a equipe demonstra o trabalho concluído ao
Product Owner e outras partes interessadas. É uma oportunidade de
coletar feedback e ajustar o Product Backlog, se necessário.
○ Sprint Retrospective (Retrospectiva da Sprint):
■ Ocorre após a Sprint Review e antes do início da próxima Sprint. A
equipe reflete sobre o processo, identificando o que funcionou bem e
o que pode ser melhorado para a próxima Sprint. O objetivo é
melhorar continuamente o processo de desenvolvimento.
4. Iteratividade e Incrementalismo:
○ O Scrum segue um ciclo iterativo e incremental, o que significa que a cada
Sprint, uma nova versão do produto é entregue. Embora o produto final
possa demorar vários sprints para ser concluído, em cada Sprint há um
incremento de valor. Esse ciclo contínuo permite que o time se adapte
rapidamente às mudanças nas necessidades do cliente ou do mercado.
5. Transparência, Inspeção e Adaptação:
○ Transparência: Todos no time sabem o que está acontecendo. O progresso,
os obstáculos e os resultados são visíveis para todos.
○ Inspeção: A equipe constantemente avalia o que está sendo feito,
inspecionando o progresso regularmente (como nas reuniões diárias e na
revisão da Sprint).
○ Adaptação: Com base nas inspeções, a equipe ajusta o curso de ação, seja
no processo de desenvolvimento ou nas funcionalidades do produto, para
otimizar os resultados e responder melhor a novas informações.

Maior envolvimento do cliente, mudanças constantes de requisitos e


constante adaptação ao mesmo.

Como o Scrum se destaca:

● Flexibilidade: A capacidade de ajustar o planejamento com base no feedback


constante do cliente e das partes interessadas.
● Foco em entregas frequentes: O Scrum foca em entregar incrementos funcionais
em curtos ciclos de desenvolvimento, garantindo que o cliente veja o progresso
constantemente.
● Colaboração: Encoraja a comunicação contínua entre os membros da equipe e o
Product Owner, além de coletar feedback regularmente.

Resumo:

O Scrum é uma abordagem ágil baseada em colaboração, entregas incrementais e


feedback contínuo. Ele é ideal para projetos onde os requisitos podem mudar, permitindo
que a equipe entregue valor ao cliente de forma constante, ao mesmo tempo que melhora
continuamente seus processos.
Kanban

Kanban é uma metodologia ágil de gerenciamento de trabalho que foca na visualização do


fluxo de trabalho, limitação de tarefas em andamento e melhoria contínua. Originada
na Toyota como parte do sistema de produção "just-in-time", Kanban foi adaptado para o
desenvolvimento de software e outras áreas de negócios para aumentar a eficiência e a
entrega de valor.

Princípios básicos do Kanban:

1. Visualizar o fluxo de trabalho:


○ A visualização é o coração do Kanban. Para isso, é comum o uso de um
quadro Kanban, onde o fluxo de trabalho é representado por colunas. Cada
coluna representa um estágio do processo (por exemplo, "A Fazer", "Em
Andamento", "Concluído"), e as tarefas são representadas por cartões que
se movem de uma coluna para outra conforme o trabalho avança.
○ Isso ajuda a equipe a ter uma visão clara do que está sendo feito, o que está
pendente e onde podem estar os gargalos.
2. Limitar o trabalho em andamento (WIP - Work in Progress):
○ O Kanban estabelece limites para o número de tarefas que podem estar em
andamento ao mesmo tempo. Isso impede que a equipe assuma mais
tarefas do que consegue concluir, evitando sobrecarga e melhorando o foco
e a eficiência.
○ Por exemplo, se a coluna "Em Andamento" tem um limite de 3, significa que
apenas três tarefas podem estar nessa fase ao mesmo tempo. Quando uma
tarefa é concluída e movida para a coluna seguinte, outra tarefa pode ser
iniciada.
3. Gerenciar o fluxo:
○ O objetivo do Kanban é otimizar o fluxo de trabalho. A equipe deve prestar
atenção à velocidade com que as tarefas são concluídas e mover as tarefas
rapidamente pelo sistema. Isso ajuda a identificar gargalos, como colunas
onde os cartões ficam parados por muito tempo, o que sugere que algum
problema está impedindo o progresso.
4. Tornar as políticas explícitas:
○ As regras e políticas que guiam o processo de trabalho devem ser claras e
compreendidas por todos na equipe. Isso pode incluir critérios para mover
tarefas de uma coluna para outra, definição de prioridade, ou regras sobre
como lidar com bloqueios.
5. Feedback contínuo:
○ Reuniões regulares, como revisões diárias ou sessões de feedback, são
usadas para avaliar o progresso e identificar melhorias. Ao monitorar o fluxo
de trabalho e ajustar os processos com base no que está funcionando (ou
não), a equipe melhora continuamente a eficiência.
6. Melhoria contínua:
○ Kanban é altamente focado em melhoria contínua. À medida que a equipe
aprende sobre seu processo, ela faz ajustes incrementais para otimizar a
maneira como o trabalho flui. Isso pode incluir a redefinição de limites de
WIP, alteração de etapas do processo ou refinamento de como as tarefas são
priorizadas.

Estrutura do quadro Kanban:

O quadro Kanban geralmente tem as seguintes colunas básicas:

● Backlog (ou "A Fazer"): Todas as tarefas que precisam ser feitas são colocadas
aqui. Elas são priorizadas, mas não começaram ainda.
● Em andamento: Essas tarefas estão sendo trabalhadas. É nessa coluna que o WIP
(limite de tarefas em andamento) entra em ação.
● Concluído: Tarefas que foram concluídas e passaram por todas as etapas
necessárias.

Algumas equipes adicionam colunas extras dependendo das necessidades, como


"Revisão", "Testes" ou "Em Aguardando Aprovação".

Diferença entre Scrum e Kanban:

● Sprints (Scrum) vs. Fluxo Contínuo (Kanban):


○ No Scrum, o trabalho é dividido em Sprints, ciclos de tempo definidos
(geralmente de 2 a 4 semanas) com metas específicas.
○ No Kanban, o fluxo de trabalho é contínuo. Não há Sprints ou ciclos de
tempo fixos, as tarefas são trabalhadas conforme surgem e conforme há
capacidade disponível.
● Limitação de WIP:
○ O Kanban utiliza o limite de WIP para controlar quantas tarefas estão sendo
feitas ao mesmo tempo, evitando sobrecarga.
○ No Scrum, a equipe compromete uma quantidade de trabalho para cada
Sprint, e o WIP não é controlado diretamente.
● Papéis:
○ O Kanban não exige papéis específicos como o Scrum Master ou Product
Owner. As equipes podem ser mais flexíveis.
○ No Scrum, há papéis definidos, como o Scrum Master, Product Owner e a
equipe de desenvolvimento.

Vantagens do Kanban:

1. Flexibilidade:
○ O Kanban é adaptável e pode ser implementado em diversos contextos além
do desenvolvimento de software, como em operações de suporte ou áreas
administrativas.
2. Melhoria contínua:
○ Como se baseia na visualização e no controle do fluxo de trabalho, o Kanban
ajuda a identificar e resolver gargalos, promovendo a melhoria contínua.
3. Facilidade de adoção:
○ Como não exige Sprints, papéis específicos ou cerimônias obrigatórias, o
Kanban pode ser adotado de forma gradual, sem grandes mudanças na
estrutura da equipe.
4. Fluxo constante:
○ Como não há ciclos fixos, o Kanban permite um fluxo de trabalho contínuo e
constante, ideal para equipes que precisam lidar com tarefas de forma
imprevisível ou em volume variável..

Resumo:

O Kanban é uma metodologia ágil que foca em visualizar o fluxo de trabalho, limitar o
trabalho em andamento, e melhorar continuamente o processo. Ele é altamente flexível e
pode ser implementado de forma gradual, sem a necessidade de Sprints ou papéis formais,
o que o torna uma escolha popular em diversas indústrias além do desenvolvimento de
software.

Você também pode gostar