Principios para cambiar los procesos del software

Me encuentro leyendo “Managing the Software Process” de Watts S. Humphrey, donde el autor describe de una manera tan sencilla los principios necesarios para la mejora de procesos del software, que he decidido exponerlos en este post. Espero que a más de uno le atrape este tema, y realmente pueda aplicarlo (en la meda de lo posible) en su actividad cotidiana.

Por mi parte siempre he considerado que la industria del software debe ser profesional, de calidad y competitiva. Pensamiento que a pesar de ver muy poca práctica en el día a día, cuando uno acude a lecturas de la talla como la que referencio, no hace más que reafirmar ese principio.

Cambio del proceso de software
Cuando hablamos del proceso de software nos referimos al conjunto de herramientas, métodos y prácticas que usamos para construir productos de software. En este marco, la industria del software debe considerar como paso inicial considerar a este proceso de forma tal que sea controlado, medido y mejorado.

Ahora, se debe tener en claro que mientras la gestión de procesos provee bases poderosas para atender los problemas del software y un framework consistente para la mejora de la organización, ésto no es la “bala de plata”.

Marco de mejora
Una organización que produzca software y desee aplicar mejoras en sus procesos deberá:

  1. Comprender el estado de actual de sus procesos.
  2. Desarrollar una visión de los procesos deseados.
  3. Priorizar las acciones de mejora de proceso requeridos para lograr la visión.
  4. Producir un plan para cumplir dichas acciones.
  5. Disponer los recursos para ejecutar el plan, y hacerlo.
  6. Volver al paso 1.

Principios para cambiar los procesos del software

  • Debe ser una decisión de los líderes de la organización, quienes deben mantener en el tiempo los recursos y la prioridad de la iniciativa.
  • Todos deben estar involucrados
  • Un cambio efectivo requiere conocer el proceso o estado actual. “Para usar un mapa, uno debe saber dónde está.”
  • El cambio es continuo.
  • Adopción, acostumbramiento y disciplina. Se requiere esfuerzo para generar conciencia y un frecuente recordatorio del marco en el que se encuentra la organización.
  • El cambio requiere recursos e inversión.
    • Para realizar la mejora, alguien debe trabajar en ello.
    • No se puede iniciar la mejora sin un plan.
    • Implantar un proceso mal definido, producirá malos resultados.
    • Las mejoras deben lograrse de a poco, a pasos probados.
    • Capacitar, capacitar y capacitar.

Como puede verse, no parece tan imposible. No es algo inviable. Y no es un mero gasto. Pero es claro que es una decisión de management. Es algo que va más allá de lo técnico, de lo bueno que se sea construyendo software, o del talento especial de alguno de nuestros programadores.

Espero sus opiniones y comentarios al respecto.

Leave a Reply