Atteggiamenti che cerco di tenere:
- La fiducia assoluta che causa ed effetto funziona e nulla è magico. Non sta succedendo nulla di strano, solo cose che non capisco.
- Assoluta fiducia nel fatto che se continuo a spingerlo, lo risolverò (questo può comportare portarlo a qualcuno più competente, imparare, chiedere aiuto, duro lavoro, ecc.).
- Brontolare di come un'installazione, un programma o uno scenario sia mal progettato o davvero stupido non aiuta, quindi non farlo. (Lo trovo difficile, brontolare è divertente).
Sono atteggiamenti che mi sono utili da tenere: mi impediscono di alzare le braccia in aria, dichiarare qualcosa di "bizzarro" e poi rinunciare o infelice perché sembra "irrisolvibile".
Modi in cui penso alla risoluzione dei problemi:
- I sistemi hanno molte parti, se sono collegati insieme o configurati casualmente, non funzioneranno come desiderato. Esistono una o due configurazioni molto specifiche che funzioneranno - di tutti i milioni di modi per impilare mattoni e metallo, solo alcuni sono ponti e solo uno o due sono ponti abbastanza buoni. La causa potrebbe essere un personaggio in un file di testo o un server guasto, ma ogni parte deve essere giusta perché l'intera cosa sia giusta. Devo essere disposto ad essere accurato e meticoloso, se necessario. I sistemi non possono fare "lo spettacolo deve continuare".
- Inizi con un intero sistema come una mappa, immagini una nuvola di probabilità fluttuante sulla mappa che rappresenta "dove si trova il problema" e il tuo lavoro consiste nell'utilizzare l'esperienza e trovare prove per allontanare la probabilità da alcune aree e verso altre e condensarlo fino a punti che sono posizioni problematiche ad alta probabilità, quindi attaccare quelli. Questo ritorna al punto di causa ed effetto: il problema è nel sistema, non è magico. È un problema che esiste quindi deve esistere da qualche parte.
- Tutto può essere impostato in qualsiasi modo si desideri. L'unico modo in cui possiamo definire un comportamento come "OK" e un altro come "un problema" è perché ciò che qualcuno sta ottenendo non è quello che vogliono. Devi capire cosa vogliono, cosa stanno ottenendo in modo chiaro e specifico.
Il processo di risoluzione dei problemi:
- Qual è il problema. Assicurati di vederlo accadere e di riprodurlo da solo in modo che non ci siano errori di comunicazione. Così spesso, quando arrivano a me, nel nostro helpdesk ci sono stati problemi con diverse persone, ma nessuno può spiegarmi quale sia realmente il problema.
- È di nuovo una bisection ricorsiva - dividi e conquista, ricerca binaria - ti viene in mente un test che dimostrerà se il problema è questo lato del test, o quel lato, e fai il test in modo che elimini il più possibile. Ripeti fino alla risoluzione.
- Non sapere se puoi evitarlo: meglio bloccare l'account del database e dimostrare che il problema si verifica ancora quando il database non è coinvolto piuttosto che passare ore a imparare come viene utilizzato il database.
- È fin troppo facile ritrovarmi a pensare "Non so cosa fare dopo". Notare quando ciò accade e tornare a venire con i test che individuano il problema.
Internet non funziona? Controlla il problema, scopri che è un sito Web che non riescono a raggiungere. I test rapidi riguardano la loro connessione Internet (funzionante), si carica per me (no). Test rapidi indicano che si tratta del sito. Vedendo che il problema si presenta per me, ho allontanato rapidamente la probabilità dal loro PC, browser, DNS, firewall dell'account dell'account utente, ecc.
Quindi il sito non si carica, e adesso? Non è ancora risolvibile, quindi cerca i luoghi in cui scolpire il problema in uno più piccolo. Il server è acceso? Fa ping? funziona il DNS? Sì. Il servizio risponde sulla porta 80? No. Il servizio è in esecuzione? No. Comincia? No. Fornisce errori nel registro / nei file di registro degli eventi? Sì! Cosa dicono?
Si tratta di una risoluzione dei problemi efficiente e veloce perché è incessantemente incentrato sul restringere l'ambito del problema. Se avessi accettato la loro relazione secondo cui Internet non funziona, sarei fuorviato nel ritenere che si sia verificato un errore di connessione. Se avessi accettato il mio primo avvistamento che non caricava per loro, avrei perso tempo sul loro computer pensando che fosse colpa loro.
Ritaglia pezzi di "cose che non possono essere" il più grandi possibile.
Comprendi il sistema. Più conoscenza generale ho di un sistema, più diventa facile. Laddove ho una comprensione debole, i problemi sono più intimidatori, più difficili, più lenti e più probabilità di finire con una soluzione alternativa rispetto a una correzione o con una soluzione lenta e stupida (reinstallazione) rispetto a una correzione chirurgica piccola e precisa.