TL; DR
O Scrum não exige o uso de histórias de usuários; eles são simplesmente uma prática ágil útil. Embora o Dono do produto certamente possa usar especificações técnicas em vez de histórias de usuários para criar o Backlog do produto, a maioria dos outros problemas de processo decorre de uma falha em adotar práticas eficazes e ágeis de Scrum.
Vários problemas com seu processo
Seu Scrum parece estar quebrado de várias maneiras, incluindo:
- Suas especificações não possuem um ponto de vista explícito ou proposição de valor.
- Seus itens de backlog não estão vinculados às metas da Sprint.
- Seu processo de preparação do backlog está ausente ou com falha ao criar picos de história para o backlog do produto.
- Seu processo de planejamento da Sprint não decompõe adequadamente os itens do Backlog do produto em itens do Backlog do Sprint.
- Sua equipe não está incluindo adequadamente a incerteza sobre os itens da lista de pendências nas estimativas de planejamento da Sprint.
- Sua equipe não está respeitando os fundamentos do time-boxe ou a integridade do Sprint.
Embora o Scrum nem sempre seja o ajuste certo para cada projeto, nesse caso, seria mais preciso dizer que o Scrum não está funcionando porque a equipe não está realmente fazendo o Scrum. Sua pergunta sobre histórias de usuários é apenas uma pequena parte dos problemas de processo maiores enfrentados por sua equipe.
Por que os programadores ágeis adotam histórias de usuário
As especificações técnicas são uma maneira fundamentalmente quebrada de comunicar requisitos. Os requisitos que não são protegidos do ponto de vista não fornecem nenhuma orientação útil para os desenvolvedores. Usando seus exemplos publicados:
- Reescreva o cache do objeto. Por quê? Qual é o objetivo? Quem recebe o benefício? Quem pode fornecer esclarecimentos sobre a tarefa? Se isso está vinculado a um requisito não-funcional, que objetivo do projeto isso aborda?
- Implemente o log do sistema. Por quê? Quem vai ler os registros? Quais informações os logs precisam conter? Como você saberá se o formato ou os dados do log são úteis?
Do ponto de vista de um desenvolvedor, não poder responder a esse tipo de pergunta leva exatamente ao tipo de problemas do processo que você descreve. É isso que as histórias de usuários fazem: elas fornecem o contexto muito necessário e agem como espaços reservados para conversas adicionais com as partes interessadas ou usuários finais sobre recursos específicos.
Você não deve usar histórias de usuário porque considera um requisito de estrutura ou porque é uma prática ágil amplamente aceita. Em vez disso, você deve trabalhar para criar e usá-los efetivamente, pois isso torna as tarefas de programação mais fáceis e a profissão de programa mais divertida. Sua milhagem pode variar, é claro.