User Stories X use cases  XML
Índice dos Fóruns » Metodologias de Desenvolvimento e Testes de Software
Autor Mensagem
leofernandesmo
JavaEvangelist
[Avatar]

Membro desde: 05/06/2006 10:27:10
Mensagens: 332
Localização: De volta a Maceió.. :)
Offline

Estava discutindo no grupo que temos aqui em Maceió e ao perguntar se alguém tinha o livro Writing Effective Use Cases um amigo (que fez o curso de CSM) disse que eles abominaram o uso de Casos de Uso para usar apenas User Stories.

Eu queria saber de vocês uma comparação entre as duas técnicas para descrição dos requisitos. Em um ambiente ÁGIL(Claro).

Vcs continuam usando casos de uso?
Uma não impede a utilização da outra?
O fato de casos de uso serem escritos pelo time e user stories pelo cliente altera em muita coisa?
Agile requirements...quais outras opções vcs estão usando?

Estou viajando e uma não tem nada a ver com a outra ?? hhehehehe

Artigo sobre requirements in an agile environment -> http://www.ibm.com/developerworks/library/ar-archman4/index.html?ca=drs- Ajudar para quem não conhece.

This message was edited 1 time. Last update was at 10/07/2008 13:53:12


Blog: http://jroller.com/page/leofernandesmo
Msg: "Não adianta olhar pro céu com muita fé e pouca luta"
[Email] [MSN]
andre_salvati
Virtual Machine Man

Membro desde: 02/06/2005 16:28:38
Mensagens: 682
Offline

Cara,

sinto dizer-lhe, seu amigo está certo....

tem várias threads no GUJ discutindo isso...

http://www.guj.com.br/posts/list/15/79552.java

http://www.guj.com.br/posts/list/90453.java

Abraço.

This message was edited 1 time. Last update was at 10/07/2008 15:32:18


http://twitter.com/afsalvati
[WWW]
rodrigoy
Virtual Machine Man
[Avatar]

Membro desde: 18/04/2006 01:06:28
Mensagens: 741
Localização: São Paulo
Offline

Segundo o Fowler:

http://www.martinfowler.com/bliki/UseCasesAndStories.html

Segundo o Ambler:

http://www.agilemodeling.com/artifacts/userStory.htm

Segundo o c2 (Ward Cunningham e cia ltda)

http://c2.com/cgi/wiki?UserStoryAndUseCaseComparison

Se você pegar o conceito por trás de casos de uso cunhado pelo Ivar Jacobson você verá que praticamente é a mesma coisa. Caso de uso não precisa ser formal. Na literatura do Kent Beck eu não vejo ele diferenciando muito Casos de Uso de Stories. Pra quem tá começando pode cair na modinha e falar que só usa Stories porque está no Index Card...


Rodrigo Yoshima
www.ASPERCOM.com.br

Próximas Turmas:
São Paulo: Requisitos 12/jan | Scrum 16/jan | OOAD-UML 26/jan | Domain-Driven Design 06/fev

Débito Técnico Blog: blog.aspercom.com.br
[WWW]
andre_salvati
Virtual Machine Man

Membro desde: 02/06/2005 16:28:38
Mensagens: 682
Offline

rodrigoy wrote: Pra quem tá começando pode cair na modinha e falar que só usa Stories porque está no Index Card...



Isso aí ... além de estar na moda será mais feliz...

Perceba a diferenciação q o Fowler faz entre Casos de Usos e Stories, provando que são coisas DIFERENTES.

Perfeito, como sempre...

http://twitter.com/afsalvati
[WWW]
rodrigoy
Virtual Machine Man
[Avatar]

Membro desde: 18/04/2006 01:06:28
Mensagens: 741
Localização: São Paulo
Offline

Taz? Vamos começar tudo de novo?

- Casos de Uso e Stories são técnicas para desenvolver o sistema pelo ponto de vista do Ator.
- Casos de Uso e Stories não são documentos técnicos.
- Casos de Uso e Stories são suscintos.
- Casos de Uso e Stories são atômicos.
- Casos de Uso e Stories agregam valor de negócio.
- Casos de Uso e Stories são utilizadas para gerenciar o projeto.
- Casos de Uso e Stories dividem o sistema funcionalmente.
- Casos de Uso e Stories podem ser estimados.
- Casos de Uso e Stories direcionam os testes.

Eu só consigo ver semelhanças entre Casos de Uso e Stories. Talvez a razão de enxergar toda essa diferença é que poucas pessoas sabem a técnica correta de Casos de Uso. A julgar pelas mais de 3000 pessoas que estão inscritas no nosso curso on-line grátis sobre Casos de Uso, pode ter certeza que tenho bons fundamentos para fazer tal afirmação.

Se você puder citar um número maior de diferenças marcantes com relação aos dois eu posso concordar que eles são diferentes.

Outro ponto: Foram raros os casos que ví o cliente escrever User Stories da maneira que o XP prega. Eles podem participar dando informações mas não sabendo lidar com histórias diretamente. Essa talvez possa ser uma das diferenças, mas que nunca ocorre na prática.

Rodrigo Yoshima
www.ASPERCOM.com.br

Próximas Turmas:
São Paulo: Requisitos 12/jan | Scrum 16/jan | OOAD-UML 26/jan | Domain-Driven Design 06/fev

Débito Técnico Blog: blog.aspercom.com.br
[WWW]
pcalcado
Moderador
[Avatar]

Membro desde: 08/03/2004 17:19:35
Mensagens: 5167
Localização: Sydney - Australia
Offline

Casos de Uso e User Stories são diferentes, apesa de parecidos, como o próprio Fowler falou:


Use cases organize requirements to form a narrative of how users relate to and use a system. Hence they focus on user goals and how interacting with a system satisfies the goals. XP stories (and similar things, often called features) break requirements into chunks for planning purposes. Stories are explicitly broken down until they can be estimated as part of XP's release planning process. Because these uses of requirements are different, heuristics for good use cases and stories will differ.


Não tem nada de "modinha", é um modo diferente de particionar o que precisa ser feito. É claro que os conceitos são os mesmos, assim como boa parte dos conceitos basicos de qualquer metodologia iterativa -como XP e RUP- são os mesmos, mas ter os mesmos conceitos básicos não faz de duas coisas iguais (católicos x protestantes que o digam).

Bom, siceramente eu não uso Use Cases há aluns anos simplesmente porque além de ninguém conseguir me convencer que eles são melhores que histórias eu nunca vi um use case ser realmente entendido pelo cliente -o que acontece com histórias, que o próprio cliente escreve.

This message was edited 1 time. Last update was at 11/07/2008 04:07:44


Phillip Calçado "Shoes"
http://fragmental.tw/
http://blog.fragmental.com.br/
"It is unfortunate that much of what is called 'object-oriented programming today is simply old style programming with fancier constructs." - Alan Kay
[Email] [WWW] [Yahoo!] [MSN]
rodrigoK
JavaChild

Membro desde: 14/06/2005 23:10:23
Mensagens: 121
Localização: Rio de Janeiro - RJ
Offline

pcalcado wrote:Bom, siceramente eu não uso Use Cases há aluns anos simplesmente porque além de ninguém conseguir me convencer que eles são melhores que histórias eu nunca vi um use case ser realmente entendido pelo cliente -o que acontece com histórias, que o próprio cliente escreve.


Estranho seria se ele não entendesse o que escreveu.


Abraços,

Rodrigo Kieffer
rodrigoy
Virtual Machine Man
[Avatar]

Membro desde: 18/04/2006 01:06:28
Mensagens: 741
Localização: São Paulo
Offline

pcalcado wrote:Não tem nada de "modinha", é um modo diferente de particionar o que precisa ser feito.


Martin Fowler no mesmo artigo wrote:
The two have a complex correlation. Stories are usually more fine-grained because they have to be entirely buildable within an iteration (one or two weeks for XP). A small use case may correspond entirely to a story; however a story might be one or more scenarios in a use case, or one or more steps in a use case.


Você pode comparar Stories com Cenários segundo o Fowler. Não tenho um estudo, mas é muito comum um Caso de Uso ser um único cenário (só tem fluxo básico), ou talvez um único cenário importante. Mais uma vez: Casos de Uso não precisam ser formais, não precisa ser descrito na forma de fluxos, as vezes o nome do caso de uso já basta.

leofernandemo wrote:
Estava discutindo no grupo que temos aqui em Maceió e ao perguntar se alguém tinha o livro Writing Effective Use Cases um amigo (que fez o curso de CSM) disse que eles abominaram o uso de Casos de Uso para usar apenas User Stories.


Isso pra mim é modinha. Como já tinha também dito anteriormente o Kent Beck toma a literatura do Jacobson como base para lidar com Stories. Já tinha falado pro próprio Taz em tópicos anteriores. É uma discussão meio morta essa. IMHO, seria a mesma coisa que dizer que abominam o uso de Iterações... só usam Sprints agora.

Rodrigo Yoshima
www.ASPERCOM.com.br

Próximas Turmas:
São Paulo: Requisitos 12/jan | Scrum 16/jan | OOAD-UML 26/jan | Domain-Driven Design 06/fev

Débito Técnico Blog: blog.aspercom.com.br
[WWW]
pcalcado
Moderador
[Avatar]

Membro desde: 08/03/2004 17:19:35
Mensagens: 5167
Localização: Sydney - Australia
Offline



rodrigoy wrote:
Você pode comparar Stories com Cenários segundo o Fowler. Não tenho um estudo, mas é muito comum um Caso de Uso ser um único cenário (só tem fluxo básico), ou talvez um único cenário importante. Mais uma vez: Casos de Uso não precisam ser formais, não precisa ser descrito na forma de fluxos, as vezes o nome do caso de uso já basta.


O trecho que você colou apenas confirma o que eu disse. Existe correlação, aprtem do mesmo princípio. Existe uma diferença enorme entre correlação e equivalência e o mesmo trecho citado mostra exatamente como não se podem intercambiar ambos. Se você tiver apenas o nome do caso de uso ele ainda é muito diferente de uma história. Uma história é apenas um placeholder para uma conversa direta entre analista e desenvolvedor. Quando essa conversa está acotnecendo levanta-se critérios de aceita para a história.

Novamente: não é porque possuem conceitos parecidos que são iguais. RUP e XP partem dos mesmos princípios com soluções parecidas mas bem diferentes.

Sua comparação com sprint é sem sentido, creio. Não existe diferença prática entre sprint e iteração, é apenas o nome que Scrum usa (Scrum é otemo em inventar nomes novos para coisas velhas) mas existem diferençar entre casos de uso e histórias. Como disse o Fowler existe diferença: satisfazer um objetivo x organizar entregas.

Para mim também é uma conversa morta. São coisas diferentes, cada um possui seu lugar e não há motivo para tentar iguala-las -a menos que se faça como o Ambler que precisa vender um processo baseado em casos de uso.

Phillip Calçado "Shoes"
http://fragmental.tw/
http://blog.fragmental.com.br/
"It is unfortunate that much of what is called 'object-oriented programming today is simply old style programming with fancier constructs." - Alan Kay
[Email] [WWW] [Yahoo!] [MSN]
leofernandesmo
JavaEvangelist
[Avatar]

Membro desde: 05/06/2006 10:27:10
Mensagens: 332
Localização: De volta a Maceió.. :)
Offline

pcalcado wrote:
-a menos que se faça como o Ambler que precisa vender um processo baseado em casos de uso.


Qual?? UP?

Alguém tem conhecimento de Crystal? Como ela trata o assunto?
Já que o livro citado é do próprio Cockburn.

Blog: http://jroller.com/page/leofernandesmo
Msg: "Não adianta olhar pro céu com muita fé e pouca luta"
[Email] [MSN]
sergiotaborda
Forum Spammer
[Avatar]

Membro desde: 22/03/2005 20:57:48
Mensagens: 3008
Offline

leofernandesmo wrote:Estava discutindo no grupo que temos aqui em Maceió e ao perguntar se alguém tinha o livro Writing Effective Use Cases um amigo (que fez o curso de CSM) disse que eles abominaram o uso de Casos de Uso para usar apenas User Stories.


Casos de Uso são descrições não técnicas e não-tecnologicas daquilo que o usuário pode esperar do sistema. São descrições da
interação do usuário com o sistema. São compostos pelas ações que o usuário toma e o sistema toma em resposta até que um objetivo seja conseguido. Esse objetivo é um objetivo de negocio. Por exemplo "Reservar Quarto".

Caso de Uso são utilizados em vez/como se fosse um protótipo, mas com todas as referencias a layout e tecnologia removidas.
Não importa como sistema será desenhado/construido, ele tem que funcionar daquela forma. Casos de uso são utilizados para levantar requisitos ( não para os documentar) e para que os testes saibam como confirmar que o sistema faz o que deve.
Casos de Uso estão relacionados aos requisitos funcionais mas não são requisitos nem servem para os documentar. Eles são escritos normalmente pelo analista num documento de analise, mas os bons CU devem ser escritos em conjunto com o cliente. Nada impede que o cliente os escreva sozinho.

Estórias ( não Histórias (stories =/= histories) ) são descrições simples e curtas (titulos) daquilo que o sistema terá que fazer. Como são limitadas em tamanho devem ser partidas em estórias menores até que seja claro que há a fazer. Por exemplo "Reservar quarto" é muito genérico. O processo de criação é o mesmo, mas o detalhes e o propósito é diferente. Em XP elas devem ser criadas pelo cliente (afinal são USER stories) , mas nisso não ha diferença paras os CU que tb podem ser escritos pelo cliente.
A diferença é que os UC servem como um protótipo para que todos saibam o que esperar do sistema, enquanto estórias servem para que a equipe possa estimar o que tem que fazer e portanto quanto o esforço necessário. Ambas mantêm um nivel alto desprovido de detalhes tecnológicos ou de interface gráfica.

dizer que aboliu caso de uso é irrelevante já que não servem o mesmo proposito que as estorias. A pergunta ser feita é: se não usa casos de uso o que vc usa em vez? Se responder "User Stories" das duas uma:
1) não sabe o que está a fazer e acha que é tudo a mesma coisa
2) dá preferencia a formas de avaliar esforço em vez de formas de avaliar requisitos.
3) não faz levantamento de requisitos ( cenário é que os CU são irrelevantes)

Por outro lado se a pessoa usa CU mas não estórias a pergunta é : como estima o esforço do projeto ?
Já que CU não servem para isso e não são usadas estórias, então outro método é necessário. A menos, é claro, que o esforço não seja estimado.

São coisas que nascem do mesmo lugar ( cliente) e dizem quase a mesma coisa ( muda o nivel de detalhes e a forma) mas não servem para a mesma coisa.

Caderno no Java Building

-Quanto custa o seu preço ?
-Taxionomia de uma Entidade
-Crédito Técnico
-Scrum para Tradicionalistas - Previsões
-MVC e Camadas
- Scrum para Tradicionalistas - Tarefas
- Scrum para Tradicionalistas- As pessoas
-Valorizar Práticas ou Praticar Valores ?


Blog do MiddleHeaven
[WWW]
agazola
What is classpath?

Membro desde: 25/04/2008 20:47:28
Mensagens: 9
Offline

Estórias ( não Histórias (stories =/= histories) )


O vocábulo "estória" entrou em desuso... deve-se utilizar "história" para todos os casos

abs

Alexandre Gazola
"Que aproveita ao homem ganhar o mundo inteiro e perder a sua alma?" (Mc 8:36)
rodrigoy
Virtual Machine Man
[Avatar]

Membro desde: 18/04/2006 01:06:28
Mensagens: 741
Localização: São Paulo
Offline

pcalcado wrote:
(Scrum é otemo em inventar nomes novos para coisas velhas)


O XP também na minha opinião. Eu achei uma frescura sem tamanho o Schwaber chamar Iteração de Sprint, assim como não ví diferença entre cenário de story quando estudei XP. São nomes diferentes para coisas que já existiam. Mas pra ficar na modinha, vamos chamar de Story. (Isso é bem IMHO, não precisa despejar bibliografia. Pra uma conversa morta, essa tá rendendo demais até).

pcalcado wrote:
a menos que se faça como o Ambler que precisa vender um processo baseado em casos de uso.



Essa foi boa... ele que não nos ouça...

[editado] escreví storie no post todo! [/editado]

This message was edited 1 time. Last update was at 13/07/2008 21:36:15


Rodrigo Yoshima
www.ASPERCOM.com.br

Próximas Turmas:
São Paulo: Requisitos 12/jan | Scrum 16/jan | OOAD-UML 26/jan | Domain-Driven Design 06/fev

Débito Técnico Blog: blog.aspercom.com.br
[WWW]
sergiotaborda
Forum Spammer
[Avatar]

Membro desde: 22/03/2005 20:57:48
Mensagens: 3008
Offline

agazola wrote:
Estórias ( não Histórias (stories =/= histories) )


O vocábulo "estória" entrou em desuso... deve-se utilizar "história" para todos os casos



Embora o termo não se use em Portugal e seja visto como um Brasileirismo ele é adequado aqui.
Existe uma necessidade de referir que aquilo que está escrito não é real. É um conto do ponto de vista de quem o escreveu (o cliente)
e não é a Verdade. Não é fato. O conto tem que ser analisado para se torna útil. É a tradução direta da palavra story do inglês que se opõe a history. Ou seja, tb no original inglês ha a necessidade de distinguir a não realidade do que está escrito e numa boa tradução o sentido deve ser preservado o mais possível; mesmo que com palavras "arcaicas" (http://pt.wiktionary.org/wiki/est%C3%B3ria) ( nota: a palavra deixa de ser arcaica se for usada agora)

Caderno no Java Building

-Quanto custa o seu preço ?
-Taxionomia de uma Entidade
-Crédito Técnico
-Scrum para Tradicionalistas - Previsões
-MVC e Camadas
- Scrum para Tradicionalistas - Tarefas
- Scrum para Tradicionalistas- As pessoas
-Valorizar Práticas ou Praticar Valores ?


Blog do MiddleHeaven
[WWW]
fabeen
Debugger
[Avatar]

Membro desde: 30/06/2006 14:17:06
Mensagens: 63
Localização: São Paulo - SP - Brasil
Offline

Não querendo ser Xiita, mas pra mim a descrição de Casos de Uso são uma imensa perda de tempo. Quando o cliente está presente, participando, dando a opinião de negócio sobre o que ele realmente espera da estória http://www.improveit.com.br/xp/praticas/cliente_real, tem-se uma melhor visão do que é necessário implementar e entregar na conclusão dela.

Do not try to imitate the old masters. Seek what they sought.
(Bosho)
http://www.keeponrightway.com
[WWW]
 
Índice dos Fóruns » Metodologias de Desenvolvimento e Testes de Software
Ir para:   
Powered by JForum 2.1.8 © JForum Team