User Stories - Como manter a independencia?

Ainda nao consegui identificar bem esse conceito de independencia entre as historias.

Por exemplo, digamos que eu tenha uma venda simples. Como serao criadas as historias?

Usuario registra uma venda. (Isto é uma historia? Se sim, onde irao os detalhes desta historia, como, “o usuario podera informar um valor de desconto para uma venda”, “O usuario ira adicionar itens a venda”)

Ou cada um dos exemplos que eu coloquei formam uma nova historia? Se sim, nao temos aí historias interdependentes? Se nao, como sao definidos os detalhes da historia?

Talvez a pergunta nao seja “como manter a independencia?” e sim “o que define a independencia?”

so pra equalizar…
vc ta falando de scrum ?

Ou XP, o conceito de user storie é praticamente o mesmo pras duas.

Vc tem experiência como analista de requisitos ?
Um caso de uso descreve uma funcionalidade de um sistema em alto nível. é passível de ser estimado, é suficiente para que o projetista e implementador possam discutir e criar um projeto de componente para a funcionalidade e e não é muito detalhada e ponto de entrar em minucias do sistema. Um caso de uso também gera insumo para a criação de casos de teste.

Partindo desse princípio encare uma User Stories como um caso de uso.
Ex:

Venda de Produtos

O ator deseja realizar a venda de um produto.
O sistema disponibiza a função de venda.
O ator seleciona o registro do cliente para realizar a venda.
O ator adiciona os ítens da venda e finaliza a venda.
O ator seleciona a forma de pagamento e pode efetuar descontos ao valor da venda bem como pagamento parcelado.
O ator finaliza a venda e o sistema emite a nota fiscal e grava os dados.

Logo após isso vc coloca os campos que são realmente importantes a nível de negócio como por exemplo: registro do cliente = (cod + nome + cpf)

Onde ficou a independência aqui. Eu não coloquei nenhuma tecnologia a ser usada nem mesmo nehum algorítmo. Não entrei em detalhes que geralmente casos de uso entram. Não citei nenhuma outra funcionalidade (história) a qual a minha história necessite. As vezes é muito difícil manter total independência de uma funcionalidade em um sistema ja que o mesmo é feito por um conjunto de funcionalidades.

=)

Casos de Uso e histórias são bem diferentes. Casos de uso descrevem a funcionalidade do sistema, histórias descrevem mudanças no sistema.

http://fragmental.tw/2008/09/29/where-do-acceptance-tests-go-to-die/
http://fragmental.tw/2008/10/01/user-stories-are-just-schedulable-change/

Creio que por independência o autor original se refira ao modelo INVEST. Neste caso não é independência de tecnologia mas o fato de uma história não depender de outras.

[quote=YvGa]Ainda nao consegui identificar bem esse conceito de independencia entre as historias.
Ou cada um dos exemplos que eu coloquei formam uma nova historia? Se sim, nao temos aí historias interdependentes? Se nao, como sao definidos os detalhes da historia?
[/quote]

Uma história contêm o mínimo de mudança necessária para gerar algum valor para o usuário do sistema. Se “informar um valor de desconto para uma venda” traz valor para o cliente então ela pode ser uma história.

É claro que as histórias não são sempre independentes. Para informar o valor de desconto, por exemplo, você precisa ter um valor da venda já implementado. O modelo INVEST diz como são “boas” histórias, não necessariamente todas as histórias vão ser “boas” por um motivo ou por outro.

[quote=pcalcado]
É claro que as histórias não são sempre independentes. Para informar o valor de desconto, por exemplo, você precisa ter um valor da venda já implementado. O modelo INVEST diz como são “boas” histórias, não necessariamente todas as histórias vão ser “boas” por um motivo ou por outro.[/quote]

Ponto interessante. Nos livros, nos sempre lemos como as coisas devem ser, mas raramente lemos como elas sao de fato. Bom saber que não é só para mim que o INVEST não é sempre possível.

Eu tenho feito dessa forma ha algum tempo, com historias realmente pequenas, mas com alguma dependencia. Algo como, “Usuário tem que informar uma data de previsao de entrega do pedido.” Ou, “Uma venda tem que ter um cliente e um vendedor”. Tenho tido exito no controle do andamento do projeto e na implementacao.

A duvida surgiu porque sempre leio sobre a tal independencia, mas pra alcancar essa independencia eu precisaria transformar minhas historias quase em casos de uso. Ou talvez houvesse uma forma melhor de escrever as historias e eu nao estava enxergando.