Feature injection - descobrindo e entregando valor testável

Preview:

DESCRIPTION

A Injeção de Funcionalidades é um Processo de Análise de Negócios criado por Chris Matts para resolver esse problema! Minha apresentação no Agile Brazil 2014

Citation preview

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