Muitas vezes tenho que lidar com clientes ou usuários que estão relatando erros nos aplicativos. Na maioria das vezes, seu conteúdo é algo inútil como
- ERRO!!!
- x não funciona
sem muito mais informação.
Para resolver o problema, tenho que solicitar todos os detalhes deles, o que geralmente consome mais tempo do que corrigir o problema. Outros enviam informações em formatos que não são ideais, como capturas de tela (de registros de dados, não de erros), embora possam enviar um link (temos acesso aos sistemas) e assim por diante.
Como você instrui seus usuários / clientes a descrever os problemas com mais detalhes para que todo o processo seja mais fácil para os dois lados?
editar
Essa pergunta é mais sobre as habilidades sociais, do que sobre como obter uma coleção programática de logs e informações de erro. Estou ciente do fato de que isso deve fazer parte de um bom design de software.
fonte
Respostas:
Recompense seus usuários por bons relatórios de erros, castigue-os por maus (pelo menos um pouco).
O usuário precisa entender que um bom relatório de bug é essencial para você resolver o problema rapidamente e, portanto, também é bom para ele, porque ele obterá a solução muito mais rapidamente.
Portanto, a primeira resposta pode ser algo como "Ok, eu li o seu relatório, mas não sei por onde começar. Você pode me dizer: isso aconteceu uma vez? É um fenômeno recorrente? Você pode tentar o X e me dizer o que Y parece depois disso? " e assim por diante.
Frequentemente, quando as pessoas recebem esse tipo de feedback, dizem a elas o que fazer e dizem (direta ou indiretamente) o que não fizeram em primeiro lugar. Talvez não imediatamente, mas quanto mais relatórios eles apresentarem, mais eles (muitas vezes inconscientemente) antecipam o que você vai perguntar e fornece a resposta diretamente.
Sim, este é um processo passo a passo e não solucionará todos os problemas de comunicação até amanhã de manhã, mas é um começo.
fonte
Uma coisa que eu já vi vários projetos de código-fonte aberto é escrever um "formulário" padrão para relatórios de erros, com seções para informações geralmente necessárias.
Se você tem um site ou aplicativo de relatório de erros ao qual seus clientes têm acesso, veja se você pode tornar uma versão em branco dele o texto padrão do campo de descrição do erro. Caso contrário, coloque-o em algum lugar onde eles possam encontrá-lo (ou onde você pode apontá-los), por exemplo, no seu site ou no diretório de instalação do seu produto.
Para o seu caso, isso pode ser algo como:
("Você" aqui se refere aos clientes)
A idéia é incentivá-los a fornecer informações úteis, fornecendo uma lista do tipo de informação mais frequentemente útil.
fonte
Normalmente, peço uma captura de tela do erro todas as vezes e, eventualmente, eles começam a me enviar a captura de tela com a solicitação de erro, porque sabem que vou pedir.
Ainda preciso chamá-los para obter mais informações de vez em quando, mas muitas vezes vejo o problema apenas olhando para a captura de tela
Mas eu concordo com o comentário de @ Mahmoud de que a melhor maneira é fazer com que o aplicativo envie erros, em vez de confiar nos usuários.
fonte
A opinião pessimista: você não pode. É a mesma situação de 40 anos antes, exceto que há mais usuários, mais sistemas, mais aplicativos.
(Observe que um pessimista é apenas um otimista com experiência.)
fonte
Torne mais fácil para eles fazerem ou não.
De preferência, faça da maneira mais fácil que eles possam relatar um erro da maneira que fornece as informações necessárias. Isso quase certamente significa automatizar o processo de relatório de erros no software.
Manter um arquivo de log detalhado e anexá-lo ao relatório de erros é um começo.
fonte
Quando você terminar a conversa com o cliente, diga a eles "Da próxima vez que isso acontecer, tenha os dados A, B, C, etc. prontos para mim". Obviamente, isso só funciona se esses clientes forem os mesmos que ligam repetidamente. Eu tive sucesso com essa abordagem, na qual os usuários aprenderam certas coisas importantes que a) acelerariam a ligação, b) tornariam a resolução geral muito mais rápida.
Se a maioria deles for chamada única, talvez seja melhor atualizar o "ERRO!" tela com o texto que diz "Você deve reunir os itens de dados A, B, C, ... antes de falar com nossos representantes". Isso realmente dependerá de quanto controle você tiver sobre o aplicativo, portanto, pode não ser possível. Este também não é um caminho certo, mas espero que isso leve a idéia à cabeça do cliente, gritando "ERRORZ PLZ HLP !!!" não é o suficiente.
fonte
O problema com mensagens de erro em aplicativos modernos é que é praticamente impossível incluir todo o contexto que possa ser relevante. Qualquer coisa, desde a arquitetura do processador até a hora do dia, pode ser relevante, e é por isso que o relatório e o tratamento de erros são mais arte do que ciência. Sistemas como
apport-bug
são úteis, pois coletam informações relevantes e as enviam a você. Infelizmente, até os dias de replicadores de matéria, viagens no tempo e compensadores Heisenberg, não há como ter certeza de que as informações que você obtém dos usuários serão suficientes para depurar ou mesmo reproduzir o problema.fonte
Registre tudo o que você precisa . Temos um arquivo de log contínuo de x mb. Se algo ruim acontecer, o usuário envia o arquivo de log e, com frequência, isso é suficiente para corrigir um problema.
Outra opção é usar um cliente de área de trabalho remota para verificar por si mesmo o que está errado. Hoje em dia, é tão fácil quanto permitir que o cliente baixe um exe.
fonte
Você terá que fazer perguntas pontuais e ser muito exigente delas para lhe dar todas as respostas. Às vezes, a queixa do problema é intercalada com os planos para o fim de semana, com o outro significativo ou com o clima. Tente mantê-los na tarefa e pergunte: "Ok, quando você faz X, mas não faz Y, o que acontece?" Anote as respostas deles para começar a construir um diagrama de seqüência de eventos que você poderá posteriormente voltar e depurar.
fonte
Você pode investir algum tempo e adicionar um botão vermelho "Informar um bug" no canto superior direito do seu aplicativo. Quando um usuário pressiona o botão, tente capturar a tela, colete todos os logs disponíveis para a sessão (pode valer a pena) abrir o compartilhamento direto de tela para a tela do usuário, mostrar a ele o formulário simples e enviar dados automaticamente para o servidor.
-Tente perguntar ao usuário o mínimo possível se seu aplicativo pode obter dados em si. Resolução de tela, versão do SO, nome de usuário, login, últimas ações e logs
- Atribua um ticket a um usuário e forneça um link para ele, para que ele saiba que possui o número de bug 1234 em www.yoursite.issues / 1234
-Pergunte ao usuário o que ele tentou alcançar.
Acho que tudo isso em conjunto, ou mesmo parcialmente, pode ajudá-lo a receber dados suficientes e mostrar ao usuário que ele pode ajudá-lo a melhorar ainda mais seu software.
fonte
A maneira mais fácil é usar uma ferramenta que possa "entender" o que realmente o cliente deseja. Existem muitas ferramentas, mas talvez o melhor seja o Usersnap. Veja esta história aqui.
fonte