Ingeniería de software de ELITE

Comparta esto post

Esto es lo que te hará un mejor desarrollador de software

edgarfernandezr.substack.com

Discover more from Ingeniería de software de ELITE

Soluciones a problemas comunes en equipos de desarrollo de software
Continue reading
Sign in

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

Edgar Fernández
3 jul 2023
Comparta esto post

Esto es lo que te hará un mejor desarrollador de software

edgarfernandezr.substack.com
Compartir

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.

¡Suscríbete a Ingeniería de software de ELITE!

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.

a black and white photo of the word boo on a machine
Photo by Scott Rodgerson on Unsplash

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!

Leave a comment


  • ¿Quieres implementar estas mejoras, pero no sabes cómo? Te presento dos alternativas:

    • El programa ELITE que tenemos en aprendIS

    • 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!

Comparta esto post

Esto es lo que te hará un mejor desarrollador de software

edgarfernandezr.substack.com
Compartir
Anterior
Siguiente
Comentarios
Superior
Nuevo
Comunidad

No Post

¿Listo para más?

© 2023 Edgar Fernández
Privacidad ∙ Términos ∙ Aviso de colección
Comience a EscribirObtenga la App
Substack es el hogar para la gran escritura