Actitudes que intento mantener:
- La absoluta confianza de que causa y efecto funciona y nada es mágico. No pasa nada que sea realmente extraño, solo cosas que no entiendo.
- Confianza absoluta de que si sigo presionándolo, lo resolveré (esto puede implicar llevarlo a alguien más conocedor, aprender, pedir ayuda, trabajo duro, etc.).
- Quejarse de cómo una configuración, programa o escenario está mal diseñado o es realmente estúpido simplemente no ayuda, así que no lo hagas. (Me parece difícil, quejarse es divertido).
Estas son actitudes que son útiles para mí: me impiden lanzar mis brazos en el aire, declarar algo "extraño" y luego rendirme o sentirme infeliz porque se siente "irresoluble".
Formas en que pienso sobre la resolución de problemas:
- Los sistemas tienen muchas partes, si están conectados entre sí o configurados al azar, entonces no funcionarán como se desea. Hay una o dos configuraciones muy específicas que funcionarán: de todas las millones de formas de apilar ladrillos y metal, solo unas pocas son puentes y solo una o dos son puentes suficientemente buenos. La causa podría ser un carácter en un archivo de texto o un servidor fallido, pero cada parte debe ser correcta para que todo sea correcto. Necesito estar dispuesto a ser minucioso y meticuloso si es necesario. Los sistemas no pueden hacer "el show debe continuar".
- Comienzas con un sistema completo como un mapa, imaginas una nube de probabilidad flotando sobre el mapa que representa "dónde está el problema" y tu trabajo es usar la experiencia y encontrar pruebas para alejar la probabilidad de algunas áreas y hacia otras y para condensarlo en puntos que son ubicaciones de problemas de alta probabilidad, luego atacarlos. Esto vuelve al punto de causa y efecto: el problema está en el sistema, no es mágico. Es un problema que existe, por lo que debe existir en alguna parte.
- Cualquier cosa se puede configurar de la manera que cualquiera quiera. La única forma en que podemos definir un comportamiento como "OK" y otro como "un problema" es porque lo que alguien está obteniendo no es lo que quiere. Debes entender lo que quieren, lo que obtienen de manera clara y específica.
El proceso de resolución de problemas:
- Cuál es el problema. Asegúrese de ver que sucede y puede reproducirlo usted mismo para que no haya errores de comunicación. Muy a menudo, los problemas han pasado por varias personas en nuestro servicio de asistencia para cuando llegan a mí, pero nadie puede explicarme cuál es realmente el problema.
- Es una bisección recursiva de nuevo: divide y vencerás, búsqueda binaria. Se te ocurre una prueba que demostrará si el problema está en este lado de la prueba, o en ese lado, y haces la prueba para que elimine lo más posible. Repita hasta que se resuelva.
- No aprenda si puede evitarlo: es mejor bloquear la cuenta de la base de datos y demostrar que el problema aún ocurre cuando la base de datos no está involucrada que pasar horas aprendiendo cómo se usa la base de datos.
- Es demasiado fácil encontrarse pensando "No sé qué hacer a continuación". Observe cuándo sucede eso y vuelva a encontrar pruebas que ubiquen el problema.
¿Internet no funciona? Comprueba el problema, encuentra que es un sitio web al que no pueden acceder. Las pruebas rápidas implican su conexión a Internet (en funcionamiento), ¿me carga (no)? Las pruebas rápidas apuntan a que es el sitio. Al ver que el problema me sucede, he alejado rápidamente la probabilidad de su PC, navegador, DNS, firewall de la oficina de cuentas de usuario, etc.
Entonces el sitio no se carga, ¿y ahora qué? Eso aún no se puede arreglar, así que busque lugares para dividir el problema en uno más pequeño. ¿Está encendido el servidor? ¿Hace ping? funciona DNS? Sí. ¿Responde el servicio en el puerto 80? No. ¿Se está ejecutando el servicio? No. ¿Comienza? No. ¿Da errores en el registro de eventos / archivos de registro? ¡Sí! ¿Qué dicen ellos?
Esta es una solución de problemas eficiente y rápida porque se enfoca implacablemente en reducir el alcance del problema. Si aceptara su informe de que Internet no funciona, me equivocaría al pensar que es un fallo de conexión. Si aceptara mi primer avistamiento de que no se carga para ellos, perdería el tiempo en su computadora pensando que es la culpa.
Forme trozos de "cosas que no pueden ser" lo más grande posible.
Comprende el sistema. Cuanto más conocimiento general tengo sobre un sistema, más fácil se vuelve. Donde tengo una comprensión débil, los problemas son más intimidantes, más difíciles, más lentos y más propensos a terminar con una solución alternativa que una solución, o con una gran solución lenta tonta (reinstalar) que una solución quirúrgica pequeña y precisa.