Você já leu isso antes: a melhor maneira de propiciar a discussão sobre a evolução daquilo que se deseja é apresentar um protótipo que represente o entendimento inicial do que é capturado na lista de requisitos. O protótipo prematuro é a ferramenta que auxiliará no refinamento do Product Backlog, ou Product Backlog Refinement. A técnica de Product Backlog Refinement vem da plena ciência de que é contraproducente (crescentemente com o nível de complexidade do projeto) tentar chegar a um Product Backlog perfeito, que sirva para alimentar todos os Sprint Backlogs, logo no início do projeto. Em função disso, não é raro acontecer de o Product Backlog inicial ser colocado em segundo plano com relação à evolução dinâmica dos Sprint Backlogs, criando o risco de se entrar em um processo em que não seja mais possível antever o seu fim.
O Product Backlog Refinement permite que se inicie o projeto com uma lista de requisitos de alto nível, que será detalhada durante a evolução do projeto e de onde sairão as histórias priorizadas a serem realizadas nos Sprint Backlogs.
Eu gosto de tratar o Product Backlog como um mapa mental (ver a Seção “Product Backlog e Mapas Mentais”, no Capítulo 5), já que, dessa forma, todo o seu refinamento fica graficamente visível, pronto para auxiliar nas discussões e mesmo na solução de conflitos. Instantâneos de cada fase do Product Backlog devem ser mantidos como um histórico e arrazoado das decisões que implicaram em seu detalhamento e sua evolução. Dessa forma, grandes mudanças de escopo ou ampliações ficam claramente visíveis e podem ser negociadas, no caso de aumento no esforço necessário para o seu desenvolvimento.
Mesmo assim, em projetos de evolução permanente, devem ser estabelecidas fases finais de entregas com uma boa definição do que significa “entregue”, “pronto” ou “concluído”, tema que merecerá uma discussão à parte ainda neste livro.
Imagine que, logo no início da reunião com a equipe Scrum, o Scrummaster, o Product Owner e os patrocinadores do projeto, você chegou a um rápido (quick-fire) mapa mental parecido com o da Figura 9.1.
O único elemento novo que surge no mapa, se comparado à lista de requisitos anteriormente apresentada, é que o jogo deve ser social, podendo também existir como um aplicativo do Facebook e permitindo que as pessoas convidem umas às outras para o jogo. Agora, você passa para a reunião apenas com o Scrummaster e a equipe Scrum, na qual serão discutidas, por duas horas, algumas ideias de como o jogo será desenvolvido.
Como você já sabe, a cada Sprint deve ser apresentado um incremento funcional do projeto. A decisão é a de que, ao final do primeiro Sprint, o Product Owner receberá um protótipo de papel com o qual poderá jogar, com uma pessoa fazendo o papel da inteligência artificial.
Figura 9.1 – Mapa mental rápido (quick-fire) do aplicativo Jogo dos Tronos
Vocês decidiram capitalizar em cima do sucesso do Candy Crush Saga, que, por sua vez, já capitalizou em cima de jogos no estilo de unir peças similares em linha, como o Connect4 e o bom e velho Moinho (ou Trilha).
Como as instruções no jogo devem ser mínimas, vocês optaram por usar o padrão de projeto Marca-d’Água para apresentar os movimentos das peças e um padrão de projeto Tutorial que será apresentado logo na primeira vez em que o jogo for executado e, depois, apenas quando o usuário invocá-lo usando um botão de ajuda. Novos tutoriais serão adicionados à medida que o jogo avançar em suas novas fases. A Marca d’Água ilustrando os movimentos será feita com o uso de papel vegetal colocado sobre o protótipo do jogo e os tutoriais serão lidos e encenados. Elementos de arte que serão propostos para o jogo (ícones dos personagens, desenho do tabuleiro, transições) poderão ser desenvolvidos para serem reaproveitados no desenvolvimento, mas nenhuma programação será feita nesse Sprint.
Use sua imaginação e pense em como evoluiu a semana de trabalho correspondente a esse primeiro Sprint do Jogo dos Tronos. Quais são os itens do Sprint Backlog? Como progrediram as notas adesivas no KanBan. Como em uma cena do filme A Máquina do Tempo, de 1960, imagine as pessoas movimentando-se em câmera rápida até chegar o dia da Sprint Review, na qual você apresentará o protótipo e encenará o jogo para o Product Owner e os patrocinadores.
Toda a equipe está vestida com roupas medievais e um dos membros pega um pergaminho e lê a introdução ao Jogo dos Tronos:
Todos os reinos viviam em paz no mundo de Escandalísia até que poderosos seres interplanetários tornaram todos os reis seus prisioneiros, transformando toda a sua corte em peões-zumbis – capazes apenas de obedecer às ordens simples de seus reis. Os seres interplanetários transformaram, então, toda a Escandalísia em um grande tabuleiro, colocando um rei contra o outro em batalhas de vida ou morte. Para sobreviver, cada rei deveria provar seu intelecto superior, fazendo com que seus peões se unissem para transformarem-se novamente em membros de sua corte e comandando-os no ataque aos outros reis.
Fase 1 – Evolua seus peões-zumbis
Você não pode ser atacado pelos flancos, onde está protegido por peões, mas precisa colocar três peões em linha para que eles se transformem em um cavaleiro. Chegará o momento em que você terá de desistir de sua proteção. Peões movem-se para os lados, para a frente e em diagonal, mas nunca para trás!
O tabuleiro de nove por nove casas é apresentado. O Candy Crush Saga já provou que esse formato é bastante cômodo, mesmo em telas pequenas. Cada rei é colocado, de forma aleatória, em seu lado do tabuleiro (reino), cercado por oito peões-zumbis. Outros cinco peões são distribuídos, também aleatoriamente, sobre o tabuleiro, com um padrão marca-d’água, representado por um papel vegetal com o desenho dos movimentos, acima deles. Uma rápida cortina aparece acima do jogo, com os dizeres “coloque três peões em linha”. Veja uma proposta para esses elementos gráficos nas figuras 9.2, 9.3, 9.4 e 9.5.
Figura 9.2 – O tabuleiro do Jogo dos Tronos.
Observe que os elementos da Figura 9.4 devem ser impressos (ou desenhados) em papel vegetal, para simular a sobreposição que ocorre (padrão marca-d’água) logo no início do jogo.
Uma situação de início de jogo possível é exibida na Figura 9.6, logo após a cortina, representada na Figura 9.5, ser exibida.
Figura 9.3 – As peças do Jogo dos Tronos.
Figura 9.4 – Os movimentos dos personagens do Jogo dos Tronos. As setas indicam a movimentação contínua, independente do número de casas, e os pontos indicam o movimento apenas para a casa adjacente.
Figura 9.5 – Essa cortina sobrepõe-se ao tabuleiro logo no início da primeira fase do jogo
Figura 9.6 – Uma situação possível para o início do Jogo dos Tronos
Permita que o jogo evolua. Um dos patrocinadores faz o papel do potencial usuário do jogo e uma pessoa da equipe faz o papel do oponente.
Você mesmo deve ter percebido que, com esse pequeno e simples protótipo de papel, o Jogo dos Tronos ficou bem mais real e nenhuma linha de código de programação foi escrita. Revise os requisitos iniciais do projeto e o mapa mental antes de seguir adiante.