O documento descreve a técnica de story mapping para priorização de funcionalidades em sistemas interativos. O story mapping envolve listar funcionalidades, escrevê-las em cartões, ordená-las em um fluxo de tarefas, ajustar a posição de acordo com a criticidade, agrupar por atividades e marcar o primeiro release. A técnica auxilia na comunicação, planejamento e redução de riscos ao desenvolver sistemas em releases incrementais.
2. Story Mapping
Workshop de priorização de funcionalidades
para sistemas interativos
Fabrício Marchezini, Karine Drumond, Leandro Alves
3. "As agile methods take over the programming
world (and they will), EVERYONE else will adjust
accordingly”
Alan Cooper
Alan Cooper"
4. O que significa ser ágil?
• Indivíduos e interação entre eles
mais que processos e ferramentas
• Software em funcionamento
mais que documentação abrangente
• Colaboração com o cliente
mais que negociação de contratos
• Resposta às mudanças
mais que seguir um plano
http://agilemanifesto.org/
8. O que é?
Técnica colaborativa que
auxilia na priorização de
funcionalidades para
planejamento de releases
9. Quem deve participar?
• Toda a equipe:
‣ negócios
‣ marketing
‣ designers
‣ desenvolvedores
‣ cliente
‣ usuários
fonte: http://www.selfishprogramming.com/2008/10/
10. Etapas
1. Listar funcionalidades
2. Escrever em cartões
3. Ordenar em fluxo de tarefas
4. Ajustar posição quanto à
criticidade
5. Agrupar por atividades macros
6. Marcar o primeiro release
11. Passo 1
• Brainstorming: Fazer uma lista de possíveis
features do seu sistema. Pense “O que as
pessoas podem fazer no meu sistema?”
‣ Cada iten deve começar com um verbo, mantenha ponto de vista
do usuário
‣ Esqueça detalhes de implementação, mantenha o foco nos usuários
12. Passo 1
• Ex.: software de controle de vendas
‣ Fazer pedido ao fornecedor
‣ Receber pedido do fornecedor
‣ Gerar etiquetas para itens recebidos
‣ Vender produtos
‣ Devolver e reembolsar produtos
‣ Analisar vendas
13. Passo 1
• Escreva cada item em um cartão diferente
• “Eu, como usuário x, preciso .... no sistema”
• Deixe espaço para outros detalhes
Fazer pedido ao fornecedor
14. Passo 2
• Adicione detalhes importantes:
‣ Usuários (profissão, cargo, papel desempenhado)
‣ Frequência de uso (muito, pouco, raro ou
diariamente, semanalmente etc.)
‣ Valor (valor para o negócio. ROI)
Fazer pedido ao fornecedor
(comprador)
Frequência: semanalmente
Valor: médio
15. Passo 3
• Ordene as cartas em uma sequência lógica
de tarefas
‣ O objetivo é contar uma história de como o sistema funciona
‣ Sobreponha os cartões que aconteçam no mesmo tempo
16. Fazer pedido ao Receber pedido do Gerar etiqueta para os
fornecedor Vender produto Analisar vendas
vendedor produtos recebidos
(comprador) (consultor de vendas) (analista de vendas)
(controlador de estoque) (controlador de estoque)
Frequência: Frequência: diário Frequência: mensal
Frequência: diário Frequência: diário
semanalmente Valor: alto Valor: alto
Valor: alto Valor: médio
Valor: médio Devolver e reembolsar
(consultor de vendas)
Frequência: diário
Valor: médio
sequência de uso
17. Passo 4
• Ajustar conforme criticidade (verticalmente)
‣ Coloque acima as cartas mais críticas e mais frequentemente usadas
pelos usuários.
‣ Discuta com a equipe o quão crítico cada funcionalidade é para o
negócio
18. muito usado
Necessidade
Receber pedido do
Vender produto
vendedor
(consultor de vendas)
(controlador de estoque)
Frequência: diário
Frequência: diário
Valor: alto
Valor: alto
Fazer pedido ao Gerar etiqueta para os
fornecedor Devolver e reembolsar Analisar vendas
produtos recebidos
(comprador) (consultor de vendas) (analista de vendas)
(controlador de estoque)
Frequência: Frequência: diário Frequência: mensal
Frequência: diário
semanalmente Valor: médio Valor: alto
Valor: médio
Valor: médio
raramente usado
sequência de uso
19. Passo 5
• Note as quebras no fluxo
‣ Discuta onde há quebras no modelo
‣ Pode ser uma mudança de usuário, regras de negócio ou processo
‣ Divida verticalmente as quebras e dê um nome
‣ Este grupo maior representam as atividades que as pessoas realizam
no sistema
20. muito usado
compra recebimento Venda Análise
Necessidade
Receber pedido do
Vender produto
vendedor
(consultor de vendas)
(controlador de estoque)
Frequência: diário
Frequência: diário
Valor: alto
Valor: alto
Fazer pedido ao Gerar etiqueta para os
fornecedor Devolver e reembolsar Analisar vendas
produtos recebidos
(comprador) (consultor de vendas) (analista de vendas)
(controlador de estoque)
Frequência: Frequência: diário Frequência: mensal
Frequência: diário
semanalmente Valor: médio Valor: alto
Valor: médio
Valor: médio
raramente usado
sequência de uso
21. Passo 6
• Marcar primeiro release
‣ Deve ser o menor número de funcionalidades úteis para os
usuários e o contexto do negócio
‣ É o primeiro release mas não necessariamente o primeiro a
ser público
22. muito usado
compra recebimento Venda Análise
Necessidade
Receber pedido do
Vender produto
vendedor
(consultor de vendas)
(controlador de estoque)
Frequência: diário
Frequência: diário
Valor: alto
Valor: alto
Fazer pedido ao Gerar etiqueta para os
fornecedor produtos recebidos Devolver e reembolsar Analisar vendas
(comprador) (controlador de estoque) (consultor de vendas) (analista de vendas)
Frequência: Frequência: diário Frequência: diário Frequência: mensal
semanalmente Valor: médio Valor: médio Valor: alto
Valor: médio
raramente usado
sequência de uso
23. Passo 7
• Estime o tempo de desenvolvimento
‣ Peça a equipe de desenvolvimento que estime o tempo para
cada cartão (em dias, horas, semanas etc.)
24. Passo 8
• Reparta o bolo: programe outros releases
‣ No final você poderá ver quantos releases serão necessários e
quais funcionalidades conterá em cada um
25.
26. Exercício
• Sistema de auxílio ao aprendizado de linguas
‣ Encontrar uma lição
‣ Vizualizar lições já feitas
‣ Baixar arquivo texto para ler depois
‣ Fazer exercícios
‣ Salvar palavras do texto na minha lista de vocabulário
‣ Enviar um texto para ser corrigido por um professor
‣ Assistir videos educativos
‣ Conversar por voz no chat
• Modelo de negócio: planos de serviços baseado em sistema de
pontuação.
27. Etapas
Listar funcionalidades
Escrever em cartões
1. Ordenar em fluxo de tarefas
2. Ajustar posição quanto à
criticidade
3. Agrupar por atividades macros
4. Marcar o primeiro release
29. Conclusão
• A primeira versão tem somente o que é mais útil e tem
maior valor de negócio
• Facilita ver as relações de dependência entre as
funcionalidades
• Ajuda a formar a “visão do todo”
• Facilita a comunicação interna
• Gera rápido retorno
• Reduz risco