Esto es lo que te hará un mejor desarrollador de software
En el primer artículo de esta serie, te compartí que hubo un cambio en mi forma de trabajo y mi actitud al desarrollar software, que me hizo un mejor desarrollador
En el primer artículo de esta serie, te compartí que hubo un cambio en mi forma de trabajo y mi actitud al desarrollar software, que me hizo un mejor desarrollador.
En este artículo, quiero contarte qué fue eso que aprendí, con respecto a la gestión de la calidad, que hizo la gran diferencia en el módulo que estimé para dos terminar en semanas y concluí en solo cuatro días.
Cero defectos en producción
La creencia de que “El software siempre tendrá defectos (bugs)” es errónea. Cuando menos, nuestra actitud respecto a la calidad del software debe ser la de Cero defectos en producción.
Si nunca lo has vivido, esta afirmación debe parecerte imposible. A mí también me pareció imposible lograr que mis programas aprobaran testing a la primera, pero empecé a lograrlo consistentemente. Acompáñame en el resto del artículo para decirte cómo.
Conoce tus patrones de inserción y remoción de defectos
Mencioné que creer que el software siempre tendrá defectos es errónea, sin embargo, el ser humano es muy propenso a cometer errores. Parece una contradicción: si el ser humano siempre comete errores, es lógico que el software siempre tendrá bugs. No lo es, si el desarrollador tiene el compromiso de Cero defectos en producción.
Una práctica que aprendí para mejorar mi desempeño fue la de conocer mis patrones de inserción y remoción de defectos. Durante algunas semanas, registré minuciosamente toda la información de los defectos que arreglaba con estos datos:
En qué actividad / fase del trabajo lo inserté
En qué actividad / fase lo detecté y arreglé
Qué tipo de defecto era y qué lo causó
Cuánto tardé en arreglarlo
De ese registro aprendí que todos mis defectos eran descubiertos en testing y producción (ninguna sorpresa en ello). Lo primero que llamó mi atención es que el tiempo que pasaba en testing y arreglando defectos era casi el mismo al que pasaba desarrollando; incluso, a veces era mayor el de testing y arreglo. Lo segundo que me llamó la atención era el origen de la mayoría de los defectos: no era en la actividad de codificación, sino antes de escribir código. Es decir, por default estaba escribiendo código defectuoso, a pesar de escribirlo correctamente en el lenguaje de programación. Esos bugs eran los más costosos y tardados en arreglar.
Con este simple registro, definí un plan de acción, que fue el que me permitió terminar en cuatro días un módulo que estimé para dos semanas.
Cambia tus patrones incluyendo la prevención de defectos
Mi plan contenía un objetivo solamente: evitar que el 70% de los defectos que insertaba en mi código llegaran a testing.
Diseñé una estrategia: después de terminar cada actividad importante, como diseñar los algoritmos y escribir el código, revisaría minuciosamente los artefactos para buscar mis errores más comunes.
También, basándome en mis registros, hice un checklist para guiarme en la búsqueda. Este artefacto contenía la lista de mis defectos más comunes y cómo identificarlos.
Todo esto, al principio, hizo parecer que tardaba más en empezar a probar y que tardaría más en entregar, sin embargo, estos fueron los resultados:
El 85% de todos los defectos que aparecieron fueron detectados y arreglados antes de testing
Cero defectos fueron reportados en las pruebas de aceptación del usuario
Cero defectos fueron reportados en Producción mientras el módulo estuvo activo
El módulo fue completado en menos de la mitad del tiempo que se había estimado
El usuario estaba deleitado con la solución
Antes de concluir hoy
Como te dije en el primer artículo, no aprendí algo técnico y mejoré con ello. Sin embargo, la excelencia técnica sigue siendo necesaria. Algunos de los defectos que registré tenían como causa “desconocer tal o cual parte del lenguaje”, pero eran la menor cantidad.
Aceptar que la mayoría de los defectos eran causados por mí, no por un tercero, hizo un cambio grande, pero este se concretó cuando asumí lo más importante:
Mi compromiso es la alta calidad y mi objetivo es el de Cero defectos en producción.
¿Qué vas a hacer para cambiar tu actitud hacia la calidad del software hoy? ¡Compártemelo en los comentarios!
¿Quieres implementar estas mejoras, pero no sabes cómo? Te presento dos alternativas:
Una consulta profesional de 1 hora, para discutir problemas individuales y encontrar respuestas.
¡Únete al grupo de facebook para compartir ideas con otros profesionales de Élite!