fatiando o bolo
TRANSCRIPT
Fatiandoo boloIdéias úteis para quebrar o trabalho em estórias que façam sentido
TDC POA 2016
NÃO SEJA BUROCRÁTICO
Mayra Souza Luis Mizutani
Analista Negócios na ThoughtWorks Agile Manager na ThoughtWorks
Bill Wake
O BOLO DE MUITAS CAMADAS
Pense no sistema inteiro como um bolo de muitas camadas, ex, a camada de rede, persistência, camada logic e camada de apresentação. Quando fatiamos ele em estórias, estamos servindo apenas uma parte do bolo. Queremos que os usuários tenham uma idéia da essência do bolo, e a melhor forma de fazer isto é fatiá-lo de forma vertical passando por todas as camadas. Alguns desenvolvedores tem uma inclinação natural para trabalhar em uma camada por vez. (e acertar de primeira); mas uma camada completa de BD, por exemplo, tem muito pouco valor sem a camada de apresentação para o usuário. !
~ Bill Wake
O BOLO DE MUITAS CAMADAS
O BOLO DE MUITAS CAMADAS
Quando monta-se um sistema camada por
camada, o usuário só pode experimentar ele
funcionando quando todas elas estiverem prontas.
PROBLEMAS EM FATIAR HORIZONTALMENTE
Voce não pode provar o bolo antes que ele esteja
concluído
O ciclo de feedback é longo, o que aumento o risco. O bolo inteiro precisa estar pronto
para o cliente se dar conta que o bolo que você está
entregando não é exatamente o que ele queria.
É quase impossível ou impraticável alinhar todas as
estórias com a ordem de implementação de camadas
inteiras. Isto torna o desenvolvimento pouco flexível a mudanças na prioridade de
negócio.
Voce pode não gostar do bolo quando prová-lo
Você não pode escolher a fatia que quiser
Complexidade do sistema
Quando uma estória é muito longa, existe uma tendência a fatiá-la horizontalmente
“Como um usuário do site de viagem X Eu gostaria de ver uma lista de voos entre 2 cidades selecionadas, com preço total, incluindo taxas de embarque
1/8 - Camada visível/tangível ao usuário final. - Interface de usuário
7/8 - Invisível para usuário final - integração entre Aerolíneas- Calculo de taxas- Cotações- Desempenho
PROBLEMAS EM FATIAR HORIZONTALMENTE
Redução desperdícios
Previsibilidade
OUTRAS VANTAGENS EM FATIAS VERTICAIS
1. Descrição: “Como … Eu quero … Para que …” 2. Critérios de aceitação: ”Dado que… Quando… Então” 3. Fluxos e Diagramas 4. Protótipos 5. Desenhos de interfaces de usuário 6. Outros, textos, imagens etc
NÃO SEJA BUROCRÁTICO
A FATIA DO BOLO
UTILIZANDO USER STORIES
6 atributos importantes ao escrever uma “user story”:
Não deveria ser maior que uma iteração
IndependenteINVEST
Negociável
Estimável
Não há sobreposição, ordem certa.
Sem contrato, detalhes podem mudar
Benefício incremental de algo
Relativo ao tamanho de outras estórias
Deve-se poder dizer quando está concluída
V
TS
Valiosa para usuários
Testável
Pequena (Small)
1
2
3
A FATIA DO BOLO
Passos em um Processo
COMO FATIAR O BOLO?
Revisar pedido
Receber confirmação
por email
Realizar pedido
Login Pagar Pedido
Revisar pedido
Realizar pedido
Login Pagar Pedido
Realizar pedido
Login Pagar Pedido
Passos em um Processo
• COMO um consumidor QUERO fazer log in com meus dados de conta ASSIM não preciso inserir novamente meus dados cada vez que faço login;
• COMO consumidor QUERO revisar e confirmar meu pedido, ASSIM eu posso corrigir meu pedido antes de ir para o pagamento;
• COMO consumidor QUERO pagar meu pedido com transferência bancário, ASSIM posso finalizar minha compra;
• COMO consumidor QUERO pagar meu pedido com cartão de crédito, ASSIM posso finalizar minha compra;
• COMO consumidor QUERO receber um email de confirmação ASSIM posso ter uma prova da minha compra;
COMO FATIAR O BOLO?
Regras de negócio
COMO FATIAR O BOLO?
X < R$ 5,00
Endereço no exterior
REJEITAR PEDIDOS
Valor frete superior valor
produto
1
2
3
Regras de negócio
• COMO dono de loja eu QUERO rejeitar os pedidos menores que U$ 5,00, PORQUE eles não geram lucro para minha empresa;
• COMO dono de loja eu QUERO rejeitar consumidores estrangeiros, PORQUE as despesas de envio tornam minhas vendas muito pouco lucrativas;
• COMO dono de loja eu QUERO que o produto fique reservado no estoque por 48 horas, ASSIM consumidores podem ter uma idéia realista do estoque disponível;
• COMO dono de loja eu QUERO automaticamente cancelar pedidos sem pagamento dentro de 48 horas, ASSIM posso vender os produtos para outros consumidores interessados;
COMO FATIAR O BOLO?
Caminho feliz / Infeliz
COMO FATIAR O BOLO?
Login
Acessa “minha área"
Páginade erro
Recuperação de senha
Bloqueio de senha
Login certo?
3 erros consecutivos?
SIM
NÃO NÃO
SIM
Caminho feliz / Infeliz
• COMO usuário QUERO fazer log in com minha conta pois ASSIM posso acessar minha área segura (feliz);
• COMO usuário QUERO poder recriar minha senha se o login falhar, pois ASSIM posso fazer o login novamente (infeliz);
• COMO usuário QUERO ter a opção de cadastrar uma nova conta se meu login não é reconhecido, pois ASSIM posso ter acesso a minha área seguras (infeliz);
• COMO dono do site QUERO pode bloquear usuarios que inserem um log in incorreto 3 vezes seguidas, pois ASSIM posso proteger o site contra ataques mal intencionadas (Infeliz);
COMO FATIAR O BOLO?
Opções de input / plataforma
COMO FATIAR O BOLO?
ExibirScrum board
DESKTOP TABLET MOBILE IMPRESSO
Opções de input / plataforma
• COMO um membro da equipe QUERO ver o board Scrum no meu desktop, pois ASSIM posso saber o status da Sprint:
!• COMO um membro da equipe QUERO ver o board Scrum no meu mobile, pois
ASSIM posso saber o status da Sprint:
• COMO um membro da equipe QUERO ver o board Scrum no meu touchscreen, pois ASSIM posso saber o status da Sprint:
• COMO um membro da equipe QUERO ver o board Scrum impresso, pois ASSIM posso saber o status da Sprint:
COMO FATIAR O BOLO?
Tipos de dados e parâmetros• Como um consumidor QUERO buscar por produtos por seu código de
referência, pois ASSIM posso rapidamente encontrar um produto que eu já conheço
• Como um consumidor QUERO buscar por produtos em uma faixa de preço, pois ASSIM posso ver uma resultado mais relevante.
• Como um consumidor QUERO buscar por produtos pela cor do modelo, pois ASSIM posso ver uma resultado mais relevante.
• Como um consumidor QUERO buscar por produtos pela categoria do produto, pois ASSIM posso ver uma resultado mais relevante.
COMO FATIAR O BOLO?
Tipos de dados e parâmetros
COMO FATIAR O BOLO?
R$ 200
R$ 300
R$ 320
R$ 120
R$ 420
R$ 220
Marca A
Marca B
Marca X
Marca D
Marca W
Marca A
RESULTADOS BUSCA
FILTRAR
PREÇO
MARCA
COR
PREÇO
MARCA
COR
Termos vagos• COMO um passageiro frequente, QUERO que a aplicação salve a dados
meteorológicos para vários dias e mostre isso para mim em modo offline, pois ASSIM posso ver a previsão de tempo no meu destino de viagem quando eu não possuir sinal de celular. 1. Salvas dados para o próximo dia
2. Salvar dados meteorológicos para 5 dias
Conjunções
• COMO um usuário recorrente, QUERO ter a opção de salvar dados de cartão e selecionar para futuras compras, pois AASIM eu não tenha que que digitar meus dados toda vez que realizo uma compra.
1. Salvas dados de cartão de credito no meu perfil 2. Oferecer a opção de usar dados de cartão salvos para a próxima
compra.
COMO FATIAR O BOLO?
Dúvidas?!
@paola_mayra !