feature injection - descobrindo e entregando valor testável

32
Feature Injection descobrindo e entregando valor testável @helmedeiros

Upload: helio-medeiros

Post on 27-Jun-2015

362 views

Category:

Software


0 download

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

TRANSCRIPT

Page 1: Feature injection - descobrindo e entregando valor testável

Feature Injectiondescobrindo e entregando valor testável

@helmedeiros

Page 2: Feature injection - descobrindo e entregando valor testável

QUEM?

@helmedeiros

Page 3: Feature injection - descobrindo e entregando valor testável

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?

Page 4: Feature injection - descobrindo e entregando valor testável

SENTA QUE LÁ VEM HISTÓRIASENTA QUE LÁ VEM HISTÓRIA

Page 5: Feature injection - descobrindo e entregando valor testável

SENTA QUE LÁ VEM HISTÓRIASENTA QUE LÁ VEM HISTÓRIA

Page 6: Feature injection - descobrindo e entregando valor testável

SENTA QUE LÁ VEM HISTÓRIASENTA QUE LÁ VEM HISTÓRIA

Page 7: Feature injection - descobrindo e entregando valor testável

SENTA QUE LÁ VEM HISTÓRIASENTA QUE LÁ VEM HISTÓRIA

Page 8: Feature injection - descobrindo e entregando valor testável

SENTA QUE LÁ VEM HISTÓRIA

Page 9: Feature injection - descobrindo e entregando valor testável
Page 10: Feature injection - descobrindo e entregando valor testável

TODOS ADORAM DIZER COMO DEVE SER FEITO

Page 11: Feature injection - descobrindo e entregando valor testável

E MUITAS VEZES NÃO É O NECESSÁRIO!

Page 12: Feature injection - descobrindo e entregando valor testável

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??

Page 13: Feature injection - descobrindo e entregando valor testável

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

Page 14: Feature injection - descobrindo e entregando valor testável

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

Page 15: Feature injection - descobrindo e entregando valor testável

FEATURE INJECTION!está aqui para ajudar

Page 16: Feature injection - descobrindo e entregando valor testável

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

Page 17: Feature injection - descobrindo e entregando valor testável

FEATURE INJECTION

Chris Matts

Framework para BA1

2003 … 20072

Anti soluções pré-definidas3

Page 18: Feature injection - descobrindo e entregando valor testável

FEATURE INJECTION

Caçar o valor

UMA SOLUÇÃO EM TRÊS ETAPAS

1

Injetar a funcionalidade2

Detalhar em exemplos3

Page 19: Feature injection - descobrindo e entregando valor testável

COMEÇANDO PELO FIM

Solução?

Problema?

objetivo?

USER STORYx

Page 20: Feature injection - descobrindo e entregando valor testável

5 porquês

1 2 3

?

DESCOBRINDO O VALOR

NOSSAS FERRAMENTAS

WHY?WHY?

WHY?WHY?

WHY?

Page 21: Feature injection - descobrindo e entregando valor testável

elevator pitch

DESCOBRINDO O VALOR

NOSSAS FERRAMENTAS

Page 22: Feature injection - descobrindo e entregando valor testável

QUAIS AS SAÍDAS

BUSINESS VALUE MODEL

!

QUAL O MÍNIMO!

Page 23: Feature injection - descobrindo e entregando valor testável

JEFFREYFISHER

ESCLARECENDO COM EXEMPLOS

Perguntas

Risco

Suposições

Informações

desconhecido conhecido

Page 24: Feature injection - descobrindo e entregando valor testável

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

Page 25: Feature injection - descobrindo e entregando valor testável

BDD

given

when

then

NOSSAS FERRAMENTASNOSSAS FERRAMENTAS

ESCLARECENDO COM EXEMPLOS

https://github.com/helmedeiros/lista-ferramentas-bdd

Page 26: Feature injection - descobrindo e entregando valor testável

APERFEIÇOANDO COM AS CRÍTICAS

Fail Fast, Succeed Faster!

Page 27: Feature injection - descobrindo e entregando valor testável

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

Page 28: Feature injection - descobrindo e entregando valor testável

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

Page 29: Feature injection - descobrindo e entregando valor testável

SENTA QUE LÁ VEM HISTÓRIASENTA QUE LÁ VEM HISTÓRIA

Page 30: Feature injection - descobrindo e entregando valor testável

SENTA QUE LÁ VEM HISTÓRIASENTA QUE LÁ VEM HISTÓRIA

Page 31: Feature injection - descobrindo e entregando valor testável

SENTA QUE LÁ VEM HISTÓRIA

Page 32: Feature injection - descobrindo e entregando valor testável

Feature Injectiondescobrindo e entregando valor testável

@helmedeiros