Gomes Andre Faria - Agile стр 20.

Шрифт
Фон

de tempo e energia, considerando que o cliente aprende e muda de ideia à medida

que as iterações vão sendo concluídas.

Para ilustrar melhor este exemplo, imagine uma história que tenha como obje-

tivo a criação de um relatório

de apuração de impostos. Imagine que, segundo sua

prioridade, ela será implementada somente daqui a seis meses, mas que ainda as-

sim, inicia-se um trabalho de análise e discussão sobre ela. Se o governo realizar

alguma mudança no plano tributário, você provavelmente terá desperdiçado tempo

e dinheiro!

3. Histórias devem agregar valor aos clientes. Como mencionado anteriormente,

histórias devem descrever funcionalidades que de alguma forma oferecerão ao cli-

ente retorno ao seu investimento. Por essa razão, histórias de caráter técnico não

são aconselháveis, por exemplo, atualizar o Spring Framework para versão 2.5 não

agrega valor de negócio ao software, pelo menos não diretamente, isso não significa que você não possa fazê-lo, mas é aconselhável que exista uma história escrita pelo cliente que a justifique;

4. Histórias devem ser estimáveis. É importante que os desenvolvedores sejam

capazes de estimá-las. Para que sejam estimáveis é necessário que os desenvolve-

dores possuam ou tenham acesso através do cliente ao conhecimento de negócio,

e possuam também o conhecimento técnico necessário para transformar a história

em software. Seria inviável pedir a um desenvolvedor que nunca escreveu uma linha

de código em Java que estime o esforço para desenvolver um pedido de venda em

um projeto Java EE com EJB 3. O mesmo aconteceria se pedíssemos ao desenvolve-

dor para que estimasse o esforço para criar um relatório de fluxo de caixa, sem antes explicar a ele o que é um fluxo de caixa;

5. Histórias devem ser pequenas. Histórias muito grandes são difíceis de esti-

47

3.6. Escrevendo Histórias de Usuário

Casa do Código

mar, por isso deve-se tomar os devidos cuidados para mantê-las sempre curtas e,

quando necessário, quebrá-las em histórias menores. Para ilustrar melhor, imagine

a seguinte história: Um usuário pode realizar compras na loja virtual. Ela pode

envolver muitas funcionalidades que estão implícitas, e por isso, pode gerar diferentes interpretações e levar os desenvolvedores ao erro. Em casos como este, podemos

quebrar a história grande em outras histórias menores: Um usuário pode adicionar

produtos ao seu carrinho de compras, Ao finalizar a compra o usuário deve esco-

lher a forma de pagamento, Para compras acima de R$100,00 o frete deverá ser

gratuito etc.;

6. Histórias devem ser testáveis. É preciso ter critérios de aceitação bem defini-

dos para que um desenvolvedor possa saber quando uma história está ou não con-

cluída. Uma boa prática ao usar cartões para escrever as histórias é pedir ao cliente que escreva alguns critérios de aceitação no verso do cartão.

Para que a história seja testável, é preciso que o cliente escreva critérios objetivos e concretos. Por exemplo, O relatório deve ser intuitivo é um exemplo de crité-

rio difícil testar, porque o conceito de intuitivo é abstrato e subjetivo, pode possuir significados diferentes para cada pessoa. Ao invés disso, o relatório deve possuir um rodapé com a soma dos valores ou o título das colunas deve se manter fixo ao

navegar entre os lançamentos são exemplos de critérios fáceis de testar, bastando

que o desenvolvedor certifique-se de que eles estão sendo atendidos para saber se a história será aceita pelo cliente.

Essas características formam o acrônimo INVEST:

I - Independente

N - Negociável

V - Valiosa

E - Estimável

S - Sucinta

T - Testável

Temas, Épicos, Funcionalidades e Histórias

É comum que muitos projetos de software, naturalmente, possuam uma estru-

tura hierárquica de requisitos, de forma que algumas necessidades do usuário de alto 48

Casa do Código

Capítulo 3. Foco em Valor para o Negócio

nível podem ser derivadas em diversas partes menores que, por sua vez, podem ser

dividas novamente até uma granularidade que possa ser mais facilmente compreen-

dida e que possa ser desenvolvida em um determinado espaço de tempo.

Dean Leffingwell, sugere que a hierarquia de requisitos comece com Temasque

representam um conjunto de iniciativas que guiam os investimentos em sistemas,

produtos, serviços e aplicações [37]. Desses temas são derivados os épicos, inicia-

tivas de desenvolvimento que têm potencial de agregar valor ao tema do qual foi

derivado. São requisitos em alto

nível e não são implementados diretamente, antes,

são quebrados em funcionalidades, que posteriormente são quebradas em histórias

de usuário (veja na figura 3.4).

Temas >> Épicos >> Funcionalidades >> Histórias

Figura 3.4: Hierarquia de Requisitos

Épicos são requisitos grandes que, geralmente, não podem ser implementados

em uma única iteração e, normalmente, contemplam diversos eventos, fluxos e ce-

nários. Por questões de organização e priorização, muita vezes, é interessante manter 49

3.6. Escrevendo Histórias de Usuário

Ваша оценка очень важна

0
Шрифт
Фон

Помогите Вашим друзьям узнать о библиотеке