Lidar com o feedback do usuário é fundamental para a experiência do usuário, mas também se aplica a diferentes partes do aplicativo de maneiras diferentes.
Veja os dois exemplos a seguir:
Uma história pode se concentrar em uma interação direta do usuário na qual ocorre um erro fatal. Uma caixa de diálogo modal é usada para informar o usuário sobre o erro e notificar que a recuperação é impossível. A história para isso seria: "Como usuário, quero ser informado sobre uma entrada inválida de algum formulário de dados para que eu possa voltar e corrigir esse erro imediatamente" . Esta história de usuário implica que este é um erro fatal de bloqueio que o usuário precisa corrigir imediatamente.
Em uma segunda história, o usuário esquece de inserir dados obrigatórios em um formulário. A história seria: "Como usuário, quero que os campos ausentes de uma entrada sejam destacados para que eu saiba quais são os campos obrigatórios".
Essa notificação sutil é muito diferente e não pode ser combinada com a primeira história em uma história geral de manipulação de erros. No entanto, ambos podem surgir de exceções internas.
Lembre-se de que é importante transmitir o "quê" de uma história, por exemplo, o cenário de erro que deve ser tratado em uma situação específica. O como do erro (ou seja, uma exceção está sendo lançada em algum lugar) é quase irrelevante para o proprietário do produto, pois não possui valor comercial. Do ponto de vista técnico, ter uma arquitetura sólida é algo que eu esperaria do meu produto de qualquer forma.
No final, você ganhará flexibilidade e extensibilidade concentrando-se no valor comercial e terá histórias de usuários pequenas e bem separadas .