Top Banner
Histórias de Usuário Augusto Rückert [email protected] The Best, The Rare, The Rest
90

Histórias de usuários - Declaração de valor

Jan 28, 2018

Download

Software

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Histórias de usuários - Declaração de valor

Histórias de Usuário

Augusto Rü[email protected]

The Best, The Rare, The Rest

Page 2: Histórias de usuários - Declaração de valor

Aqui vai uma história: ou você me dá o que eu pedi, ou eu acabo com a sua vida

Page 3: Histórias de usuários - Declaração de valor

Era uma vez…

1. Histórias de usuário 101

2. Escrevendo histórias melhores

3. Quando não é uma história

Page 4: Histórias de usuários - Declaração de valor

Parte 1

História de Usuário 101

Page 5: Histórias de usuários - Declaração de valor

?.

Page 6: Histórias de usuários - Declaração de valor

O que é uma história de usuário?

?. Histórias de usuário 101.

Page 7: Histórias de usuários - Declaração de valor

Não é uma especificação funcionalNão é para relatar um bugNão é um documento de definições técnicas Não é uma enunciação detalhadaNão é um requisitoNão é um contratoNão é algo para funcionar sem o P.O.

O que não é uma história de usuário...

×

Page 8: Histórias de usuários - Declaração de valor

Uma história de usuário é...

É uma requisição de funcionalidade sobre o ponto de vista do usuário

É uma expressão negociável de uma necessidade

É uma expressão de um incremento usável de software

Page 9: Histórias de usuários - Declaração de valor

Por que escrevemos histórias,não especificações ou requisitos?

?. Histórias de usuário 101.

Page 10: Histórias de usuários - Declaração de valor

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

Responder a mudanças mais que seguir um plano

Relembrando o manifesto ágil...

Page 11: Histórias de usuários - Declaração de valor

Facilitam o diálogo

Qualquer um pode escrever

Qualquer um pode entender a demanda

Focam na entrega de valor

Facilitam a mudança de comportamento

Descrevem uma possibilidade/demanda, não uma solução

Escrevemos histórias pois elas

Page 12: Histórias de usuários - Declaração de valor

Cascata: o objetivo aqui é gerenciar e garantir o escopo

Page 13: Histórias de usuários - Declaração de valor

Cascata: esse documento contém TUDO?!

Page 14: Histórias de usuários - Declaração de valor

3Cs

!. Histórias de usuário 101.

Page 15: Histórias de usuários - Declaração de valor

CartãoConversaçãoConfirmação

Componentes da histórias de Ron Jeffries

3Cs

Page 16: Histórias de usuários - Declaração de valor

CartãoConversaçãoConfirmação

A demanda deve ser sucinta e compreensível por todos. A história é descartável, não um requisito a ser rastreado.

3Cs

Componentes da histórias de Ron Jeffries

Page 17: Histórias de usuários - Declaração de valor

CartãoConversaçãoConfirmação

A demanda deve ser discutida e negociada. A história não é uma ordem, mas uma ferramenta para o diálogo e tomada de decisão.

3Cs

Componentes da histórias de Ron Jeffries

Page 18: Histórias de usuários - Declaração de valor

CartãoConversaçãoConfirmação

A demanda deve ser compreendida por todos. O valor a ser entregue deve estar claro para os envolvidos.

3Cs

Componentes da histórias de Ron Jeffries

Page 19: Histórias de usuários - Declaração de valor

Declaração de ValorCritérios de aceitação

Anatomia básica de um Cartão

Page 20: Histórias de usuários - Declaração de valor

Declaração de ValorCritérios de aceitação

Anatomia básica de um Cartão

Page 21: Histórias de usuários - Declaração de valor

Pausa aleatória

Page 22: Histórias de usuários - Declaração de valor

Modelos de Declaração de Valor

!. Histórias de usuário 101.

Page 23: Histórias de usuários - Declaração de valor

Como/Sendo um <papel/persona/perfil>quero/preciso/necessito de <meta/desejo>pois/de modo que <benefício>

Modelo Connextra (padrão mais conhecido)

Page 24: Histórias de usuários - Declaração de valor

Exemplo 1

Como um Vendedorquero adicionar novos itens em um pedido recorrentede modo que não precise reagendar tudo novamente

Modelo Connextra (padrão mais conhecido)

Page 25: Histórias de usuários - Declaração de valor

Exemplo 2

Sendo um Administrador de Redesquero filtrar os IPs por subredepois quero poder agrupá-los para melhorar a organização da minha infraestrutura

Modelo Connextra (padrão mais conhecido)

Page 26: Histórias de usuários - Declaração de valor

Mike Cohn

Como um <papel/persona/perfil>quero/preciso/necessito de <meta/desejo>

Variações do Modelo Connextra

Page 27: Histórias de usuários - Declaração de valor

Mike Cohn

Como um Vendedorquero listar todos os pedidos de um cliente

Variações do Modelo Connextra

Page 28: Histórias de usuários - Declaração de valor

Chris Matts

A fim de <benefício a ser recebido>como um <papel/persona/perfil>,eu quero <meta/desejo>

Variações do Modelo Connextra

Page 29: Histórias de usuários - Declaração de valor

Chris Matts

A fim de visualizar toda minha infraestruturacomo um Administrador de rede,eu quero uma visão centralizada dos meus elementos monitorados

Variações do Modelo Connextra

Page 30: Histórias de usuários - Declaração de valor

Variações do Modelo Connextra

5Ws (Who, When, Where, What, Why)

Como <quem>,<quando> <onde>,eu <o que>,porque <por que>

Page 31: Histórias de usuários - Declaração de valor

Variações do Modelo Connextra

5Ws (Who, When, Where, What, Why)

Como Vendedor,ao acessar as últimas vendas efetuadas,eu preciso ordená-las por data de entrega,porque preciso avisar os clientes do prazo dado pela fábrica

Page 32: Histórias de usuários - Declaração de valor

Variações do Modelo Connextra

Para demonstrar diferenciação

Diferente do(a) <situação atual ou indesejada>,Como <papel>,Eu quero/preciso que <situação desejada>

Page 33: Histórias de usuários - Declaração de valor

Variações do Modelo Connextra

Para demonstrar diferenciação

Diferente do relatório de compras atual,Como administrador,Eu quero/preciso que seja informado quem efetuou a compra

Page 34: Histórias de usuários - Declaração de valor

Parte 2

Escrevendo histórias melhores

Page 35: Histórias de usuários - Declaração de valor

INVEST

!. Escrevendo histórias melhores.

Page 36: Histórias de usuários - Declaração de valor

Independente (Independent)

Negociável (Negotiable)

Possui valor para os usuários/clientes (Valuable to users)

Estimável (Estimatable)

Pequena (Small)

Testável (Testable)

Seis atributos para uma boa história, de Bill Wake

Page 37: Histórias de usuários - Declaração de valor

Não seja genérico

!. Escrevendo histórias melhores.

Page 38: Histórias de usuários - Declaração de valor

Não use declarações vagas: "Como usuário..."

Uma das grandes vantagens das histórias dos usuários é fazer com que os desenvolvedores entendam mais das motivações dos usuários e tenham maior empatia por eles.

Identifique quem é o usuário

Page 39: Histórias de usuários - Declaração de valor

A identificação do usuário deve servir como ponto para discussão:

O que ele faria?

Como ele faria?

Qual abordagem se adapta melhor a esse usuário?

Identifique quem é o usuário

Page 40: Histórias de usuários - Declaração de valor

Defina quando e onde:

"[...] a listagem de contatos [...]"

"[...] quando adiciono um novo pedido de frete [...]"

"[...] ao finalizar a inclusão de um novo host na monitoração [...]"

Identifique o contexto

Page 41: Histórias de usuários - Declaração de valor

Defina um contexto maior: um objetivo de negócio que sustente mais de uma história

Um contexto genérico não irá prover nada de interessante para discussão e melhoria do produto. Somente será uma desculpa para o aumento descontrolado do escopo, baseado em vontades individuais ou opiniões de Hippos

Identifique o contexto

Page 42: Histórias de usuários - Declaração de valor

HIPPOS: highest paid person opinion

Page 43: Histórias de usuários - Declaração de valor

Avalie a zona de controlee a esfera de influência

!. Escrevendo histórias melhores.

Page 44: Histórias de usuários - Declaração de valor

Todo sistema tem 3 áreas:

A zona de controle que inclui aquelas coisas no sistema que nós podemos mudar nós mesmos

Um pouco de teoria de sistemas...

Page 45: Histórias de usuários - Declaração de valor

Todo sistema tem 3 áreas:

A zona de controle que inclui aquelas coisas no sistema que nós podemos mudar nós mesmos

A esfera de influência que inclui atividades que nós podemos impactar, mas não exercemos controle sobre

Um pouco de teoria de sistemas...

Page 46: Histórias de usuários - Declaração de valor

Todo sistema tem 3 áreas:

A zona de controle que inclui aquelas coisas no sistema que nós podemos mudar nós mesmos

A esfera de influência que inclui atividades que nós podemos impactar, mas não exercemos controle sobre

E o ambiente externo que inclui os elementos que não temos nenhuma influência

Um pouco de teoria de sistemas...

Page 47: Histórias de usuários - Declaração de valor

O motivo da necessidade do usuáriodeve estar na esfera de influência do time

O entregável (o que o usuário quer)deve estar na zona de controle do time

Em uma boa história...

Page 48: Histórias de usuários - Declaração de valor

Como gerente de vendas, eu preciso saber o número total de vendas por vendedor, pois assim posso calcular e submeter

as comissões mensais para o RH da empresa

Page 49: Histórias de usuários - Declaração de valor

Como gerente de vendas, eu preciso saber o número total de vendas por vendedor, pois assim posso calcular e submeter

as comissões mensais para o RH da empresa

Zona de controle do time

Esfera de influência do time

Page 50: Histórias de usuários - Declaração de valor

Uma boa história implicaem ter algum risco

!. Escrevendo histórias melhores.

Page 51: Histórias de usuários - Declaração de valor

Micro-histórias

Histórias enganadoras

Histórias falsas

Situações nas quais não há riscos...

Page 52: Histórias de usuários - Declaração de valor

Micro-histórias

Difícil identificar os riscos

Não são problemáticas por si só

Devem ser eliminadas em planejamentos de médio e longo prazo

Situações nas quais não há riscos...

Page 53: Histórias de usuários - Declaração de valor

Devemos evitar quebrar os itens em tamanhos menores até o momento que seja necessário adicionar mais informações específicas, antes de precisarmos começar a trabalhar nesses itens.

Um backlog eficiente está estruturado de forma hierárquica. Nele há vários tamanhos de histórias…

O quão MICRO?!?

Page 54: Histórias de usuários - Declaração de valor

Um backlog linear, somente com elementos do mesmo tamanho, ou não permite um planejamento preciso (pois os itens são muito grandes) ou não permite uma visão e entrega completa do valor (pois os itens são muito pequenos).

O backlog deve ser hierárquico para garantir uma visão completa do que está sendo entregue.

O quão MICRO?!?

Page 55: Histórias de usuários - Declaração de valor

Jeff Patton nos diz para pensar em Asteroids…

Page 56: Histórias de usuários - Declaração de valor

Jeff Patton nos diz para pensar em Asteroids…

1. Você precisa quebrar os asteróides grandes até deixá-los tão pequenos que um raio laser certeiro seja capaz de destruí-lo.

Page 57: Histórias de usuários - Declaração de valor

Jeff Patton nos diz para pensar em Asteroids…

1. Você precisa quebrar os asteróides grandes até deixá-los tão pequenos que um raio laser certeiro seja capaz de destruí-lo.

2. Mas não pode sair fragmentando todos, senão fica impossível de navegar e manobrar.

Page 58: Histórias de usuários - Declaração de valor

Jeff Patton nos diz para pensar em Asteroids…

1. Você precisa quebrar os asteróides grandes até deixá-los tão pequenos que um raio laser certeiro seja capaz de destruí-lo.

2. Mas não pode sair fragmentando todos, senão fica impossível de navegar e manobrar.

3. Tem que manter um bom número de asteróides medianos para saber o que vai vir e fragmentar aqueles que dá conta de eliminar de verdade.

Page 59: Histórias de usuários - Declaração de valor

Outra pausa aleatória

Page 60: Histórias de usuários - Declaração de valor

Histórias enganadoras

Descrevem uma solução, e não uma necessidade do usuário

Situações nas quais não há riscos...

Page 61: Histórias de usuários - Declaração de valor

Histórias enganadoras

Como administrador do sistema, quero poder acessar mais rapidamente a interface principal, por isso preciso que a carga de requisições da interface seja reduzida/saneada

Situações nas quais não há riscos...

Page 62: Histórias de usuários - Declaração de valor

Parte 3

Quando não é uma história

Page 63: Histórias de usuários - Declaração de valor

Não escreva histórias falsas

!. Quando não é uma história.

Page 64: Histórias de usuários - Declaração de valor

Como desenvolvedor, eu preciso eliminar as tabelas duplicadas da base

de dados

?. Quando não é uma história.

Page 65: Histórias de usuários - Declaração de valor

Como P.O., eu quero que na listagem de endereços a coluna de nomes fique mais

destacada que a coluna de valores

?. Quando não é uma história.

Page 66: Histórias de usuários - Declaração de valor

Como testador, eu preciso preparar o plano de testes da versão 3.5

?. Quando não é uma história.

Page 67: Histórias de usuários - Declaração de valor

Por que esses enunciados não são histórias de usuário?

?. Quando não é uma história.

Page 68: Histórias de usuários - Declaração de valor

Histórias falsas são aquelas queenunciam necessidades do time:

Como desenvolvedor, eu preciso…

Como P.O., eu quero…

Como testador, eu preciso...

Não são usuários... tanto a necessidade quanto a entrega estão na zona de controle do time

Por que não é uma história?

Page 69: Histórias de usuários - Declaração de valor

Não se trata de um usuário

Não é uma requisição de uso para a persona

Não traz valor para o negócio

Por que não é uma história?

Page 70: Histórias de usuários - Declaração de valor

Se não traz valor para o usuário,por que fazemos?

?. Quando não é uma história.

Page 71: Histórias de usuários - Declaração de valor

Bem mais fácil gerar funcionalidades desnecessárias quando fazemos o que queremos

Page 72: Histórias de usuários - Declaração de valor

Eliminar os desperdícios

Devemos eliminar da cadeia de valor tudo que não gera valor

Mas precisamos manter o que evita a perda de valor

Um pouco de pensamento Lean

Page 73: Histórias de usuários - Declaração de valor

Quando é algo que precisamos fazer

!. Quando não é uma história.

Page 74: Histórias de usuários - Declaração de valor

Preparação/Manutenção de ambiente

Correções de defeitos

Ajustes pontuais e melhoria de performance

Não entrega valor, mas precisa ser feito

Page 75: Histórias de usuários - Declaração de valor

Saber expressar o que precisamos discutir e fazer

Page 76: Histórias de usuários - Declaração de valor

Faça para não precisar fazer mais

Descreva a ação a ser tomada

Discuta e escreva

Foque no que pode ser automatizado

Para preparar/ajustar o ambiente

Page 77: Histórias de usuários - Declaração de valor

Decreva o que está errado

Descreva o comportamento aberrante

Descreva o comportamento esperado

Demonstre ação ou condição

Ao executar [...]

Quando [...]

Para correções de defeitos

Page 78: Histórias de usuários - Declaração de valor

Elicite a necessidade

O que precisa ser feito, não como faremos

Tenha ciência de que você (geralmente) já está em dívida

Escreva de forma a manter a conversação

Demonstre o valor de fazer aquilo

Para ajustes pontuais e melhoria de performance

Page 79: Histórias de usuários - Declaração de valor

Elicite a necessidade

Precisamos <necessidade>,pois <motivo>

Para ajustes pontuais e melhoria de performance

Page 80: Histórias de usuários - Declaração de valor

Elicite a necessidade

Precisamos ajustar o tamanho das colunas,pois algumas estão com o texto do cabeçalho cortado

Para ajustes pontuais e melhoria de performance

Page 81: Histórias de usuários - Declaração de valor

Mais uma pausa aleatória

Page 82: Histórias de usuários - Declaração de valor

Quando é uma pergunta

!. Quando não é uma história.

Page 83: Histórias de usuários - Declaração de valor

Quando é uma perguntaHá algo a ser feito, mas não sabemos como

!. Quando não é uma história.

Page 84: Histórias de usuários - Declaração de valor

Se quem fez a requisição não sabe o que quer, vamos descobrir juntos

Page 85: Histórias de usuários - Declaração de valor

Há algo a ser feito, mas não sabemos como:

Testar uma tecnologia

Há alto grau de incerteza na aplicação

Não é possível estimar

Falta conhecimento no time

Temos dúvidas sobre isso...

Page 86: Histórias de usuários - Declaração de valor

Determine qual a pergunta a ser respondida

Determine qual a entrega esperada

Determine um tempo razoável a ser consumido para ter a resposta

Negocie quais aspectos serão levados em conta e quais não

A sua requisição é uma pergunta

Page 87: Histórias de usuários - Declaração de valor

Antes de ir embora...

Page 88: Histórias de usuários - Declaração de valor

Escreva cedo a declaração de valor e deixe para detalhar depois

Evite escrever soluções

Pense em mais de um stakeholder que pode tirar proveito da solução para a situação elencada. Isso abre oportunidade para quebrar a história depois

Dicas finais

Page 89: Histórias de usuários - Declaração de valor

Use figuras para explicar a história

Escreva as dúvidas

Foque na declaração do problema/necessidade do usuário ao invés do problema técnico

Discuta a história

Dicas finais

Page 90: Histórias de usuários - Declaração de valor

Obrigado pela atenção!

Alguma pergunta?

to be continued...