Mike Cohn – PAULO FERNANDO VASCONCELLOS NOGUEIRA https://paulofernandovasconc1781614199000.0291847.meusitehostgator.com.br My WordPress Blog Wed, 15 Aug 2018 11:54:11 +0000 pt-BR hourly 1 https://wordpress.org/?v=7.0 O PO é uma Solução Simples https://paulofernandovasconc1781614199000.0291847.meusitehostgator.com.br/2018/08/15/o-po-e-uma-solucao-simples/ https://paulofernandovasconc1781614199000.0291847.meusitehostgator.com.br/2018/08/15/o-po-e-uma-solucao-simples/#respond Wed, 15 Aug 2018 11:54:11 +0000 http://www.pfvasconcellos.eti.br/blog/?p=7716 Simples, não simplista nem simplória. O Dono de Produtos nos ajuda a lidar com a complexidade sem complicação. Sua função é inspirar e orientar o desenvolvimento de soluções criativas. É fácil explicar e justificar o PO. A gente é que complica.

O Dono de Produtos é, por natureza, um Integrador¹. Um recurso utilizado pelas organizações para promover cooperação desafiando silos e amarrando pontas soltas. Um integrador é muito diferente dos coordenadores, supervisores e afins. A falta destes não é sentida quando executamos um trabalho. O mesmo não pode ser dito dos integradores. Dependemos deles. E eles têm todo o interesse em participar e cooperar. Porque têm “a pele em jogo”. E, para tanto, têm poder.

A última palavrinha – poder – sintetiza boa parte dos problemas colocados anteriormente. “Poder” carrega uma bagagem pesada, consequência do mau uso e péssimos exemplos. Não precisa ser assim. Se o poder é utilizado para promover cooperação, ele não tem nada de negativo. Também é preciso entender que o poder, assim como o conhecimento, não é reduzido quando compartilhado, pelo contrário².

Não é recomendado que gerentes de produtos ou equivalentes assumam a função de PO. Porque eles têm outros compromissos e prioridades. Um PO deve se dedicar exclusivamente à sua criação. Segundo Sutherland³, metade do tempo com os clientes e usuários e a outra metade com o time de desenvolvimento. Podemos ser mais flexíveis no rateio da agenda. Na dedicação em período integral, não.Por isso o gráfico ao lado, sugerido por Mike Cohn em Succeeding with Agile (Addison-Wesley, 2009), é uma entre outras coisas da literatura Agile “clássica” que precisamos desaprender. O PO começa com carga máxima. Aliás, a escolha do PO é o nosso primeiro desafio. Experimente, Meça (inspecione), Desaprenda e Aprenda – sem parar! Quando fortalece o PO um gerente de produtos não está perdendo nem um pouco de seu poder. Além disso, ele está satisfazendo um requisito fundamental para a verdadeira agilidade: autonomia.

Ah, mas o gerente não confia em ninguém para assumir as responsabilidades de um PO. Ninguém? Quem contratou essa gente? Quem pediu ou autorizou a contratação? Se ninguém serve, pra que serviu o gerente?

O PO é uma solução simples. A gente é que complica.

Notas

  1. Reforçar Integradores é a segunda das seis regras simples – Six Simple Rules, de Yves Morieux e Peter Tollman (HBR Press, 2014).
  2. A terceira regra fala em aumentar a quantidade total de poder. Para as outras regras: compre o livro, continue seguindo o finito e considere um mergulho no SEA.
  3. Scrum (Leya, 2014).
  4. Simple & Obvious foi compartilhada por Emma Jane Hogbin Westby no flickr.
]]>
https://paulofernandovasconc1781614199000.0291847.meusitehostgator.com.br/2018/08/15/o-po-e-uma-solucao-simples/feed/ 0
É Fácil se Livrar do PO https://paulofernandovasconc1781614199000.0291847.meusitehostgator.com.br/2018/08/13/e-facil-se-livrar-do-po/ https://paulofernandovasconc1781614199000.0291847.meusitehostgator.com.br/2018/08/13/e-facil-se-livrar-do-po/#respond Mon, 13 Aug 2018 12:44:52 +0000 http://www.pfvasconcellos.eti.br/blog/?p=7694 Jeff Sutherland se inspirou¹ no Engenheiro-Chefe da Toyota para criar o papel do Dono de Produtos (PO). O que aproveitamos desse modelo? Um EC é visto como um “super-engenheiro e líder”. Sua formação não dura menos do que doze anos. Sua posição é a mais cobiçada entre os engenheiros daquela empresa japonesa². Quanto disso nós trouxemos para os nossos POs? Quase nada.

Ok, a nossa realidade é diferente. Não fabricamos carros. E aquele morro ali ao lado não é o monte Fuji. Mas isso não pode justificar o que vemos por aí com relativa frequência. A palavra DONO não carrega nenhuma ambiguidade. Mas não são poucas as organizações que inventaram donos de mentirinha. Gente sem autonomia para dizer nem sim nem não.

Cansados da situação, alguns simplesmente se livraram do papel. Via Negativa! Isso tem se tornado relativamente comum: jogar fora tudo que parece difícil e não funciona logo. POs, estimativas, sprints e agora projetos. Sabe-se lá quantos bebês vão junto com a água suja. É preciso entender que uma restrição pode ser, sob outra perspectiva, um recurso.

Um PO, para funcionar bem, precisa ser percebido como um recurso à disposição de todos os envolvidos. Um recurso verdadeiramente útil tanto para clientes e usuários quanto para o time de desenvolvimento.

Nós não ajudamos a criar essa percepção quando afirmamos que o PO: foca no ROI; cria a Visão (sozinho); é a única voz das partes interessadas perante o time; cria a Visão do Produto e estabelece fronteiras. Essas afirmações, extraídas de alguns best-sellers da área³, reforçam o lado antipático: o PO é uma restrição, gargalo, mala, elo mais fraco, ponto único de falha etc.

Justificar a eliminação de restrições chatas é fácil.
Se livrar de recursos úteis, nem tanto.

Notas

  1. Scrum: A Arte de Fazer o Dobro do Trabalho na Metade do Tempo (Leya, 2014). Já tem uns quatro meses que esse livro figura no topo da lista de mais vendidos publicada aos sábados na Folha de São Paulo. Que bom! Mas que não seja pela desastrada promessa do subtítulo.
  2. Segundo James Morgan e Jeffrey Liker em Sistema Toyota de Desenvolvimento de Produto (Bookman, 2008).
  3. Agile Project Management with Scrum – Ken Schwaber (MS Press, 2004).
    Scaling Lean & Agile Development – Larman e Vodde (Addison-Wesley, 2009).
    Essential Scrum – Kenneth Rubin (Addison-Wesley, 2013).
    Succeeding with Agile – Mike Cohn (Addison-Wesley, 2010).
  4. Day 168 / 365 – Post-It Luv Gone Bad, de Anita Hart, decora este texto.
]]>
https://paulofernandovasconc1781614199000.0291847.meusitehostgator.com.br/2018/08/13/e-facil-se-livrar-do-po/feed/ 0
Use Case 2.0: Você precisa dele? https://paulofernandovasconc1781614199000.0291847.meusitehostgator.com.br/2012/01/11/use-case-2-0-voce-precisa-dele/ https://paulofernandovasconc1781614199000.0291847.meusitehostgator.com.br/2012/01/11/use-case-2-0-voce-precisa-dele/#comments Wed, 11 Jan 2012 12:23:59 +0000 http://www.pfvasconcellos.eti.br/blog/?p=2133 Ivar Jacobson liberou, agora em dezembro, um pequeno livro eletrônico chamado Use Case 2.0: The Definitive Guide. Como ele mesmo alerta, não se trata de uma atualização da ferramenta. Afinal, “casos de uso ainda são casos de uso”. Mas o texto propõe alguns novos elementos – novos artefatos de trabalho. Este artigo pretende avaliar as principais alterações sugeridas comparando-as com alternativas já conhecidas.

?

Apesar de toda a má fama que a acompanha, a ferramenta Caso de Uso continua sendo apresentada por muitos, inclusive este que vos escreve, como a mais eficaz no apoio às atividades de “descoberta e descrição dos requisitos funcionais de um sistema”. Os mal ditos sobre os casos de uso têm origem bem identificada. Em dado momento, entre o final dos anos 1990 e início do novo século, tentaram sofisticar demais a ferramenta. Modelos rebuscados e divisões artificiais e redundantes (fluxo disso, fluxo daquilo…) deram enorme contribuição. A gota d’água veio daquela parte da população que tem preguiça de pensar e adora templates repletos de badulaques. Pronto, estava criada a fama – justíssima, dados os casos criados – de que casos de uso eram muito complicados, de difícil elaboração pelos analistas, incompreensíveis para os usuários, detestados e consequentemente ignorados pelos desenvolvedores e distantes demais dos testers (provavelmente os únicos que, se tivessem a chance, talvez gostassem daquilo. Porque era melhor que nada!)

O advento do Manifesto Ágil quase nos fez crer que Caso de Uso era coisa do século passado. Mas o que seria do mundo se não fossem os teimosos? Alistair Cockburn nunca abandonou os casos. Nem Ivar Jacobson, o pai da criança que agora nos apresenta essa releitura (escrita a seis mãos com Ian Spence e Kurt Bittner, autores de “Use Case Modeling” – Addison-Wesley, 2002).
O que ela traz de novo a ponto de merecer o “2.0”? Antes disso, qual a motivação para uma nova versão?

Os autores defendem que o Caso de Uso 2.0 é: Leve, Escalável, Versátil e Fácil de usar. Fica implícita a intenção de oferecer a versão remoçada da ferramenta como alternativa para as User Stories. Apesar de ilustrarem sua utilização até em um processo baseado no modelo waterfall. A falta de um comparativo entre User Stories e Casos de Uso, a exemplo do que fizeram James Coplien e Gertrud Bjørnvig em Lean Architecture (Wiley, 2010), reduz o impacto da proposta. Mas, afinal, qual é a proposta?

Jacobson reforça uma mensagem que já apresentava em seus tempos de Rational¹: “casos de uso são a cola de todo o ciclo de vida do processo “. Ou seja, eles “suportam a análise, projeto, planejamento, estimativas, acompanhamento e testes de sistemas”, além da captura de requisitos, é claro.

Um mapa conceitual nos ajuda a entender todos os elementos da proposta e as relações entre eles. Peço desculpas pela redundância mas vou reescrever as partes que representam as maiores alterações (e, tentarei mostrar, os problemas da proposta).

Os interessados (stakeholders): i) são as fontes dos Requisitos; ii) estão envolvidos e priorizam Casos de Uso; e iii) se comunicam contando Histórias.

Até aqui tudo bem, até porque o mapa informa que: iv) Requisitos são capturados na forma de Casos de Uso.  Agora, como falamos aqui no interior, a porca torce o rabo (e a proposta se enrola). Porque é colocado que: v) Casos de Uso são explorados através da narração de Histórias; e vi) seu escopo é gerenciado e endereçado como um conjunto de Fatias de Caso de Uso (Use-Case Slice); que, por sua vez, vii) são identificadas (ou têm sua identificação facilitada) pelas Histórias.

Essas histórias, a princípio, não têm nada a ver com as conhecidas User Stories (não citadas no e-book). Mas é impossível não perceber a intenção de fazer com que elas sejam elaboradas e tratadas da mesmíssima maneira proposta por Kent Beck (em “Extreme Programming Explained” – Addison-Wesley, 1999) e amadurecida por Mike Cohn (“User Stories Applied” – Addison-Wesley, 2004). Uma História, segundo os autores, pode ser qualquer coisa: requisito funcional ou não funcional, um trecho ou fluxo(s) do Caso de Uso, um requisito especial (?) ou ainda um caso de teste. E elas, genéricas (e versáteis assim), ajudariam na identificação de Fatias de Casos de Uso.

Essas Fatias, apresentadas como “o elemento mais importante do Caso de Uso 2.0”, justificariam-se porque, segundo os autores, “precisamos de uma maneira de dividir casos de uso em conjuntos menores”. Li e reli o documento e continuo não acreditando que o próprio cara que inventou a ferramenta e seus naturais mecanismos de quebra (extensão) e organização esteja propondo tamanha confusão. Talvez meus neurônios não tenham percebido o fim das férias, sei lá. O fato é que a proposta, particularmente suas Histórias e Fatias, não parece fazer muito sentido.

Um Caso de Uso é uma maneira mais (ou menos) ESTRUTURADA² de se contar e registrar uma história, um causo. Ele sempre possui um Fluxo Principal (ou Básico), uma sequência natural de interação entre um Ator e um Sistema onde todos os passos são bem sucedidos. Todas as variações ou desvios desta sequência principal são capturados e registrados na forma de Fluxos Alternativos (ou Secundários). Está aqui o primeiro mecanismo natural de ‘quebra’ de um caso de uso. Considero-o natural porque ele reflete a forma do usuário pensar. Uma vez registrado o comportamento mais esperado, como Fluxo Principal, a história se desenrola, por exemplo, em uma sequência de “e se”: “e se o cliente não tiver crédito”, “e se não houver estoque disponível” etc³. Casos de uso são tremendamente eficazes na “descoberta e descrição de requisitos funcionais de um sistema” exatamente porque permitem que uma história seja narrada e estruturada da forma mais natural (e próxima do usuário) possível.

Por que, então, precisaríamos de outros mecanismos de quebra e organização? Para termos elementos ainda menores, que caibam em uma iteração de duas semanas ou em um post-it? Coplien e Bjørnvig, no capítulo 7 do livro citado acima, já haviam dado a receitinha: “qual é a diferença entre a lista de desvios (Fluxos Alternativos) e uma lista de requisitos, features ou User Stories? Quase nenhuma quando olhamos de perto. Podemos formular cada item da lista na forma de User Stories se isso faz com que a gente se sinta mais Agile“. Bem antes deles, no já distante ano 2000, Alistair Cockburn (em “Writing Effective Use Cases” – Addison-Wesley, 2000) já havia sugerido a derivação de uma Lista de Trabalho a partir de um Caso de Uso e seus diversos fluxos (Work List, págs. 172 – 174). Com itens que cabem perfeitamente em um post-it ou, falando mais sério, “cabem” em iterações (sprints) e facilitam o acompanhamento e gerenciamento de um product backlog ou algo parecido. Enfim, Casos de Uso nunca foram monolitos nem nunca levaram a uma situação “tudo ou nada”. Repito: nunca!

Casos de Uso também podem ser vistos ou utilizados como uma “cola que une todas as etapas de um processo de desenvolvimento” desde a criação da UML (1995-1997) e dos derivados do Processo Unificado (1998~). Não creio que serão as sugeridas Fatias que farão, agora, a mágica de viabilizar tal visão. Porque a verdade é que nós nunca (ou, para pegar um pouco mais leve) raramente utilizamos Casos de Uso em toda a sua plenitude. O faremos agora que ele ficou um pouquinho mais complicado?

?

Observações:

  1. Lê-se a primeira frase destacada na apresentação “Common Chalenges in Use Case Modeling”, de autoria de Ivar Jacobson e com logo da Rational Software (sem data de publicação).
  2. E é esta propriedade fundamental, o fato do Caso de Uso ser uma história ESTRUTURADA, sua principal diferença em relação a outras propostas, particularmente as User Stories. Um Caso de Uso, por natureza, é um conjunto de requisitos que faz todo o sentido para um usuário ou cliente. Um conjunto estruturado. Um conjunto que “entende” sua relação com os demais componentes da solução. Naturalmente.
  3. Destaquei o primeiro (Fluxos Alternativos) mas não cito acima os demais “mecanismos naturais de quebras” dos Casos de Uso. Porque aqui a porca torce o rabo de vez e, preciso admitir, alguns mecanismos não são tão naturais assim (Extends e Includes devem ter passado pela sua cabeça). Para não deixar o tema no limbo preciso dizer que Cenários (combinações de passos dos fluxos principal e alternativos) e Casos de Testes são derivados ou componentes de um Caso de Uso e representam outras formas de “quebra”. Serão mais ou menos naturais dependendo da forma como são elaborados.
  4. Slice of a Pumpkin Pie, foto que ilustra este artigo, é de autoria de TheCulinaryGeek.

 

]]>
https://paulofernandovasconc1781614199000.0291847.meusitehostgator.com.br/2012/01/11/use-case-2-0-voce-precisa-dele/feed/ 7
Scrum kanbanbanban balangandã https://paulofernandovasconc1781614199000.0291847.meusitehostgator.com.br/2010/10/13/scrum-kanbanbanban-balanganda/ https://paulofernandovasconc1781614199000.0291847.meusitehostgator.com.br/2010/10/13/scrum-kanbanbanban-balanganda/#comments Wed, 13 Oct 2010 13:44:09 +0000 http://www.pfvasconcellos.eti.br/blog/?p=1470 Conclusão do papo iniciado em “Scrum praticundum burungundum“¹. Naquela primeira parte tentei ilustrar a crescente adoção do Scrum em Pindorama. O texto de hoje se ocupará dos principais problemas enfrentados, possíveis causas e soluções. É necessário lembrar que minhas conclusões não estão baseadas em uma pesquisa estruturada. Elas são fruto de conversas e consultas informais.

.:.

O Scrum, pequeno e simples que é, não deveria ter significados diferentes para as pessoas. Quando alguém me diz que está adotando o Scrum, minha primeira pergunta é: “Scrum e?…” Muitos interlocutores não entendem a questão. Ignoram o fato de o Scrum orientar apenas o processo de gestão de um projeto. Uma parte deles está de fato adotando derivações ou até mesmo o XisPê (eXtreme Programming). Outra parte descobre depois de um tempinho que “tá faltando um monte de definição”. Alguns deixam que a equipe técnica selecione suas práticas favoritas ou que trabalhem como os Allman Brothers, em puros e longuíssimos improvisos. Nada disso se configura um problema se combinado previamente. No entanto, no mínimo para não falar besteiras, é bom saber o que vem do Scrum e o que foi importado de outros lugares.

Um dos exemplos de “práticas importadas” são as User Stories (ou histórias de usuários). O Scrum não diz como deve ser explicitado o backlog do produto nem como devem ser redigidas as necessidades dos usuários. Autores como Jim Highsmith, Mike Cohn e Roman Pichler² manifestam sua preferência pelo padrão User Story. Sua natureza evolutiva “combina” melhor com o Scrum e com métodos ágeis em geral. Acontece que muitos acreditam que esta seria a única maneira de registrar os requisitos do negócio ou dos usuários, o que não é verdadeiro.

Mas o que realmente importa é a necessidade de *completar* o Scrum com práticas de engenharia. E aqui deveríamos ver variações mil. Por quê? Oras, organizações, equipes e projetos têm necessidades e restrições bastante específicas. O chapéu Scrum, largo e leve que é, pode caber em qualquer cabeça. Mas seu complemento demanda cuidado. Um zelo que tem faltado em algumas implementações.

E por falar em implementação. Qual a melhor estratégia? Implantar o Scrum em toda a organização em uma tacada só ou, como um bom e legítimo mineiro, promover uma adoção gradual (comendo quieto e pelas beiradas)? Sou mineiro. E quanto mais conservador ou desestruturado for o ambiente, mais lento é o ritmo que recomendo. Aposto nos hábitos e gostos que são desenvolvidos de maneira natural e orgânica, sem imposições. Deveríamos acreditar mais no potencial das boas ideias que são incorporadas – aprendidas de verdade – através de bons exemplos. Mesmo em organizações que precisam ou merecem radicais safanões, é complicada a implantação do tipo big-bang. Só o exorcismo do espírito Waterfall (cascata), que assombra por anos ou décadas, já é um trabalho e tanto. Representa uma mudança que raríssimas vezes pode ser classificada como simples ou sem traumas. Resumindo: é mais fácil adotar o Scrum de maneira gradual. Poucos casos, como o da Salesforce.com documentado por Mike Cohn em “Succeeding with Agile” (Addison-Wesley, 2010), justificam outra estratégia.

E por falar em cascata. Não é que tem gente que fala que tá usando o Scrum mas manda um analista lá no cliente para “levantar *todos* os requisitos”? Gente que depois compila isso tudo numa proposta com escopo, preço e prazo fechados? Isso sim pode ser julgado como pecado mortal – um crime premeditado. Mas, guarda o fósforo menino! Não é questão de jogar hereges na fogueira. Uma das perguntas mais frequentes que ouço é exatamente sobre isso: como um prestador de serviços vende um projeto baseado no Scrum? O assunto é tão espinhoso e controverso que merecerá um artigo (ou série) só para ele.

Outro ponto que facilmente se converte em discussão é o autogerenciamento pelo time do projeto. Existem duas interpretações principais: i) o time cuida de tudo e decide tudo; ii) “autogerenciamento não significa falta de liderança mas um estilo diferente de liderança”, escreveu Jim Highsmith na segunda edição de Agile Project Management (Addison-Wesley, 2010). Sou ignorante pra burro (hehe) e conheço pouquíssimos casos da história da humanidade que comprovem a viabilidade da primeira opção. Pra citar assim, de cabeça, só o caso da Democracia Corinthiana, que durou cerca de dois anos (1982-83). Ainda assim, garanto que a leitura da última frase lhe trouxe lembranças do Dr. Sócrates, Casagrande e Vladimir.

Henrik Kniberg e Mattias Skarin colocam em “Scrum e Kanban – Obtendo o Melhor de Ambos” (InfoQ, 2009) que “o Scrum é suficientemente minimalista tal como é, se você remover coisas e continuar chamando isso de Scrum a palavra ficará sem sentido e confusa”. Porém, nada nos impede de “colocar coisas” no Scrum. Parece ser o que fez Jim Highsmith no livro  já citado. Ele coloca a figura de um líder de projetos. Estranhamente, sem usar o termo Scrum. Sei lá se por respeito ou qualquer outro motivo. Também precisamos considerar um aspecto cultural: o brasileiro parece gostar de líderes e de ser liderado. Não é o caso de discutir se isso se dá por preguiça, submissão ou letargia (que é a preguiça chique). Ou é (o caso de discutir isso)? Sei lá.

Outra pergunta de meu informal check-list: “Você confia em seu PO? Ele tem a palavra final sobre o escopo do projeto?” Espanta o número de vezes que ouço um “não” como resposta. Um “não” que algumas vezes nem tem noção do tamanho de engano que representa. Se há um termo muito feliz³ criado no Scrum é Product Owner (PO) – *Dono do Produto*. “Dono” dispensa explicações. Quando um dono não tem palavra final então ele não é dono de nada. Não existe meio dono.

Existe um dito popular que ensina que é “o olho do dono que engorda o boi”. Adaptado para nosso caso, podemos dizer que é “o olho do PO que garante a entrega do produto”. E o que dizer dos PO’s indisponíveis, daqueles que não têm tempo para olhar o boi?

E que dizer dos PO’s que não são do negócio? O que dizer dos PO’s?

Outro dia eu digo. Inté!

.:.

Observações:

  1. Sigo firme na tradição dos títulos ridículos. Mas desta vez escondi ali uma provocação. Se surtiu efeito eu não vi. Chamei o artigo anterior de “Scrum praticundum burugundum”. A rima (!) só é possível se a pronúncia estiver errada. É  que eu ouço “ScrUm” com mais frequência que  “ScrÃm” (ou “Scrammm”). Fecho a provocação (mas não a tradição dos títulos ridículos) com o “Scrum kanbanbanban balangandã” de hoje.
    E não, (ainda) não tenho a intenção ou condição de falar sobre o Kanban. Dele só aproveitei a rima mesmo. Se o tema lhe interessa, aquele livro aberto e gratuito citado é uma boa dica.
  2. No próprio texto já referenciei os trabalhos de Highsmith e Cohn. Faltou citar o livro do Roman Pichler, “Agile Product Management with Scrum” (Addison-Wesley, 2010). Um dos poucos dirigidos especificamente para PO’s.
  3. Não sei se você sabe, mas os termos criados para o Scrum são intencionalmente “infelizes” ou “ruins”. Ruins no sentido de serem bastante diferentes daqueles utilizados tradicionalmente: Product Backlog, ScrumMaster, Product Owner, Sprint Backlog… A sacada do vocabulário original e radical é boa porque evita confusões. Bom, deveria evitá-las…
  4. “Battle against Time”, a bela foto que ilustra o artigo, é do Joakim Jardenberg.
]]>
https://paulofernandovasconc1781614199000.0291847.meusitehostgator.com.br/2010/10/13/scrum-kanbanbanban-balanganda/feed/ 4
Agile BA Parte III – Criando Caso https://paulofernandovasconc1781614199000.0291847.meusitehostgator.com.br/2007/07/11/agile-ba-parte-iii-criando-caso/ https://paulofernandovasconc1781614199000.0291847.meusitehostgator.com.br/2007/07/11/agile-ba-parte-iii-criando-caso/#comments Wed, 11 Jul 2007 15:52:00 +0000 http://www.pfvasconcellos.eti.br/blog/2007/07/11/agile-ba-parte-iii-criando-caso/ Última parte de uma pequena série que tratou dos problemas da Anne, uma Scrummaster que foi ligeiramente afetada por um curso de Análise de Negócios. Como adiantei na semana passada, vou criar caso questionando algumas estórias.

.:.

Como já reclamei aqui em outras ocasiões, nossa área adora reinventar algumas coisas. Começar do zero, ao invés de melhorar algo que já existe. Assim nasceram as User Stories, peça fundamental da metodologia-religião popularmente conhecida como XP (eXtreme Programming). Segundo um de seus apóstolos, as User Stories são formadas por três elementos:

  • Cartão: onde escrevemos as estórias ;
  • Conversas: que nos levariam a entender e detalhar as estórias; e
  • Confirmação: o ‘the end’, o fim da estória.

A motivação para tamanha invenção gira em torno da palavrinha ‘documentação’ (um dos pecados mortais, segundo aquela doutrina). Por isso outro apóstolo reforça: “os cartões representam os requisitos do cliente, mas não os documentam”. Vai na linha de um mestre-pacificador (mezzo tucano) que vive insistindo: “gente, modelagem não é documentação… modelagem não é documentação… isso é um mito”. Documentação parece um trauma incurável. Mas falarei mais sobre isso em outras oportunidades. A história aqui são as estórias.

No post anterior eu destaquei um probleminha com o processo adotado pela Anne: “Nós organizamos as cento e poucas estórias por processos de negócios…”. Vai na linha do problema reconhecido por aquele primeiro apóstolo (que escreveu um livro só sobre estórias) : “É difícil saber por onde começar”.

Se o trabalho começa por uma correta análise do negócio e seus processos, não devem existir dúvidas sobre o ponto de partida. Ao organizar os trabalhos de coleta e análise de requisitos a partir dos processos de negócio, não existe o trabalho de “organização de estórias”. Assim, não há justificativas para adoção do POREM (Post-it-Oriented Requirements Elicitation Method).

Ironias à parte, o fato é que as user stories, apesar de bem intencionadas, trazem mais problemas (inclusive alguns que não existiam antes) do que soluções. Sua granularidade e a doentia independência dificultam o gerenciamento; Tornam as atividades de priorização e planejamento das iterações bastante confusas. Ou seja, sua utilização em projetos médios e grandes deve ser um pesadelo .

.:.

Se começamos do começo, ou seja, pela análise do negócio e seus processos, é mais natural a adoção dos Casos de Uso como técnica para coleta, organização e análise de requisitos. Segundo seu criador , “um caso de uso é o nosso constructo para um processo de negócio”; ” descrevem o negócio e o seu ambiente”.

A adoção de casos de uso não significa, de maneira alguma, deixar de ser ágil. Aliás, se bem adotada, a técnica deve promover maior agilidade do que as estórias. As 6 qualidades das boas estórias também devem caracterizar os bons casos de uso :

  • Independentes: até o limite onde a independência é desejável, ou seja, até o ponto em que ela não gere surpresas e omissões no projeto;
  • Negociáveis: se o cliente e demais stakeholders não puderem negociar os casos de uso, o que sobra?
  • Valiosos para Usuários e Clientes: óbvio? Nem tanto. Vide o tanto de caso de uso descrevendo CRUD’s e afins por aí.
  • Estimáveis: ok, UCP‘s são frágeis. Tanto quanto todos os outros métodos conhecidos. Mas, independente do método, casos de uso são (ou deveriam ser) estimáveis.
  • Pequenos: não tanto quanto uma história, mas o suficiente para representar uma unidade significativa para o negócio (seja ela uma tarefa, atividade ou processo). Se um caso de uso for grande ou de difícil leitura ele está errado – regrinha básica;
  • Testáveis: wow. Outra regrinha: se não pode ser testado então não é um caso de uso. Deriva de outra regrinha que diz que : “Se um requisito não pode ser testado então ele não é um requisito”.

Resumo da ópera cômica: sejamos ecologicamente responsáveis: post-its e cartões são feitos de árvores; vamos parar com esse papo de ‘casa de ferreiro… espeto de bambu’ (bambu solta farpas); municiemos nossas equipes e stakeholders com informações consistentes, bem pensadas, analisadas e estruturadas…

… começando do começo: o Negócio.

.:.

Notas:

  1. Não tenho (quase) nada contra XP e afins. Meu problema é só com os fundamentalistas mal educados e donos da verdade suprema. XP e afins foram úteis, representaram um avanço, chacoalharam o status quo. Ou seja, foram um mal necessário.
  2. User Stories Applied: For Agile Software Development
    Mike Cohn. Addison-Wesley (2004).
    Obs: Mesmo autor do artigo sobre UCP referenciado acima.
  3. Lembram-se daqueles livrinhos da Ediouro que sempre traziam uma discussão sobre “estória versus história”? Pois é, me lembrei deles na hora de traduzir stories.
  4. The Power of Stories
    Rachel Davies. XP 2001.
  5. Debunking Modeling Myths
    Scott W. Ambler. Software Development (Agosto/2001).
  6. Deve ser (um pesadelo). Nunca testei e nunca terei coragem para tanto.
  7. The Object Advantage – Business Process Reengineering with Object Technology
    Ivar Jacobson. Addison-Wesley (1995).
  8. Requirements-Led Project Management
    Suzanne e James Robertson. Addison-Wesley (2005).

.:.
]]>
https://paulofernandovasconc1781614199000.0291847.meusitehostgator.com.br/2007/07/11/agile-ba-parte-iii-criando-caso/feed/ 2