CICWiki/Dinâmica de Aviões para SCRUM
O que é?
[editar | editar código-fonte]A Dinâmica de Aviões para SCRUM é uma simulação em que os alunos se organizam em uma configuração de linha de produção de aviões de papel de modo a se familiarizar com os conceitos relacionados a SCRUM[1], uma metodologia de realização e organização de projetos em equipe.
A atividade consiste em o professor separar o processo de fazer aviões de papel em passos, modelados a partir das ideias do SCRUM. Os alunos realizam sempre sua própria parte do processo, mas alguns desafios podem ser introduzidos, e os alunos devem debater como melhor contorna-los.
No caso de uso abordado[2], a atividade teve 100minutos, destes sendo 20minutos de apresentação dos conceitos inicialmente e 20minutos para debater a atividade ao fim (com uma hora no meio para a atividade em si).
SCRUM
[editar | editar código-fonte]Do modo mais direto, descreve-se SCRUM como uma estrutura de gestão de projetos normalmente usada em desenvolvimento de software[3], área em que foi inicialmente concebido (no entanto, como no exemplo do estudo referenciado[2], pode ser usada em outros contextos, como criação de aviões de papel). O nome vem do rugby, e é o nome dado quando jogadores se juntam para se ajudar a fazer um avanço ofensivo no jogo.
Aprofundando essa definição, pode-se pensar no SCRUM como uma estratégia para incrementalmente entregar valor com pequenos e frequentes progressos, enquanto trabalhando em equipe. Cada membro da equipe se responsabiliza por uma parte do projeto, mas, com constante experimentação, troca de ideias e feedback, SCRUM disponibiliza a quantidade certa de estrutura para que os membros consigam integrar seus métodos individuais de trabalho com os outros membros da equipe, enquanto adiciona práticas precisas para otimizar as necessidades de cada um[4]. Foi introduzido formalmente no inicio dos anos 90 por Ken Schwaber e Jeff Sutherland, e o guia oficial do SCRUM pode ser encontrado online[5].
Há três tipos de objetos importantes na estrutura SCRUM: responsabilidades, eventos e artefatos, e serão descritos a seguir.
Responsabilidades
[editar | editar código-fonte]Aqui há a separação das pessoas no time em suas responsabilidades, e a essas separações se dão os seguintes nomes:
- Desenvolvedores: são os trabalhadores comuns, que se juntam para tornar real o projeto em questão;
- Dono do produto (Product Owner): é op membro da equipe cuja responsabilidade é garantir que o produto a ser criado tenha o maior valor possível, significando o produto mais próximo do ideal, ou do que ofereça a melhor solução, ou o que seja mais próximo dos requisitos estabelecidos;
- Mestre de SCRUM (SCRUM Master): o Mestre de SCRUM é responsável por conhecer as partes da estrutura SCRUM e garantir que estas estejam sendo usadas em máximo potencial dentro da equipe.
O trabalho e coordenação dessas três categorias é imprescindível tanto para a boa aplicação do SCRUM quanto para a garantia de dar bons resultados, boa qualidade de produto e, como dito anteriormente, gerar valor constantemente e incrementalmente.
Eventos
[editar | editar código-fonte]Eventos são caracterizados como práticas estabelecidas para gerar rotina e minimizar reuniões.
- Sprint: é o nome de um ciclo de trabalho. Normalmente, por volta de um mês em um projeto; um sprint contem todos os outros eventos do SCRUM e um novo sprint começa sempre com o fim do anterior;
- Planejamento de Sprint (Sprint Planning): evento realizado no inicio de um sprint e que detalha o trabalho a ser realizado até seu fim. É criado com as considerações de todos os membros da equipe, com cada responsabilidade atentando a sua área;
- SCRUM Diário (Daily SCRUM): evento diário para prestação de contas do progresso dos desenvolvedores, para descobrir obstáculos que podem estar os atrapalhando a chegar nesse progresso e para elaborar estratégias de contornar esses obstáculos;
- Revisão de Sprint (Sprint Review): este evento é realizado ao fim de um sprint, e se caracteriza pela revisão de realizações do sprint com a equipe e partes interessadas no projeto. Há também notificação de o que deve ser realizado a seguir, considerado no planejamento do próximo sprint;
- Retrospectiva do Sprint (Sprint Retrospective): é realizado durante um sprint para acessar fatores importantes do sprint anterior. Há foco em tentar acessar os fatores que mais trouxeram valor para progresso do produto no sprint anterior com o objetivo de replicar no atual, e também falar sobre os problemas que mais afetaram tal progresso e como evita-los no novo ciclo.
Artefatos
[editar | editar código-fonte]Artefatos são objetos criados para documentar o trabalho e progresso realizado. Sua principal função vem de poderem ser usados na constante revisitação do SCRUM, e devem ser incrementados quando relevante ao longo do projeto. Cada tipo de artefato possui uma definição e um compromisso, que serve como um guia para saber se houve progresso no projeto.
- Backlog do Produto: uma lista ordenada e constantemente incrementada dos fatores que devem ser melhorados no produto. Serve como uma lista de a fazeres para a equipe. Seu compromisso (Objetivo de Produto) é o referencial usado para o planejamento desse artefato;
- Backlog de Sprint: uma lista dos objetivos planejados para e pelos desenvolvedores, e deve evoluir dado nova perspectiva. Seu compromisso (Objetivo do Sprint) é o referencial usado para criar os objetivos desse backlog;
- Incrementos: uma descrição de cada incremento e o que deve ser realizado para ele ser considerado completo.
Os objetos do SCRUM são conceitos diretos e abrangentes, e podem ser profundamente elaborados em sua explicação dada a necessidade. Aqui foi trazido uma visão geral destes, mas para um aprofundamento digno de um mestre de SCRUM, recomenda-se o guia oficial do SCRUM[5] mencionado anteriormente.
Como usar?
[editar | editar código-fonte]O objetivo do método Dinâmica de Aviões para SCRUM é ensinar e praticar os conceitos da estrutura SCRUM na realização de um projeto trivial: a criação em série de aviões de papel. A dinâmica será detalhada como na fonte[6] usada pelo estudo trazido de Caso de Uso[2].
Preparação
[editar | editar código-fonte]É recomendado que se tenha uma sala com mesas, projetor ou televisor, um quadro ou mural (ou até a parede) para colar post-its, muitas folhas A4 (no mínimo 10 por pessoa na turma) e muitos lápis e canetas.
Use algum tipo de cronometro, recomenda-se que use algum no computador, mostrado no projetor/televisor, para que todos da turma possam vê-lo.
Teoria
[editar | editar código-fonte]Inicialmente, deve-se dar uma exposição sobre conceitos do SCRUM, principalmente dos objetos principais descritos na seção anterior, explicando os conceitos e estimulando perguntas sobre os detalhes. É recomendado que uma versão resumida do Guia do SCRUM (como a disponível), para que os alunos tenham duvidas para trazer.
Prática
[editar | editar código-fonte]É recomendado uma hora para a teoria e pelo menos duas para a prática, mas o sistema pode ser adaptado para outras faixas de tempo (no entanto, a dinâmica fica apressada com muito menos que o recomendado. Dado inicio a prática, o professor desempenha o papel de cliente e Agile Coach (para coordenar os grupos e auxilia-los quando necessário).
Divida a turma em grupos de 4-5 integrantes e mantenha os materiais disponíveis. Não os distribua, deixe que os times se organizem. Explique a dinâmica, que os times irão construir aviões de papel usando conceitos do SCRUM. Explique que você desempenha o papel de cliente e pode tirar duvidas relevantes sobre o produto, e que, além disso, desempenha o papel de Agile Coach, podendo tirar duvidas sobre o SCRUM e estimulando discussões. Peça que os alunos se referenciem a qual desses dois papeis eles querem falar quando tiverem duvidas (o guia seguido recomenda o uso de um boné e uma gravata para cada papel, e que o professor vista o relevante quando aquele papel seja chamado).
Cada equipe deverá ter seu próprio SCRUM Master, que deve ter uma cópia do guia de SCRUM resumido (que caiba em uma folha ou com conveniência similar). Cada equipe deve ter também seu próprio Product Owner para representar os interesses do cliente dentro da equipe, e que deve ser a interface com o cliente e dará o OK nos aviões. O SCRUM Master e o Product Owner não podem ser a mesma pessoa.
Os demais membros são desenvolvedores, responsáveis pela confecção de aviões: dobras, pinturas, testes, etc. Peça que organizem os papeis antes de prosseguir. Há a recomendação que cada equipe tenha um nome para identificação na sala. Concordem em um tempo de duração da prática (recomendação de 2h) antes de começar.
Sprint #1
[editar | editar código-fonte]Recomenda-se que os primeiros sprints tenham a seguinte separação de tempo:
- 10 minutos para o primeiro Sprint Planning, sendo 5 minutos para a explanação do cliente e 5 para o time entrar em acordo de como vão trabalhar e quando será a entrega;
- 5 minutos para a construção dos aviões;
- 5 minutos para o Sprint Review de cada time;
- 5 minutos para um Sprint Retrospective geral;
Você, como cliente, deve explicar que quer um lote de 10 aviões em um tempo de 5 minutos, que todos devem ser iguais, devem voar e devem respeitar um modelo que você apresentará (no telão). Se quiser estimular a competitividade, explique que você aceitará apenas o lote de uma das equipes, que o produto esteja mais próximo do pedido.
É comum que, neste primeiro sprint, as equipes façam aviões um pouco diferentes, não façam testes, validação com o cliente ou mesmo muitas perguntas. Caso alguma equipe tente renegociar o tempo de entrega, não aceite, mas pode permitir pequenas mudanças no escopo, como mudar o desenho do avião ou alterar o tamanho do lote.
Ao final do tempo de construção, no Sprint Review, analise os lotes de cada equipe cuidadosamente (o desenho escolhido, o volume do lote, a qualidade do produto, etc), e questione as equipes sobre metas que não foram atingidas. Tente dar um minuto para que os grupos tenham discussões entre si ao fim da review.
Neste momento de Sprint Retrospective, os grupos devem conversar sobre seu desempenho e decidir o que pode ser mudado e o que foi bem feito e deve ser repetido no sprint seguinte.
Sprint #2
[editar | editar código-fonte]A dinâmica deve ser muito próxima da anterior, mas levando em consideração os feedbacks do Sprint Review e Retrospective do sprint anterior. Primeiro, reduza o Sprint Planning para 5 minutos (uma vez que as equipes conhecem melhor o processo). Segundo, introduza um modelo diferente de avião, mas que pareça uma variação do modelo anterior. Peça um lote de 10 aviões mas peça uma parte do modelo novo e uma do antigo (5 de cada, ou algo assim).
Neste sprint, espere muito mais perguntas e tentativas de negociação. Seja teimoso, mas um pouco mais receptivo que no sprint anterior. Rode novamente o sprint de 5 minutos, faça nova review e outra retrospectiva.
Quando acaba?
[editar | editar código-fonte]Rode quantas sprints julgar necessário, com o mínimo de duas. É importante que cada sprint introduza novos desafios, como novos modelos de avião, lotes variados, pedidos extra no meio do sprint, alteração do desenho do avião no meio do sprint, troca de membros das equipes, coisas que simulem um projeto real.
Vantagens e Desvantagens
[editar | editar código-fonte]Foram mencionadas as seguintes características como vantagens da atividade: o processo de SCRUM mostrado na prática contextualizou e introduziu bem os alunos à estratégia; o trabalho em equipe e coordenação foi bem visto pelos alunos (além de ser um softskill importante em qualquer ambiente de trabalho). Nesse mesmo estudo, foi mencionado como uma desvantagem a falta de clareza do objetivo da atividade. Talvez os 20 minutos de explicação iniciais não sejam o bastante, sendo que no guia era recomendado uma hora[6]. De qualquer modo, a simplicidade e efetividade do método mostra seu valor.
Categorias
[editar | editar código-fonte]Disciplinas
[editar | editar código-fonte]Palavras-Chave
[editar | editar código-fonte]Referências
[editar | editar código-fonte]- ↑ "SCRUM e Métodos Ágeis: Um Guia Prático" Luiz Duarte, 2018
- ↑ 2,0 2,1 2,2 "Lições Aprendidas de Uso de Baixa Tecnologia em uma Disciplina Engenharia de Software Aplicando Diversas Metodologias Ativas: Um Relato de Experiência" Y. Costa et. tal; WIE2020
- ↑ SCRUM (SOFTWARE DEVELOPMENT). In: WIKIPÉDIA: a enciclopédia livre. Disponível em: <https://en.wikipedia.org/wiki/Scrum_(software_development)>. Acesso em: 23 fev. 2023.
- ↑ What is Scrum? Scrum.org. (n.d.). Retrieved February 23, 2023, from <https://www.scrum.org/resources/what-is-scrum>
- ↑ 5,0 5,1 The 2020 scrum GUIDETM. Scrum Guide. (n.d.). Retrieved February 23, 2023, from https://scrumguides.org/scrum-guide.html
- ↑ 6,0 6,1 Duarte, L. (2018) “Como ensinar Scrum na prática #2 – LuizTools”. https://www.luiztools.com.br/post/como-ensinar-scrum-na-pratica-2/. Dezembro.