O documento discute técnicas para priorizar esforços de desenvolvimento de software alinhados com os objetivos de negócio, como: 1) definir hipóteses sobre valor para o negócio e usuário; 2) organizar histórias em uma matriz de prioridade com base nessas hipóteses; 3) consumir histórias em incrementos reconhecíveis para validar hipóteses rapidamente.
11. Que resultado queremos obter para o negócio
ao implementar uma determinada
funcionalidade?
Como garantir que estamos fazendo o que
tem que ser feito?
Esforço alinhado com os objetivos de negócio
http://www.flickr.com/photos/morganhh/
20. O que fazer caso uma hipótese esteja errada
ou não possa ser validada?
Como priorizar as frentes de trabalho
mantendo o alinhamento com o negócio?
Frentes independentes de trabalho
http://www.flickr.com/photos/elsie/
26. Como validar a hipótese com o mínimo de
esforço possível?
Como evitar que dependências entre estórias
impeçam o progresso em pequenos
incrementos?
Apenas o suficiente para atingir o objetivo
http://www.flickr.com/photos/pasukaru76/
36. Graus de alcance do objetivoProver
Mecânica básica
Impossível saber se o objetivo pode
ser atingido antes de implementar isso
Só sabendo como funciona para usar
37. Graus de alcance do objetivoProver
Mecânica básica
Impossível saber se o objetivo pode
ser atingido antes de implementar isso
Só sabendo como funciona para usar
“É uma prova de conceito... Sem
isso, o sistema está quebrado... Eu
nunca iria pra produção com isso...”
38.
39. Graus de alcance do objetivo
Funcionalidade básica
Atende a necessidade do usuário
Qualquer um deveria poder utilizar
com um mínimo de conhecimento
ProverSatisfazer
Mecânica básica
Impossível saber se o objetivo pode
ser atingido antes de implementar isso
Só sabendo como funciona para usar
“É uma prova de conceito... Sem
isso, o sistema está quebrado... Eu
nunca iria pra produção com isso...”
40. Graus de alcance do objetivo
Funcionalidade básica
Atende a necessidade do usuário
Qualquer um deveria poder utilizar
com um mínimo de conhecimento
ProverSatisfazer
Mecânica básica
Impossível saber se o objetivo pode
ser atingido antes de implementar isso
Só sabendo como funciona para usar
“É uma prova de conceito... Sem
isso, o sistema está quebrado... Eu
nunca iria pra produção com isso...”
“Todos os nossos competidores
fazem isso... Eu esperaria que isso
funcionasse... É algo que a minha
mãe entenderia...”
41.
42. Graus de alcance do objetivo
Funcionalidade básica
Atende a necessidade do usuário
Qualquer um deveria poder utilizar
com um mínimo de conhecimento
Diferencial
Apenas as principais funções
deveriam estar neste grau
Atrai usuários para o produto
ProverSatisfazerSuperar
Mecânica básica
Impossível saber se o objetivo pode
ser atingido antes de implementar isso
Só sabendo como funciona para usar
“É uma prova de conceito... Sem
isso, o sistema está quebrado... Eu
nunca iria pra produção com isso...”
“Todos os nossos competidores
fazem isso... Eu esperaria que isso
funcionasse... É algo que a minha
mãe entenderia...”
43. Graus de alcance do objetivo
Funcionalidade básica
Atende a necessidade do usuário
Qualquer um deveria poder utilizar
com um mínimo de conhecimento
Diferencial
Apenas as principais funções
deveriam estar neste grau
Atrai usuários para o produto
ProverSatisfazerSuperar
Mecânica básica
Impossível saber se o objetivo pode
ser atingido antes de implementar isso
Só sabendo como funciona para usar
“É uma prova de conceito... Sem
isso, o sistema está quebrado... Eu
nunca iria pra produção com isso...”
“Todos os nossos competidores
fazem isso... Eu esperaria que isso
funcionasse... É algo que a minha
mãe entenderia...”
“Só esse produto faz isso... Me faz
usar o produto mais vezes... Todo
mundo está falando disso...”
65. Recaptulando...
Leituras Adicionais
Beyond Good Enough – Darius Kumana (bit.ly/darius_bge)
Systemico Model – Barry O’Rilley & Lourenço P. Soares (bit.ly/systemico)
Kano Model – Jason Mesut (bit.ly/kano_model)
Replacing Requirements with Hypotheses– Josh Seiden (bit.ly/josh_hdd)
INVEST in Good Stories, and SMART Tasks – Bill Wake (bit.ly/invest_stories)
lous@thoughtworks.com
about.me/lous
aklaser@thoughtworks.com
@alklaser