2. Definición
El Proceso de mejora continua es un concepto originado a partir de mediados del
siglo XX que pretende introducir mejoras en los productos, servicios y procesos.
La mejora continua intenta optimizar y aumentar la calidad de un producto,
proceso o servicio. Es una forma de trabajar para hacer más productivo y agradable
nuestro sitio de trabajo. Además tiene la gran ventaja que lo podemos hacer en lo
personal o lo podemos llevar a gran escala aplicando otras metodologías ideadas
para varios tipos de procesos.
3. Requisitos
La mejora continua requiere que se cumplan algunos aspectos en el ambiente de trabajo:
Apoyo en la gestión.
Retroalimentacion (Feedback) y revisión de los pasos en cada proceso.
Claridad en la responsabilidad.
Poder de decisión para el trabajador.
Forma tangible de realizar las mediciones de los resultados de cada proceso.
La mejora continua como una actividad sostenible en el tiempo y regular y no como un arreglo
rápido frente a un problema puntual.
Proceso original bien definido y documentado.
Participación de los responsables del proceso.
Transparencia en la gestión.
Cualquier proceso debe ser acordado, documentado, comunicado y medido en un marco temporal
que asegure su éxito.
4. Metodologías
Existen 3 metodologías que se utilizan para la mejora continua, aplicables al desarrollo
de software:
Ciclo de Deming
Kaizen
Katas
5. Ciclo de Deming
Es uno de los ciclos de mejora continua más conocido y utilizado, debido a su
sencillez, ya que plantea que cualquier proceso debe pasar por las siguientes fases:
planificar, hacer, verificar y actuar, de manera repetitiva. Esto permite no solo que
el aprendizaje sea progresivo a lo largo del tiempo, aprendiendo algo al final de
cada ciclo (actuar) sino que se pueda aplicar a cualquier ámbito.
6. Kaizen
Se trata de una filosofía de origen japonés pensada para su aplicación a nivel
global de una empresa o incluso a nivel personal.
Se basa en un enfoque caracterizado por los siguientes rasgos distintivos:
Mejora en pequeños pasos
Mejora sin grandes inversiones
Mejora con la participación de todos los miembros de la organización
Mejorar actuando, implantando rápidamente las mejoras
7. Kata
Plantea la mejora continua a través de modelos de práctica y repetición.
Kata persigue la utilización a ciclo continuo y repetido de las técnicas Deming y
Kaizen, así añadiendo valor al término “Continua” propio del tipo de mejora que
nunca alcanza su fin, sino siempre encuentra nuevas oportunidades de mejora.
8. Aplicando Mejora Continua en equipos de
desarrollo de software
Un ejemplo de aplicación de la mejora continua es aplicarla en equipos de
desarrollo basado en metodología Agile, como Scrum, esto por:
Los equipos basados en metodología Scrum están dispuestos al cambio y al
aprendizaje continuo.
En Scrum los ciclos se llaman Sprints, y calzan con los ciclos de mejora que se
mencionan en Deming, Kaizen o Kata, en combinación con las reuniones de
Scrum: Planning meeting (planificar), Daily meeting (hacer), Retrospective
meeting (verificar) (la Planning meeting del siguiente sprint o ciclo se
correspondería con actuar).
El equipo Scrum tiene responsabilidades a la hora de enfrentarse a cada ciclo
(sprint) que se traduce en una mayor motivación, ya que se siente más autónomo a
la hora de identificar posibles acciones de mejora y también a la hora de
implantarlas.
9. Aplicando Mejora Continua en equipos de
desarrollo de software
Otro ejemplo de aplicar mejora continua en desarrollo de software es la
automatización de pruebas, basado en metodología XP, esto, si y solo si, la
inversión en automatización esta compensada en el retorno (caso de negocio del
producto a desarrollar)
Para realizar la implantación de esta automatización de pruebas utilizaremos las
herramientas:
Integración continua y automatización de despliegues: Jenkins, Hudson, Bamboo
Construcción de proyectos y ejecución automática de pruebas: Maven, Gradle
Control de versiones y código fuente: Git, SVN
Automatización de pruebas: Junit, Selenium, SonarQube
10. Conclusiones
La mejora continua ha sido definido por diferentes teorías que se complementan
unas con las otras y que han permitido llegar a una definición completa de
herramientas y procesos a utilizar para alcanzar el objetivo de mejora.
El concepto en sí, es algo muy común y que todos nosotros como personas
ejecutamos tarde o temprano a lo largo de nuestra vida.
Referente a las metodologías agile, que utilizan los equipos de desarrollo de
Software Scrum se enfoca en los procesos para la gestión eficiente de un
equipo, eXtreme Programming mueve su foco hacia la repetición de las técnicas
más exitosas aplicadas para el desarrollo de software, llevando estas técnicas a su
extremo y persiguiendo un continuo aumento de la productividad y calidad del
software producido.