Estamos pondo em prática uma técnica de prototipação que está sendo baseada no que está escrito no livro do Mike Cohn, “User Stories Applied”. É o que ele chama de Story Writing Workshop. Pela experiência que estamos tendo aqui, está valendo muito a pena!

Iniciar um projeto de software é sempre complicado. Partimos de uma idéia genérica e temos que chegar em algo próximo a uma arquitetura, por mais simples que seja, para termos um ponto de partida. Nossas conversas aqui na empresa, até então, estavam sendo muito superficiais. Não tínhamos a visão concreta do que deveríamos desenvolver. Sabíamos que eram 6 módulos grandes envolvidos, e alguns atores principais. Mas só com isso, não tínhamos a visão concreta.
Lembrei então desta técnica descrita no livro do Mike Cohn e resolvi aplicá-la. Enquanto escrevo este post, ainda estamos prototipando o nosso projeto. Mas já foi possível constatar como é uma técnica interessante de ser utilizada nas empresas.
Em primeiro lugar, vamos ao que você vai precisar de material. O que estamos utilizando aqui é o seguinte:
- Folhas de rascunho (para anotações, criação de avisos e suporte ao protótipo)
- Post-it’s (caso queira modularizar de uma forma mais prática – não estamos usando, mas fica a dica)
- Um quadro branco (sua empresa ainda não tem um???)
- Canetas para o quadro (no mínimo com duas cores diferentes)
- Caneta grossa ou giz de cera (para escrever nas folhas de rascunho. Não use BIC ou lápis, pois você precisa de um traçado grosso para que seja visível).
Basicamente a ideia aqui é desenhar uma espécie de fluxograma do protótipo. Porém, ao invés de pensar apenas em páginas, telas e módulos, você fará “tudo isso misturado” com funcionalidades. O próprio livro do Mike Cohn sugere que cada caixinha seja uma user story, mas olhando o exemplo dele você enxerga telas (como “Job Results” ou “Job Details”) e não apenas ações ou user stories. Então pense em “tudo junto misturado” que facilita.
O workshop tem algumas regras que precisam ser respeitadas. Ele sugere:
- Focar na QUANTIDADE, ao invés de qualidade. Ou seja, aqui a ideia é identificar o máximo de user stories possíveis.
- Pensamento de alto-nível, ou seja, não perder tempo detalhando ou discutindo demais alguns assuntos.
- Não julgar as idéias. A menos que seja algo fora do propósito, algumas user stories que pareçam inuteis, podem dar vazão a outras ideias (e isso aconteceu aqui conosco!).
- Comparar com a concorrência (é sempre bom parar e ver o que os outros fazem, por que não?)
No caso, estamos utilizando a estrutura de User Story do Mike Cohn, que é:
UM [ator]
PODE [fazer algo]
Não usamos o modelo tradicional de “como um ator, quero fazer algo, para gerar valor”, por uma simples opção nossa. Use a que você achar melhor!
Todo o workshop se passa em torno do quadro branco e do que o Mike chama de Low Fidelity Prototype. São as caixinhas que representam as telas / user stories / modulos do sistema. E é bem simples de visualizar elas e entender o protótipo. Cada caixa pode ter informações adicionais, o que você achar necessário. Em alguns casos nós citamos o que aquela parte do sistema teria de funcionalidades. Em outros, colocamos lembretes importantes que tínhamos que considerar. Ou simplesmente algo como “colocar campos para preenchimento”.
Enfim, não se prenda a regrinhas aqui, use o que achar necessário.
Cada caixa pode apontar para outra. E aí segue-se a idéia do fluxograma. Para saber se cada caixinha tem outra a seguir (ou seja, um fluxo), o Mike sugere fazer os seguintes questionamentos para cada item:
- O que o usuário gostaria de fazer a partir daqui?
- Quais erros ele pode cometer?
- O que pode confundí-lo?
- Quais informações adicionais seriam necessárias?
Com estas perguntas fica mais claro saber se há algo adiante ou não.
Ok, tudo explicado de como funciona, agora vamos ao simples passo-a-passo, de como utilizar esse workshop. É muito simples.
Passo 1: Definir os atores e módulos maiores do sistema. Isso ajuda a pensar no que cada ator faria no sistema e também a quebrar o sistema em partes menores. Por exemplo, nós identificamos alguns módulos grandes como o “CMS do cliente” e alguns atores sendo desde nós mesmos (Woompa) até os visitantes genéricos dos sites do cliente e mesmo os “mau usuários”, aqueles que podem tentar derrubar os serviços.
Passo 2: Tendo o ator, pelo menos, definido, iniciar com uma box. Esta box será a “tela inicial”, ou o ponto de partida. Pode ser a “home” ou “tela de login”. Não se preocupe em identificar o ponto de partida, pode ser que existam páginas antes dela.
Passo 3: Faça os quatro questionamentos para cada uma das box. As perguntas devem guiar a discussão, e certamente farão isso.
Passo 4: Siga em frente o fluxo até chegar no último nível. Quando não houver mais um passo adiante, significa que você deve passar para outro box. O Mike Cohn sugere manter o raciocínio no fluxo, não pulando de box para box. É uma boa ideia, de fato.
Passo 5: Vá para outra box e repita o processo. Quando finalizar o protótipo, pense nos outros atores. And so on…
Parece que é complicado, né? Mas lembre-se de que você não estará discutindo demais aqui. A ideia é QUANTIDADE, e portanto ninguém deve perder muito tempo discutindo técnicas, telas, detalhes.
No fim do workshop (que pode durar algumas horas ou alguns dias, dependendo do seu sistema) você terá não só um ponto de partida, mas uma visão bem mais abrangente do que deve ser feito. E criar as user stories será muito mais simples.
Experimente! Vale a pena.
Um abraço!
Flávio

Parabens pelo post Flavio. Realmente sinto falta de conteudos, exemplos, didáicas deste tipo, o chamado pré-game. Sinto que às vezes se tem muito foco em Scrum, Sprint, XP, TDD, Pair Programming e coisas desse tipo acaba encontrado pouca coisa.
No Agile Brazil 2010 teve um workshop muito legal do Rodrigo Yoshima com o Philip Calçado sobre como iniciar projetos ágeis, tanto é que teve até fila para entrar no workshop.
Novamente Parabens, muito legal!
Oi, Fábio!
Admiro muito a iniciativa. Leio aqui faz um pouquinho de tempo.
Isso que foi dito é algo que poucas pessoas percebem, mas que faz diferença – ter portfólio é tudo. Iniciativa, pró-atividade, essas coisas. Lançamento e projeção na ‘comunidade’ às vezes é o passe que nos abre as oportunidades grandes no futuro.
No final do ano quero começar a minha start-up e pego teu case como uma grande referência. Semana passada, participei do FISL pela terceira vez, e notei a falta de percepção das pessoas para esse tipo de sacada que tu teve.
Parabéns!
Saudações,
parabéns pela iniciativa o processo é muito interessante
gostaria de acrescentar a possibilidade, de durante o processo, ser gerado o TodoList dos processos e execução do sistema
o que acha ?