SlideShare una empresa de Scribd logo
1 de 90
Descargar para leer sin conexión
Histórias de Usuário
Augusto Rückert
augusto.ruckert@opservices.com
The Best, The Rare, The Rest
Aqui vai uma história: ou você me dá o que eu pedi, ou eu acabo com a sua vida
Era uma vez…
1. Histórias de usuário 101
2. Escrevendo histórias melhores
3. Quando não é uma história
Parte 1
História de Usuário 101
?.
O que é uma história de usuário?
?. Histórias de usuário 101.
Não é uma especificação funcional
Não é para relatar um bug
Não é um documento de definições técnicas
Não é uma enunciação detalhada
Não é um requisito
Não é um contrato
Não é algo para funcionar sem o P.O.
O que não é uma história de usuário...
×
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
Por que escrevemos histórias,
não especificações ou requisitos?
?. Histórias de usuário 101.
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...
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
Cascata: o objetivo aqui é gerenciar e garantir o escopo
Cascata: esse documento contém TUDO?!
3Cs
!. Histórias de usuário 101.
Cartão
Conversação
Confirmação
Componentes da histórias de Ron Jeffries
3Cs
Cartão
Conversação
Confirmaçã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
Cartão
Conversação
Confirmaçã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
Cartão
Conversação
Confirmaçã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
Declaração de Valor
Critérios de aceitação
Anatomia básica de um Cartão
Declaração de Valor
Critérios de aceitação
Anatomia básica de um Cartão
Pausa aleatória
Modelos de Declaração de Valor
!. Histórias de usuário 101.
Como/Sendo um <papel/persona/perfil>
quero/preciso/necessito de <meta/desejo>
pois/de modo que <benefício>
Modelo Connextra (padrão mais conhecido)
Exemplo 1
Como um Vendedor
quero adicionar novos itens em um pedido recorrente
de modo que não precise reagendar tudo novamente
Modelo Connextra (padrão mais conhecido)
Exemplo 2
Sendo um Administrador de Redes
quero filtrar os IPs por subrede
pois quero poder agrupá-los para melhorar a
organização da minha infraestrutura
Modelo Connextra (padrão mais conhecido)
Mike Cohn
Como um <papel/persona/perfil>
quero/preciso/necessito de <meta/desejo>
Variações do Modelo Connextra
Mike Cohn
Como um Vendedor
quero listar todos os pedidos de um cliente
Variações do Modelo Connextra
Chris Matts
A fim de <benefício a ser recebido>
como um <papel/persona/perfil>,
eu quero <meta/desejo>
Variações do Modelo Connextra
Chris Matts
A fim de visualizar toda minha infraestrutura
como um Administrador de rede,
eu quero uma visão centralizada dos meus elementos
monitorados
Variações do Modelo Connextra
Variações do Modelo Connextra
5Ws (Who, When, Where, What, Why)
Como <quem>,
<quando> <onde>,
eu <o que>,
porque <por que>
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
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>
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
Parte 2
Escrevendo histórias melhores
INVEST
!. Escrevendo histórias melhores.
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
Não seja genérico
!. Escrevendo histórias melhores.
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
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
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
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
HIPPOS: highest paid person opinion
Avalie a zona de controle
e a esfera de influência
!. Escrevendo histórias melhores.
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...
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...
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...
O motivo da necessidade do usuário
deve 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...
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
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
Uma boa história implica
em ter algum risco
!. Escrevendo histórias melhores.
Micro-histórias
Histórias enganadoras
Histórias falsas
Situações nas quais não há riscos...
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...
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?!?
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?!?
Jeff Patton nos diz para pensar em Asteroids…
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.
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.
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.
Outra pausa aleatória
Histórias enganadoras
Descrevem uma solução, e não uma necessidade do usuário
Situações nas quais não há riscos...
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...
Parte 3
Quando não é uma história
Não escreva histórias falsas
!. Quando não é uma história.
Como desenvolvedor, eu preciso
eliminar as tabelas duplicadas da base
de dados
?. Quando não é uma história.
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.
Como testador, eu preciso preparar o
plano de testes da versão 3.5
?. Quando não é uma história.
Por que esses enunciados não são
histórias de usuário?
?. Quando não é uma história.
Histórias falsas são aquelas que
enunciam 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?
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?
Se não traz valor para o usuário,
por que fazemos?
?. Quando não é uma história.
Bem mais fácil gerar funcionalidades desnecessárias quando fazemos o que queremos
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
Quando é algo que precisamos fazer
!. Quando não é uma história.
Preparação/Manutenção de ambiente
Correções de defeitos
Ajustes pontuais e melhoria de performance
Não entrega valor, mas precisa ser feito
Saber expressar o que precisamos discutir e fazer
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
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
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
Elicite a necessidade
Precisamos <necessidade>,
pois <motivo>
Para ajustes pontuais e melhoria de performance
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
Mais uma pausa aleatória
Quando é uma pergunta
!. Quando não é uma história.
Quando é uma pergunta
Há algo a ser feito, mas não sabemos como
!. Quando não é uma história.
Se quem fez a requisição não sabe o que quer, vamos descobrir juntos
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...
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
Antes de ir embora...
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
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
Obrigado pela atenção!
Alguma pergunta?
to be continued...

Más contenido relacionado

La actualidad más candente

Writing Good User Stories (Hint: It's not about writing)
Writing Good User Stories (Hint: It's not about writing)Writing Good User Stories (Hint: It's not about writing)
Writing Good User Stories (Hint: It's not about writing)one80
 
Quebrando Histórias de Usuário
Quebrando Histórias de UsuárioQuebrando Histórias de Usuário
Quebrando Histórias de UsuárioGiuliano Sposito
 
Design Thinking - Prototipação
Design Thinking  - PrototipaçãoDesign Thinking  - Prototipação
Design Thinking - PrototipaçãoUFPA
 
Slicing user stories
Slicing user storiesSlicing user stories
Slicing user storiesDavid Michel
 
[Product Starter] Fábio Aguiar - Lean Inception e Product Backlog Building
[Product Starter] Fábio Aguiar - Lean Inception e Product Backlog Building[Product Starter] Fábio Aguiar - Lean Inception e Product Backlog Building
[Product Starter] Fábio Aguiar - Lean Inception e Product Backlog BuildingProduct Camp Brasil
 
User Story Mapping in Practice
User Story Mapping in PracticeUser Story Mapping in Practice
User Story Mapping in PracticeSteve Rogalsky
 
Story writing and mapping
Story writing and mappingStory writing and mapping
Story writing and mappingDevJam
 
Agile User Stories
Agile User StoriesAgile User Stories
Agile User Storieskahgeh75
 
Modelo V - Desenvolvimento de Software
Modelo V - Desenvolvimento de SoftwareModelo V - Desenvolvimento de Software
Modelo V - Desenvolvimento de SoftwareBruno Bitencourt Luiz
 
Startup: Onde e como nascem as Ideias - MBA Esamc
Startup: Onde e como nascem as Ideias - MBA EsamcStartup: Onde e como nascem as Ideias - MBA Esamc
Startup: Onde e como nascem as Ideias - MBA EsamcRenato Melo
 
Job Stories | Uma nova forma de definir funcionalidades de um produto
Job Stories | Uma nova forma de definir funcionalidades de um produtoJob Stories | Uma nova forma de definir funcionalidades de um produto
Job Stories | Uma nova forma de definir funcionalidades de um produtoCarla De Bona
 
User Story Splitting.pptx
User Story Splitting.pptxUser Story Splitting.pptx
User Story Splitting.pptxPaul Boos
 
[Product Camp 2020] - Níveis de Maturidade em Prod Ops - Thiago Belluf - Favo
[Product Camp 2020] - Níveis de Maturidade em Prod Ops - Thiago Belluf - Favo[Product Camp 2020] - Níveis de Maturidade em Prod Ops - Thiago Belluf - Favo
[Product Camp 2020] - Níveis de Maturidade em Prod Ops - Thiago Belluf - FavoProduct Camp Brasil
 
Aula Design de Serviços
Aula Design de ServiçosAula Design de Serviços
Aula Design de ServiçosFernando Arruda
 

La actualidad más candente (20)

Agile Story Writing
Agile Story WritingAgile Story Writing
Agile Story Writing
 
Writing Good User Stories (Hint: It's not about writing)
Writing Good User Stories (Hint: It's not about writing)Writing Good User Stories (Hint: It's not about writing)
Writing Good User Stories (Hint: It's not about writing)
 
Quebrando Histórias de Usuário
Quebrando Histórias de UsuárioQuebrando Histórias de Usuário
Quebrando Histórias de Usuário
 
Design Thinking - Prototipação
Design Thinking  - PrototipaçãoDesign Thinking  - Prototipação
Design Thinking - Prototipação
 
Slicing user stories
Slicing user storiesSlicing user stories
Slicing user stories
 
[Product Starter] Fábio Aguiar - Lean Inception e Product Backlog Building
[Product Starter] Fábio Aguiar - Lean Inception e Product Backlog Building[Product Starter] Fábio Aguiar - Lean Inception e Product Backlog Building
[Product Starter] Fábio Aguiar - Lean Inception e Product Backlog Building
 
Modelagem com historias bem além dos requisitos
Modelagem com historias bem além dos requisitosModelagem com historias bem além dos requisitos
Modelagem com historias bem além dos requisitos
 
User Story Mapping in Practice
User Story Mapping in PracticeUser Story Mapping in Practice
User Story Mapping in Practice
 
Story writing and mapping
Story writing and mappingStory writing and mapping
Story writing and mapping
 
Agile User Stories
Agile User StoriesAgile User Stories
Agile User Stories
 
Modelo V - Desenvolvimento de Software
Modelo V - Desenvolvimento de SoftwareModelo V - Desenvolvimento de Software
Modelo V - Desenvolvimento de Software
 
Ágil para quem quiser
Ágil para quem quiserÁgil para quem quiser
Ágil para quem quiser
 
Startup: Onde e como nascem as Ideias - MBA Esamc
Startup: Onde e como nascem as Ideias - MBA EsamcStartup: Onde e como nascem as Ideias - MBA Esamc
Startup: Onde e como nascem as Ideias - MBA Esamc
 
Job Stories | Uma nova forma de definir funcionalidades de um produto
Job Stories | Uma nova forma de definir funcionalidades de um produtoJob Stories | Uma nova forma de definir funcionalidades de um produto
Job Stories | Uma nova forma de definir funcionalidades de um produto
 
User Story Splitting.pptx
User Story Splitting.pptxUser Story Splitting.pptx
User Story Splitting.pptx
 
User Story Mapping
User Story MappingUser Story Mapping
User Story Mapping
 
[Product Camp 2020] - Níveis de Maturidade em Prod Ops - Thiago Belluf - Favo
[Product Camp 2020] - Níveis de Maturidade em Prod Ops - Thiago Belluf - Favo[Product Camp 2020] - Níveis de Maturidade em Prod Ops - Thiago Belluf - Favo
[Product Camp 2020] - Níveis de Maturidade em Prod Ops - Thiago Belluf - Favo
 
How to write good user stories
How to write good user storiesHow to write good user stories
How to write good user stories
 
Aula Design de Serviços
Aula Design de ServiçosAula Design de Serviços
Aula Design de Serviços
 
Usabilidade - Metas, Principios e Heuristicas
Usabilidade -  Metas, Principios e HeuristicasUsabilidade -  Metas, Principios e Heuristicas
Usabilidade - Metas, Principios e Heuristicas
 

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

TDC2018SP | Trilha Requisito Ageis - Historias de usuarios - Basico e alem
TDC2018SP | Trilha Requisito Ageis - Historias de usuarios - Basico e alemTDC2018SP | Trilha Requisito Ageis - Historias de usuarios - Basico e alem
TDC2018SP | Trilha Requisito Ageis - Historias de usuarios - Basico e alemtdc-globalcode
 
Proposta para especificação de histórias de usuários alinhadas a IEEE 830
Proposta para especificação de histórias de usuários alinhadas a IEEE 830Proposta para especificação de histórias de usuários alinhadas a IEEE 830
Proposta para especificação de histórias de usuários alinhadas a IEEE 830André Agostinho
 
Tell me what you want - Uma visão sobre análise de requisitos
Tell me what you want - Uma visão sobre análise de requisitosTell me what you want - Uma visão sobre análise de requisitos
Tell me what you want - Uma visão sobre análise de requisitosJuliano Ribeiro
 
historias-de-usuario-3.0.pdf
historias-de-usuario-3.0.pdfhistorias-de-usuario-3.0.pdf
historias-de-usuario-3.0.pdfMariane Vitória
 
Boas praticas para historias_de_usuario_3_0.pdf
Boas praticas para historias_de_usuario_3_0.pdfBoas praticas para historias_de_usuario_3_0.pdf
Boas praticas para historias_de_usuario_3_0.pdfFabio Miranda
 
Treinamento Product Management | Circuito de Treinamentos AddTech
Treinamento Product Management | Circuito de Treinamentos AddTechTreinamento Product Management | Circuito de Treinamentos AddTech
Treinamento Product Management | Circuito de Treinamentos AddTech.add
 
1º Curitiba Scrum Day
1º Curitiba Scrum Day1º Curitiba Scrum Day
1º Curitiba Scrum Dayjrompkovski
 
Agile Testing no Drupal
Agile Testing no DrupalAgile Testing no Drupal
Agile Testing no DrupalJust Digital
 
Levantamento Ágil de Requisitos
Levantamento Ágil de RequisitosLevantamento Ágil de Requisitos
Levantamento Ágil de RequisitosPaulo Furtado
 
Workshop de Requisitos - User Story Mapping
Workshop de Requisitos - User Story MappingWorkshop de Requisitos - User Story Mapping
Workshop de Requisitos - User Story MappingMarcelo Neves
 
REA- Diagramas de Casos de Uso da UML
REA- Diagramas de Casos de Uso da UMLREA- Diagramas de Casos de Uso da UML
REA- Diagramas de Casos de Uso da UMLIFFar - SVS
 
A arte de escrever US - Agile brazil 2017
A arte de escrever US - Agile brazil 2017A arte de escrever US - Agile brazil 2017
A arte de escrever US - Agile brazil 2017Thiago Luna
 
Feature Injection - Descobrindo e entregando valor testável
Feature Injection - Descobrindo e entregando valor testávelFeature Injection - Descobrindo e entregando valor testável
Feature Injection - Descobrindo e entregando valor testávelHélio Medeiros
 

Similar a Histórias de usuários - Declaração de valor (20)

TDC2018SP | Trilha Requisito Ageis - Historias de usuarios - Basico e alem
TDC2018SP | Trilha Requisito Ageis - Historias de usuarios - Basico e alemTDC2018SP | Trilha Requisito Ageis - Historias de usuarios - Basico e alem
TDC2018SP | Trilha Requisito Ageis - Historias de usuarios - Basico e alem
 
User stories
User storiesUser stories
User stories
 
0040 casos de uso
0040 casos de uso0040 casos de uso
0040 casos de uso
 
Proposta para especificação de histórias de usuários alinhadas a IEEE 830
Proposta para especificação de histórias de usuários alinhadas a IEEE 830Proposta para especificação de histórias de usuários alinhadas a IEEE 830
Proposta para especificação de histórias de usuários alinhadas a IEEE 830
 
Tell me what you want - Uma visão sobre análise de requisitos
Tell me what you want - Uma visão sobre análise de requisitosTell me what you want - Uma visão sobre análise de requisitos
Tell me what you want - Uma visão sobre análise de requisitos
 
O product backlog
O product backlogO product backlog
O product backlog
 
User Stories
User StoriesUser Stories
User Stories
 
historias-de-usuario-3.0.pdf
historias-de-usuario-3.0.pdfhistorias-de-usuario-3.0.pdf
historias-de-usuario-3.0.pdf
 
Boas praticas para historias_de_usuario_3_0.pdf
Boas praticas para historias_de_usuario_3_0.pdfBoas praticas para historias_de_usuario_3_0.pdf
Boas praticas para historias_de_usuario_3_0.pdf
 
Treinamento Product Management | Circuito de Treinamentos AddTech
Treinamento Product Management | Circuito de Treinamentos AddTechTreinamento Product Management | Circuito de Treinamentos AddTech
Treinamento Product Management | Circuito de Treinamentos AddTech
 
1º Curitiba Scrum Day
1º Curitiba Scrum Day1º Curitiba Scrum Day
1º Curitiba Scrum Day
 
Agile Testing no Drupal
Agile Testing no DrupalAgile Testing no Drupal
Agile Testing no Drupal
 
Agile Testing com Drupal
Agile Testing com DrupalAgile Testing com Drupal
Agile Testing com Drupal
 
4 casos-de-uso
4 casos-de-uso4 casos-de-uso
4 casos-de-uso
 
User Stories -
User Stories - User Stories -
User Stories -
 
Levantamento Ágil de Requisitos
Levantamento Ágil de RequisitosLevantamento Ágil de Requisitos
Levantamento Ágil de Requisitos
 
Workshop de Requisitos - User Story Mapping
Workshop de Requisitos - User Story MappingWorkshop de Requisitos - User Story Mapping
Workshop de Requisitos - User Story Mapping
 
REA- Diagramas de Casos de Uso da UML
REA- Diagramas de Casos de Uso da UMLREA- Diagramas de Casos de Uso da UML
REA- Diagramas de Casos de Uso da UML
 
A arte de escrever US - Agile brazil 2017
A arte de escrever US - Agile brazil 2017A arte de escrever US - Agile brazil 2017
A arte de escrever US - Agile brazil 2017
 
Feature Injection - Descobrindo e entregando valor testável
Feature Injection - Descobrindo e entregando valor testávelFeature Injection - Descobrindo e entregando valor testável
Feature Injection - Descobrindo e entregando valor testável
 

Más de Augusto Rückert

Definindo métricas para seu produto
Definindo métricas para seu produtoDefinindo métricas para seu produto
Definindo métricas para seu produtoAugusto Rückert
 
Faz sentido isso que estamos fazendo?
Faz sentido isso que estamos fazendo?Faz sentido isso que estamos fazendo?
Faz sentido isso que estamos fazendo?Augusto Rückert
 
Valide no papel: Prototipagem e testes de interfaces mobile - versão 2
Valide no papel: Prototipagem e testes de interfaces mobile - versão 2Valide no papel: Prototipagem e testes de interfaces mobile - versão 2
Valide no papel: Prototipagem e testes de interfaces mobile - versão 2Augusto Rückert
 
Mudanças no scrum guide (julho/2016)
Mudanças no scrum guide (julho/2016)Mudanças no scrum guide (julho/2016)
Mudanças no scrum guide (julho/2016)Augusto Rückert
 
Valide no Papel: Prototipagem e testes de interfaces mobile
Valide no Papel: Prototipagem e testes de interfaces mobileValide no Papel: Prototipagem e testes de interfaces mobile
Valide no Papel: Prototipagem e testes de interfaces mobileAugusto Rückert
 
Introdução à experiência do usuário
Introdução à experiência do usuárioIntrodução à experiência do usuário
Introdução à experiência do usuárioAugusto Rückert
 
Protótipos em svg+javascript
Protótipos em svg+javascriptProtótipos em svg+javascript
Protótipos em svg+javascriptAugusto Rückert
 
Hack In Poa - Globo.com - 2015
Hack In Poa - Globo.com - 2015Hack In Poa - Globo.com - 2015
Hack In Poa - Globo.com - 2015Augusto Rückert
 

Más de Augusto Rückert (10)

Definindo métricas para seu produto
Definindo métricas para seu produtoDefinindo métricas para seu produto
Definindo métricas para seu produto
 
Faz sentido isso que estamos fazendo?
Faz sentido isso que estamos fazendo?Faz sentido isso que estamos fazendo?
Faz sentido isso que estamos fazendo?
 
Backlog não é bagunça
Backlog não é bagunçaBacklog não é bagunça
Backlog não é bagunça
 
Valide no papel: Prototipagem e testes de interfaces mobile - versão 2
Valide no papel: Prototipagem e testes de interfaces mobile - versão 2Valide no papel: Prototipagem e testes de interfaces mobile - versão 2
Valide no papel: Prototipagem e testes de interfaces mobile - versão 2
 
Are you talking to me
Are you talking to meAre you talking to me
Are you talking to me
 
Mudanças no scrum guide (julho/2016)
Mudanças no scrum guide (julho/2016)Mudanças no scrum guide (julho/2016)
Mudanças no scrum guide (julho/2016)
 
Valide no Papel: Prototipagem e testes de interfaces mobile
Valide no Papel: Prototipagem e testes de interfaces mobileValide no Papel: Prototipagem e testes de interfaces mobile
Valide no Papel: Prototipagem e testes de interfaces mobile
 
Introdução à experiência do usuário
Introdução à experiência do usuárioIntrodução à experiência do usuário
Introdução à experiência do usuário
 
Protótipos em svg+javascript
Protótipos em svg+javascriptProtótipos em svg+javascript
Protótipos em svg+javascript
 
Hack In Poa - Globo.com - 2015
Hack In Poa - Globo.com - 2015Hack In Poa - Globo.com - 2015
Hack In Poa - Globo.com - 2015
 

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

  • 1. Histórias de Usuário Augusto Rückert augusto.ruckert@opservices.com The Best, The Rare, The Rest
  • 2. Aqui vai uma história: ou você me dá o que eu pedi, ou eu acabo com a sua vida
  • 3. Era uma vez… 1. Histórias de usuário 101 2. Escrevendo histórias melhores 3. Quando não é uma história
  • 4. Parte 1 História de Usuário 101
  • 5. ?.
  • 6. O que é uma história de usuário? ?. Histórias de usuário 101.
  • 7. Não é uma especificação funcional Não é para relatar um bug Não é um documento de definições técnicas Não é uma enunciação detalhada Não é um requisito Não é um contrato Não é algo para funcionar sem o P.O. O que não é uma história de usuário... ×
  • 8. 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
  • 9. Por que escrevemos histórias, não especificações ou requisitos? ?. Histórias de usuário 101.
  • 10. 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...
  • 11. 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
  • 12. Cascata: o objetivo aqui é gerenciar e garantir o escopo
  • 13. Cascata: esse documento contém TUDO?!
  • 14. 3Cs !. Histórias de usuário 101.
  • 16. Cartão Conversação Confirmaçã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
  • 17. Cartão Conversação Confirmaçã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
  • 18. Cartão Conversação Confirmaçã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
  • 19. Declaração de Valor Critérios de aceitação Anatomia básica de um Cartão
  • 20. Declaração de Valor Critérios de aceitação Anatomia básica de um Cartão
  • 22. Modelos de Declaração de Valor !. Histórias de usuário 101.
  • 23. Como/Sendo um <papel/persona/perfil> quero/preciso/necessito de <meta/desejo> pois/de modo que <benefício> Modelo Connextra (padrão mais conhecido)
  • 24. Exemplo 1 Como um Vendedor quero adicionar novos itens em um pedido recorrente de modo que não precise reagendar tudo novamente Modelo Connextra (padrão mais conhecido)
  • 25. Exemplo 2 Sendo um Administrador de Redes quero filtrar os IPs por subrede pois quero poder agrupá-los para melhorar a organização da minha infraestrutura Modelo Connextra (padrão mais conhecido)
  • 26. Mike Cohn Como um <papel/persona/perfil> quero/preciso/necessito de <meta/desejo> Variações do Modelo Connextra
  • 27. Mike Cohn Como um Vendedor quero listar todos os pedidos de um cliente Variações do Modelo Connextra
  • 28. Chris Matts A fim de <benefício a ser recebido> como um <papel/persona/perfil>, eu quero <meta/desejo> Variações do Modelo Connextra
  • 29. Chris Matts A fim de visualizar toda minha infraestrutura como um Administrador de rede, eu quero uma visão centralizada dos meus elementos monitorados Variações do Modelo Connextra
  • 30. Variações do Modelo Connextra 5Ws (Who, When, Where, What, Why) Como <quem>, <quando> <onde>, eu <o que>, porque <por que>
  • 31. 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
  • 32. 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>
  • 33. 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
  • 36. 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
  • 37. Não seja genérico !. Escrevendo histórias melhores.
  • 38. 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
  • 39. 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
  • 40. 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
  • 41. 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
  • 42. HIPPOS: highest paid person opinion
  • 43. Avalie a zona de controle e a esfera de influência !. Escrevendo histórias melhores.
  • 44. 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...
  • 45. 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...
  • 46. 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...
  • 47. O motivo da necessidade do usuário deve 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...
  • 48. 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
  • 49. 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
  • 50. Uma boa história implica em ter algum risco !. Escrevendo histórias melhores.
  • 52. 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...
  • 53. 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?!?
  • 54. 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?!?
  • 55. Jeff Patton nos diz para pensar em Asteroids…
  • 56. 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.
  • 57. 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.
  • 58. 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.
  • 60. Histórias enganadoras Descrevem uma solução, e não uma necessidade do usuário Situações nas quais não há riscos...
  • 61. 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...
  • 62. Parte 3 Quando não é uma história
  • 63. Não escreva histórias falsas !. Quando não é uma história.
  • 64. Como desenvolvedor, eu preciso eliminar as tabelas duplicadas da base de dados ?. Quando não é uma história.
  • 65. 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.
  • 66. Como testador, eu preciso preparar o plano de testes da versão 3.5 ?. Quando não é uma história.
  • 67. Por que esses enunciados não são histórias de usuário? ?. Quando não é uma história.
  • 68. Histórias falsas são aquelas que enunciam 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?
  • 69. 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?
  • 70. Se não traz valor para o usuário, por que fazemos? ?. Quando não é uma história.
  • 71. Bem mais fácil gerar funcionalidades desnecessárias quando fazemos o que queremos
  • 72. 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
  • 73. Quando é algo que precisamos fazer !. Quando não é uma história.
  • 74. Preparação/Manutenção de ambiente Correções de defeitos Ajustes pontuais e melhoria de performance Não entrega valor, mas precisa ser feito
  • 75. Saber expressar o que precisamos discutir e fazer
  • 76. 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
  • 77. 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
  • 78. 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
  • 79. Elicite a necessidade Precisamos <necessidade>, pois <motivo> Para ajustes pontuais e melhoria de performance
  • 80. 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
  • 81. Mais uma pausa aleatória
  • 82. Quando é uma pergunta !. Quando não é uma história.
  • 83. Quando é uma pergunta Há algo a ser feito, mas não sabemos como !. Quando não é uma história.
  • 84. Se quem fez a requisição não sabe o que quer, vamos descobrir juntos
  • 85. 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...
  • 86. 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
  • 87. Antes de ir embora...
  • 88. 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
  • 89. 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
  • 90. Obrigado pela atenção! Alguma pergunta? to be continued...