Medea Tech Agency | Mejora continua en desarrollo de software
17051
single,single-post,postid-17051,single-format-standard,ajax_fade,page_not_loaded,,qode-theme-ver-7.5,wpb-js-composer js-comp-ver-4.5.3,vc_responsive

Mejora continua en desarrollo de software

muestra 20

26 Nov Mejora continua en desarrollo de software

Según Wikipedia, el proceso de mejora continua se define como una actitud general basada en asegurar la estabilización del proceso y la posibilidad de mejora del mismo. En otras palabras, la mejora continua es intentar optimizar y aumentar la calidad de un producto, proceso o servicio a través de la evolución de los procesos

Con el proceso de mejora continua, se cambió un paradigma de trabajo, un nuevo modelo aplicable no solo al desarrollo de software sino también incluso a la vida personal. Gracias a su implementación continuada podremos mejorar de forma incremental la calidad y eficiencia de nuestros procesos y actividades.

El proceso de mejora continua en cualquier ámbito está basado en el círculo de Deming:

Planificar: primera etapa del proceso y donde se establecen las actividades necesarias para la mejora.

Hacer: etapa donde se inicia la implementación de las mejoras propuestas en la fase previa.

Comprobar: verificación del correcto funcionamiento de las mejoras implementadas.

Actuar: estudio de los resultados y análisis de cumplimiento de los objetivos iniciales planteados.

La importancia del proceso reside en realizarlo de forma cíclicla, aprendiendo y mejorando en cada una de las fases con la finalidad de hacerlo mejor en el siguiente ciclo. Se mejores día a día analizando los resultados de los errores realizados anteriormente.

La mejora continua y Kaizen

Kaizen es considerado como uno de los métodos de mejora continua más utilizados debido a ser aplicable en todos los ámbitos. Procedente del término japonés Kai “cambio” y Zen “bueno”, tiene como objetivo mejorar los procesos involucrando a todos los integrantes del equipo.

Originada después de la segunda guerra mundial debido a las dificultades que sufría la industria japonesa, esta metodología reside en la idea de la eliminación de residuos del proceso mediante la ejecución continua de mejoras.

Muchas prácticas y metodologías se encuentran relacionadas con la filosofía de la mejora continua en Kaizen, encontramos vínculos con:

  • Just in Time (JIT)
  • El métododo de las 5’s (5S)
  • Círculo de calidad (QC)

¡Hoy mejor que ayer, mañana mejor que hoy!

Katas

Otro método utilizado para la mejora continua en el desarrollo de software son la Improvement Katas. Este proceso de mejora continua se basa en los modelos de prácticas y en la repetición de los mismos.

Utilizadas normalmente en la práctica de artes marciales con la finalidad de memorización de golpes y movimientos, es aplicable también al desarrollo del software. La repetición de los procesos provocan una interiorización de los mismos así como una mejora instintiva de aprendizaje mejorado.

Se basa en 4 pasos:

  • Comprensión: Entender lo que realmente queremos mejorar
  • Estado actual: Saber en que posición nos encontramos actualmente
  • Objetivo: Establecer cual es realmente nuestro reto
  • Experimentar: Realizar diferentes pruebas hasta obtener los resultados esperados.

Como cualquier metodología de mejora continua se basa en un proceso cíclico.

¿Y cómo se enfoca en el mundo del software?

La implementación de un sistema automático de test es uno de los procesos más necesarios para obtener buenos resultados en la implementación de esta metodología. Esta automatización puede ser realizada en los siguientes ámbitos y con las herramientas destinadas a ello:

  • Integración continua y automatización de despliegues: Jenkins, Bamboo
  • Construcción de proyectos y ejecución automática de pruebas: Maven, Gradle
  • Control de versiones y código fuente: Git, Mercurial
  • Automatización de pruebas: Junit, Selenium, SonarQube

¿Y en el código?

Para garantizar la calidad de nuestro código debemos/podemos adoptar los siguientes cambios:

  • Codificación mediante Unit Tests TDD
  • Ampliar TDD mediante BDD (Desarrollo guiado por el comportamiento?)
  • Implementación de test de aceptación en el plan de QA
  • Utilización de sistemas “poka-yoke” que nos alerten de errores

No olvidemos que para obtener buenos resultados es necesario analizar los datos y actuar en consecuencia de éstos.

¿Y qué conseguimos con todo esto?

Son elevadísimos los beneficios que aporta la implementación de mejora continua en los procesos de desarrollo de software, se destacan:

  • Mejora de la calidad de los procesos
  • Mejora de la calidad del producto
  • Mejora de la calidad del equipo

Basándonos en uno de los principios básicos de esta metodología, seremos capaces de medir no solo la calidad de nuestros procesos y productos, sino que podremos analizar nuestra velocidad de desarrollo y la satisfacción de nuestros clientes. Dichas mediciones se transfieren a un solo objetivo, mejorar como empresa en su conjunto.

 

Carlos Mencia Banzo

CEO en Medea Tech Agency

1Comment

Post A Comment

10 − 3 =