No meu caso, sempre achei que o nível de detalhes necessários para casos de uso completos acontecia pensando primeiro nas histórias de meus usuários. A primeira pergunta que faço é "o que as pessoas precisam ser capazes de fazer?". Depois de ter os cenários, é mais fácil começar a analisar todos os casos de uso e variantes de fluxo do sistema.
Dito isto, para um único desenvolvedor que trabalha sozinho, você realmente não precisa se preocupar se é um caso de uso ou uma história de usuário ou um adesivo na parede que diz "não se esqueça do 'x'". O que você precisa é de qualquer processo que faça você pensar no que seus usuários estão tentando alcançar e o ajudará a rastrear as diferentes coisas que eles precisam poder fazer. Tudo o resto depende de você quanto ao nível de detalhes que você precisa anotar para planejar seu desenvolvimento.
Por exemplo, quando trabalho em um projeto paralelo solo, minhas tarefas de trabalho são mais ou menos assim:
- Conecte-se
- Ver a lista de 'foo'
- Salvar seleções da lista
- Procurar
Honestamente, cada um deles não teria nada mais do que uma estimativa. Por quê? Porque estou apenas usando-os como um lembrete do que preciso para que o usuário faça e vou descobrir os detalhes quando chegar a essa parte. Com uma equipe de uma única pessoa, tudo pode estar na sua cabeça e tudo bem, porque você não precisa comunicá-lo a mais ninguém.
Agora, existem advertências ...
Desenvolvedor único trabalhando com outros especialistas
Você precisa relatar o progresso para outra equipe? Você tem testadores que precisam validar seu trabalho? Você tem um gerente que quer saber o que fez? Você tem um gerente de projeto que precisa prever uma linha do tempo? Você tem um proprietário do produto que está determinando os recursos necessários?
Se essas pessoas fazem parte do seu projeto, você precisa garantir que suas tarefas de trabalho tenham informações suficientes sobre elas para permitir que elas façam seu trabalho. O PM provavelmente precisa de uma maneira de ver tamanhos relativos das coisas e progredir nesse trabalho. Seus testadores precisarão de detalhes sobre como as coisas devem fluir (casos de uso) e você pode até pedir para ajudá-lo a escrevê-las. A gerência pode querer saber em que está trabalhando, portanto, você precisará de uma descrição comercial suficiente para que eles possam entender os recursos que você fornecerá.
Se você respondeu "sim" a todas essas perguntas, provavelmente precisará ter uma lista de pendências mais rigidamente documentada, pois a usará para se comunicar com os outros membros da sua equipe.
- Você provavelmente precisará ter o conceito de 'Épicas' ou 'Recursos', que serão a funcionalidade de alto nível que você pode usar para relatar à gerência ou aos proprietários do produto.
- Você aninhará Histórias de usuário nessas Epopeias / Recursos que definirão os blocos menores de funcionalidade que serão usados para comunicar o progresso com o gerente de projeto, definirão as tarefas de trabalho em um sprint e serão usados para comunicar o objetivo de negócios ao equipe de teste.
- Você terá casos de uso ou casos de teste definidos para as histórias para capturar as várias decisões de fluxo de baixo nível necessárias para garantir que você, os negócios e a equipe de teste estejam alinhados e saibam o que será aceito como 'correto'.
Todos os itens acima podem ser ignorados se você definir o trabalho, gerenciar o progresso, testar o software e decidir se algo está 'correto'. Reduza o esforço extra e verifique se está fazendo o que é importante: criar software de trabalho!