Post on 27-Jun-2015
description
Feature Injectiondescobrindo e entregando valor testável
@helmedeiros
QUEM?
@helmedeiros
NADA. Lí um livro que fala da simplicidade.
precisamos conhecer nossos usuários. Vamos usar um third
party que é muito simples!
existe alguma restrição na integração? O que precisa ser aprendido para integrá-lo?
MUITO PROBLEMAS! Não estamos avançando
Perdemos muito tempo o sistema não é mais necessário
PROJETO ARQUIVADO
SENTA QUE LÁ VEM HISTÓRIA
Mas qual a nossa estratégia?
SENTA QUE LÁ VEM HISTÓRIASENTA QUE LÁ VEM HISTÓRIA
SENTA QUE LÁ VEM HISTÓRIASENTA QUE LÁ VEM HISTÓRIA
SENTA QUE LÁ VEM HISTÓRIASENTA QUE LÁ VEM HISTÓRIA
SENTA QUE LÁ VEM HISTÓRIASENTA QUE LÁ VEM HISTÓRIA
SENTA QUE LÁ VEM HISTÓRIA
TODOS ADORAM DIZER COMO DEVE SER FEITO
E MUITAS VEZES NÃO É O NECESSÁRIO!
NADA. Lí um livro que fala da simplicidade.
precisamos conhecer nossos usuários. Vamos usar um third
party que é muito simples!
existe alguma restrição na integração? O que precisa ser aprendido para integrá-lo?
MUITO PROBLEMAS! Não estamos avançando
Perdemos muito tempo o sistema não é mais necessário
PROJETO ARQUIVADOQUAL O PROBLEMA?
SENTA QUE LÁ VEM HISTÓRIA
?
QUAL O OBJETIVO??
O QUE PRECISAMOS FAZER ??
COM QUE FREQÜÊNCIA MUDA??EXISTEM RESTRIÇÕES??
QUEM FAZ BUSINESS??
QUAL O VALOR??
NADA. Lí um livro que fala da simplicidade.
precisamos conhecer nossos usuários. Vamos usar um third
party que é muito simples!
existe alguma restrição na integração? O que precisa ser aprendido para integrá-lo?
MUITO PROBLEMAS! Não estamos avançando
Perdemos muito tempo o sistema não é mais necessário
PROJETO ARQUIVADO
NÃO TEMOS MUITA INFORMAÇÃO?
paralisia da análise
NADA. Lí um livro que fala da simplicidade.
precisamos conhecer nossos usuários. Vamos usar um third
party que é muito simples!
existe alguma restrição na integração? O que precisa ser aprendido para integrá-lo?
MUITO PROBLEMAS! Não estamos avançando
Perdemos muito tempo o sistema não é mais necessário
PROJETO ARQUIVADO
TE PARECE ALGO?
AGILE CYCLE
FEATURE INJECTION!está aqui para ajudar
NADA. Lí um livro que fala da simplicidade.
precisamos conhecer nossos usuários. Vamos usar um third
party que é muito simples!
existe alguma restrição na integração? O que precisa ser aprendido para integrá-lo?
MUITO PROBLEMAS! Não estamos avançando
Perdemos muito tempo o sistema não é mais necessário
PROJETO ARQUIVADO
FAZ ALGO MEU FILHO!
Estabelecer um limite de tempo para a tomada de decisão Estabelecer padrões
Eliminar fatores em análise prévia Assumir premissas de maior probabilidade
Pedir opiniões de terceiros e fazer uma auto-análise
FEATURE INJECTION
Chris Matts
Framework para BA1
2003 … 20072
Anti soluções pré-definidas3
FEATURE INJECTION
Caçar o valor
UMA SOLUÇÃO EM TRÊS ETAPAS
1
Injetar a funcionalidade2
Detalhar em exemplos3
COMEÇANDO PELO FIM
Solução?
Problema?
objetivo?
USER STORYx
5 porquês
1 2 3
?
DESCOBRINDO O VALOR
NOSSAS FERRAMENTAS
WHY?WHY?
WHY?WHY?
WHY?
elevator pitch
DESCOBRINDO O VALOR
NOSSAS FERRAMENTAS
QUAIS AS SAÍDAS
BUSINESS VALUE MODEL
!
QUAL O MÍNIMO!
JEFFREYFISHER
ESCLARECENDO COM EXEMPLOS
Perguntas
Risco
Suposições
Informações
desconhecido conhecido
BDD
given
when
then
NOSSAS FERRAMENTASNOSSAS FERRAMENTAS
ESCLARECENDO COM EXEMPLOS
Quero que você busque as ferramentas pelo nome dela
DADO QUE eu estou na página principal da aplicação de ferramentas
QUANDO eu preencho o campo de busca com o nome de uma ferramenta
ENTÃO eu quero que todas as ferramentas com aquele nome apareçam
BDD
given
when
then
NOSSAS FERRAMENTASNOSSAS FERRAMENTAS
ESCLARECENDO COM EXEMPLOS
https://github.com/helmedeiros/lista-ferramentas-bdd
APERFEIÇOANDO COM AS CRÍTICAS
Fail Fast, Succeed Faster!
UMA HISTÓRIA...
Usuários estão ditando as soluções, apenas como delta das últimas alterações que entregamos a eles. Isso é psicologia humana, escrever algo quando você não tem nada é muito mais difícil do que ser crítico sobre algo que já foi feito.
As a <role> I want <some feature> so that <biz value is derived>
In Order To <biz value is derived>As a <role> I want <some feature>
mike cohn chris matts
APERFEIÇOANDO COM AS CRÍTICAS
ESCREVENDO TESTES
As a developer, I want an automated buildSo that I can be sure my code works.
desenvolvedor
In order to minimize support costs due to poor code qualityThe development team will need
To write scenarios and automate themcliente
In order to stop wasting money coding things that don't work in productionThe development team will needAutomatic integration with a production-like environment.
cliente
SENTA QUE LÁ VEM HISTÓRIASENTA QUE LÁ VEM HISTÓRIA
SENTA QUE LÁ VEM HISTÓRIASENTA QUE LÁ VEM HISTÓRIA
SENTA QUE LÁ VEM HISTÓRIA
Feature Injectiondescobrindo e entregando valor testável
@helmedeiros