Casos de uso ou User stories

Do impacto desses artefatos na qualidade final do produto ou serviço de software.

Casos de uso derivam dos objetivos e requerimentos do projeto, descrevendo o comportamento do sistema com mais detalhes. Cada caso de uso enfoca uma funcionalidade específica do sistema.

Casos de uso são geralmente elaborados em três versões. A primeira, mais conceitual, descreve como o sistema deve se comportar de maneira geral, em linguagem não-técnica, em relação a uma determinada funcionalidade. Uma segunda versão estende o conteúdo da primeira versão, enumerando restrições e regras de negócio (corporativas ou não) a serem observadas em cada caso.

Enquanto a primeira versão é de caráter mais público, a segunda versão pode ser mais reservada, por questões estratégicas e/ou de segurança. E ambas servem de referência tanto para a elaboração de casos de testes, e outros artefatos de QA [Quality Assurance], como para aprovação do sistema por parte do usuário final.

Finalmente, uma terceira versão, mais técnica e pormenorizada, é derivada das duas primeiras versões, detalhando o comportamento do sistema em relação a uma determinada funcionalidade específica. Este documento reúne as especificações definidas nas outras duas versões, mapeando-as para os seus respectivos componentes.

Essa última versão é a principal fonte de referência para a fase de implementação, impactando significantemente no cronograma geral do projeto, A qualidade do caso de uso, sua inteligibilidade, correção e completude, são determinantes em várias dimensões do projeto, tais como manutenabilidade, credibilidade, TTM – Time to Market, etc.

User stories
Com a popularização da metodologia Agile, os casos de uso começaram a ser discriminados pela comunidade de desenvolvedores; mas, ao observarmos mais atentamente verificamos que cada User Story descreve uma determinada funcionalidade, em cenário específico; um fluxo alternativo de um determinado (ainda que informalmente definido) caso de uso.

Ou seja, a despeito da metodologia aplicada, é de fundamental importância – para a viabilidade e sustentabilidade tanto do projeto como de seus entregáveis – que se defina apropriadamente (e de preferência, formalmente) o comportamento, as funcionalidades e os requerimentos do sistema.

É igualmente importante que se mantenha a rastreabilidade, o mapeamento entre os requerimentos do sistema e seus respectivos casos de uso e/ou user stories, pois essas são as principais fontes referências dos desenvolvedores, enquanto a gestão do projeto como um todo se ocupa mais com os requerimentos que lhes deram origem.

A metodologia Agile oferece excelente práticas, que deveriam sempre direcionar os nossos esforços, mesmo em projetos que optam pela abordagem mais tradicional. Dentre elas, destacamos:

  • Proximidade com o (representante do) usuário final;
  • Listas priorizadas de requerimentos (backlogs);
  • Ciclos curtos de construção (sprints); e
  • Escopo negociável nas fases de revisão e fechado durante os sprints.

Seja como for, o que importa, no final do dia (de todo dia, ao longo tanto do projeto como da vida útil de seus entregáveis), é manter o controle sobre todo o sistema; afinal, não existe qualidade – e, por consequência, sustentabilidade – sem controle.

E não existe controle sem chaves e indicadores.

No contexto do assunto que estamos abordando, portanto, a qualidade e a sustentabilidade do produto resultante de nossos esforços dependem diretamente da qualidade dos mecanismos, instrumentos e artefatos de controle produzidos durante o projeto.

Assim, quer optemos pelos tradicionais casos de uso ou pelas mais recentes e (de certo modo) inovadoras user stories, devemos considerá-los seriamente (profissionalmente, eu diria), no que diz respeito à sua correção, completude, legibilidade e entendimento; bem como à sua rastreabilidade.

Anúncios

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: