fatiando o bolo

23
Fatiando o bolo Idéias úteis para quebrar o trabalho em estórias que façam sentido TDC POA 2016

Upload: luis-fernando-mizutani

Post on 11-Apr-2017

132 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Fatiando o bolo

Fatiandoo boloIdéias úteis para quebrar o trabalho em estórias que façam sentido

TDC POA 2016

Page 2: Fatiando o bolo

NÃO SEJA BUROCRÁTICO

Mayra Souza Luis Mizutani

Analista Negócios na ThoughtWorks Agile Manager na ThoughtWorks

Page 3: Fatiando o bolo

Bill Wake

O BOLO DE MUITAS CAMADAS

Page 4: Fatiando o bolo

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

Page 5: Fatiando o bolo

O BOLO DE MUITAS CAMADAS

Page 6: Fatiando o bolo

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

Page 7: Fatiando o bolo

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

Page 8: Fatiando o bolo

Redução desperdícios

Previsibilidade

OUTRAS VANTAGENS EM FATIAS VERTICAIS

Page 9: Fatiando o bolo

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

Page 10: Fatiando o bolo

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

Page 11: Fatiando o 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

Page 12: Fatiando o bolo

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?

Page 13: Fatiando 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

Page 14: Fatiando o bolo

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?

Page 15: Fatiando 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

Page 16: Fatiando o bolo

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?

Page 17: Fatiando o bolo

Opções de input / plataforma

COMO FATIAR O BOLO?

ExibirScrum board

DESKTOP TABLET MOBILE IMPRESSO

Page 18: Fatiando o bolo

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?

Page 19: Fatiando 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?

Page 20: Fatiando 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

Page 21: Fatiando o bolo

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?