martes, diciembre 13, 2016

Tarjetas que ayudan a identificar y remover impedimentos: Impediment Cards



Hola a todos

En un gran equipo del cual tuve la fortuna de ser parte de ellos durante un año como Scrum Master generamos una base de conocimiento para ayudar a identificar impedimentos en el proceso de desarrollo, de forma que la consultaba el team member:

  • cuando algo no funcionaba
  • cuando no sabíamos que pasaba con el sistema
  • cuando estaba el desarrollador bloqueado y no se le ocurría como solucionar el impedimento
  • y en especial para ayudar a los novatos en su búsqueda de respuestas, pues muchas veces estos no querían cubrir su curva de aprendizaje y preguntan incesantemente al programador experto hasta colmarle la paciencia (¿o no les ha ocurrido esto en sus equipos?).
La estrategia consistía en primero revisar la base de conocimiento y si esta no ayudaba a resolver el problema, sí pedir ayuda a un compañero experimentado, o a todo el equipo en pleno. (en algunas ocasiones a los novatos, sino cumplían revisar la base de conocimiento no se les ayudaba - este fue el acuerdo de equipo -).

Esta base de conocimiento decidimos que en vez de manejarla como una lista de verificación (o checklist), sería un grupo de tarjetas individuales con una pregunta a ser resuelta o que da pistas de donde buscar el error o problema al cual se esta enfrentando el desarrollador o team member, poco a poco fuimos engrosando las tarjetas a medida que nos encontrábamos con problemas típicos o ganábamos experiencia. A continuación les comparto el listado que contenía el mazo de cartas "Impediment Cards":

  • ¿Revisaste los webconfig, web.xml o el xml de configuración de la aplicación?
  • ¿Leíste bien el mensaje de error?
  • Insisto: ¿Leíste bien el mensaje de error y comprendiste que te decía?
  • ¿las IP son las correctas?
  • ¿el proxy lo está bloqueando?
  • Si es un bug ¿le preguntaste el correcto funcionamiento al Product Owner?
  • ¿revisaste si las contraseñas cambiaron?
  • No tiene lógica pero: reiniciaste ¿el IDE, El PC, El server, y/o bd?
  • ¿borraste caché?
  • ¿Reiniciaste el server para que reflejara los cambios?
  • ¿Seguro revisaste detalladamente el archivo de configuración?
  • ¿Tienes correctamente instaladas las dependencias?
  • ¿hiciste una correcta conversión de tipo de dato?
  • ¿será que el puerto o la IP están bloqueados en tu PC o en el Server?
  • ¿el usuario de cualquiera de los sistemas le quitaron o expiraron los permisos?
  • ¿Verifique si la versión del software es la soportada?
  • ¿el usuario tiene permisos / no tiene permisos?
  • ¿los servicios, bases de datos, etc apuntan a la dirección correcta o al ambiente correcto?
  • ¿la memoria RAM esta copada?
  • ¿el disco duro esta copado?
  • ¿soportamos la versión del navegador y/o del sistema operativo?
  • ¿los sistemas base tienen los parches?
  • ¿se encuentra sobre la versión del framework correcta?
  • ¿la versión del sistema operativo es la soportada?
  • ¿la versión sobre la cual se reporta el problema AUN DAMOS SOPORTE SOBRE ELLA?
  • ¿El tipo de dato en el software es el mismo que en la base de datos?
  • ¿las trazas, logs corresponden a la fecha de análisis del problema (fecha y rangos correctos)?
  • ¿hiciste copy-paste?, si es así, ¿no te parece mejor crear una clase, método que haga lo mismo?
  • Si la consulta esta lenta: ¿el procedimiento almacenado o consulta tiene un MAX, sobre una tabla de millones de registros?
  • ¿revisaste la documentación oficial del framework o componente?
  • ¿revisaste si el problema es de TIPO DE DATO?
  • ¿buscaste en Google?
  • ¿leiste bien el mensaje de error o log? ¿lo entendiste?
  • ¿lo solicitado se encuentra dentro de la garantía o del alcance del proyecto?
  • ¿estás lanzando y capturando la excepción?
  • ¿estás en el BRANCH correcto del proyecto o versión?
  • ¿hiciste DEBUG paso a paso?
  • ¿estás trabajando con las últimas versiones de los fuentes?
  • ¿revisaste conectividad, (incluido el cable)?
  • ¿la tabla tiene índices?
  • ¿borraste las cookies? (Fuente: Heimar Vega)
  • ¿borraste el historial del explorador? (Fuente: Heimar Vega)
  • ¿Se desplegó la versión correcta?(Fuente: Heimar Vega)
  • ¿Se ejecutaron las pruebas unitarias? (Fuente: Heimar Vega)
  • ¿verificaste estar conectado a la vpn? (Fuente: Anónimo)
  • ¿Verificaste si el servicio está operativo? (Fuente: Anónimo)
  • ¿Verificaste si la estructura del wsdl es la misma? (Fuente: Anónimo)
  • Problemas de rendimiento : Millones de registros , sugiere el uso de tablas históricas
  • ¿Todos los componentes de la solución corresponden a la misma versión?
  • ¿el web server se encuentra arriba? ¿la base de datos se encuentra arribla? ¿hiciste PING?
  • ¿preguntaste si esto había ocurrido antes?
  • Penúltima opción: Seguro: ¿buscaste en Google?
  • Última opción: No siendo más, pregúntale a un compañero
Estas cartas estaban disponibles en el "lugar o zona lúdica del equipo", allí donde teníamos fotos, chistes para leer, dibujos para colorear y descansar, entre otras cosas (¿tienes un espacio para tu equipo en tu zona de trabajo?, es una buena práctica y genera cohesión e identidad de equipo)

Hasta acá este pequeño y poderoso compartir, si tienes más causas de impedimentos típicas que puedas compartirme para agrandar la lista te lo agradecería, y si lo ves útil compártelo y con base en este listado crea tu propio mazo de cartas de Impediment Cards.


Saludos ágiles

Jorge Abad

3 comentarios:

  1. Super Hernan, para complementar podrías validar quizás si borraron las cockies, historial del explorador. Se desplegó la versión correcta. Se ejecutaron las pruebas unitarias.

    ResponderEliminar
  2. Gracias Heimar por tu aporte, lo pondre y te referenciaré.. saludos

    ResponderEliminar
  3. Hernán un aporte: Verificaste que estás conectado a la VPN? Verificaste si el servicio está operativo? Verificaste si la estructura del wsdl es la misma?

    ResponderEliminar