Atitudes que tento manter:
- Confiança absoluta que causa e efeito funciona e nada é mágico. Nada está acontecendo que é realmente estranho, apenas coisas que eu não entendo.
- Confiança absoluta de que, se eu continuar insistindo, resolverá (isso pode envolver levá-lo a alguém mais qualificado, aprendendo, pedindo ajuda, muito trabalho, etc.).
- Resmungando sobre como uma configuração, programa ou cenário é mal projetado ou realmente estúpido simplesmente não ajuda, então não faça isso. (Eu acho isso difícil, resmungando é divertido).
Estas são atitudes que são úteis para eu segurar - elas me impedem de jogar meus braços para o alto, declarando algo "bizarro" e depois desistindo, ou ficando infeliz porque parece "insolúvel".
Maneiras de solucionar problemas:
- Os sistemas têm muitas partes, se eles estiverem conectados juntos ou configurados aleatoriamente, eles não funcionarão como desejado. Há uma ou duas configurações muito específicas que funcionarão - de todas as maneiras de empilhar tijolos e metal, apenas algumas são pontes e apenas uma ou duas pontes são boas o suficiente. A causa pode ser um caractere em um arquivo de texto ou em um servidor com falha, mas cada parte precisa estar certa para que a coisa toda esteja certa. Eu preciso estar disposto a ser minucioso e meticuloso, se necessário. Sistemas não podem fazer "o show deve continuar".
- Você começa com um sistema inteiro como um mapa, imagina uma nuvem de probabilidade flutuando sobre o mapa representando "onde está o problema" e seu trabalho é usar a experiência e encontrar testes para afastar a probabilidade de algumas áreas e em relação aos outros e condensá-lo em pontos que são locais de alta probabilidade, atacando-os. Isso volta ao ponto de causa e efeito - o problema está no sistema, não é mágico. É um problema que existe, portanto deve existir em algum lugar.
- Qualquer coisa pode ser configurada da maneira que alguém quiser. A única maneira que podemos definir um comportamento como "OK" e outro como "um problema" é porque o que alguém está recebendo não é o que eles querem. Você deve entender o que eles querem, o que eles estão recebendo de forma clara e específica.
O processo de solução de problemas:
- Qual é o problema. Certifique-se de que está acontecendo e pode reproduzi-lo por si mesmo para que não haja falhas de comunicação. Muitas vezes os problemas já passaram por várias pessoas no nosso helpdesk quando chegam a mim, mas ninguém consegue me explicar qual é realmente o problema.
- A bisseção recursiva é mais uma vez - dividir e conquistar, busca binária - você faz um teste que prova se o problema é deste lado do teste, ou daquele lado, e faz o teste para eliminar tanto quanto possível. Repita até resolver.
- Não saiba se você pode evitá-lo - é melhor bloquear a conta do banco de dados e provar que o problema ainda acontece quando o banco de dados não está envolvido do que passar horas aprendendo como o banco de dados é usado.
- É muito fácil me encontrar pensando "Eu não sei o que fazer a seguir". Observe quando isso acontecer e volte a fazer testes que localizem o problema.
A Internet não está funcionando? Verifique o problema, ache que é um site que eles não podem acessar. Testes rápidos envolvem sua conexão com a internet (funcionando), isso me carrega (não). Testes rápidos apontam para o site. Ao ver que o problema acontece para mim, afastei a probabilidade rapidamente do seu PC, navegador, DNS, firewall de escritório de conta de usuário, etc.
Então o site não carrega, e agora? Isso não pode ser corrigido ainda, então procure locais para dividir o problema em um menor. O servidor está ligado? Faz ping? o DNS funciona? Sim. O serviço responde na porta 80? Não. O serviço está em execução? Não. Começa? Não. Isso gera erros no log de eventos / arquivos de log? Sim! O que eles dizem?
Esta é uma solução de problemas eficiente e rápida porque está incansavelmente focada em reduzir o escopo do problema. Se eu aceitasse o relato de que a internet não está funcionando, eu estaria equivocado em pensar que é uma falha de conexão. Se eu aceitasse meu primeiro avistamento que ele não carrega para eles, eu perderia tempo com o computador deles achando que estava com defeito.
Crie pedaços de "coisas que não podem ser" tão grandes quanto possível.
Entenda o sistema. Quanto mais conhecimento geral eu tenho sobre um sistema, mais fácil fica. Onde eu tenho um entendimento fraco, os problemas são mais intimidadores, mais difíceis, mais lentos, e mais propensos a acabar com uma solução do que com uma correção, ou com uma grande correção lenta (reinstalar) do que uma correção cirúrgica pequena e precisa. p>