Madurar capacidades y mejorar productividad
Ignacio Trejos Zelaya| TEC y Cenfotec| itrejos@ucenfotec.ac.cr
En 1984 el Departamento de Defensa de los Estados Unidos (DoD) – el mayor consumidor de software del mundo – decidió establecer el Software Engineering Institute (SEI) en la prestigiosa Universidad Carnegie-Mellon, una de las mejores del mundo en Informática. El DoD había constatado que muchos de sus proyectos de software fallaban en cuanto a calidad, se atrasaban considerablemente, excedían cuantiosamente sus presupuestos, o esos factores combinados. Se determinó que más del 60% de los proyectos que desarrollaban software de mando y control entregaban productos inutilizables o debían ser cancelados.
El SEI se enfocó en mejorar las prácticas de Ingeniería del software y en clarificar los principios que las sustentan. Entre los principales retos por enfrentar fueron los concernientes a la adquisición, el desarrollo y la evolución de sistemas intensivos en software. Ejecutar exitosamente prácticas de gestión de ingeniería del software ayudaría a las organizaciones a predecir y controlar calidad, calendario, costo, productividad y tiempo de ciclo.
Entre los principales aportes del SEI ha estado el definir ‘modelos de madurez de capacidades’ (CMM, CMMi), adecuados a distintas finalidades: producción de software, provisión de servicios, gestión del personal, adquisición de tecnología. El originador de esto fue Watts Humphrey, ‘el padre de la calidad del software’, quien llegó a mediados de los 1980 al SEI después de dirigir las mejores organizaciones de software de IBM. Antes de llegar al SEI, en IBM, Humphrey llegó a dirigir más de 4,000 desarrolladores de software que pusieron en práctica mejoras continuas en los procesos de desarrollo y mantenimiento de software – que impactaron la calidad de los productos, la productividad de los desarrolladores y la satisfacción de los clientes.
En el SEI, Humphrey estableció el Programa de Proceso de Software, dirigió el desarrollo de un modelo de madurez de capacidades para software, e introdujo los métodos de evaluación de procesos y capacidades de software. El CMM original ha servido de base para otros modelos de madurez de capacidades adecuados a distintas finalidades: producción de software, provisión de servicios, gestión del personal, adquisición de tecnología, gestión de proyectos, gestión de pruebas, gestión de requerimientos, gestión de configuraciones de software y varios más.
El CMM original establecía cinco niveles de madurez para las organizaciones que producen software. El estar en un nivel depende de haber implantado prácticas ‘clave’ de producción (técnicas y administrativas) acordes con todas las ‘áreas clave del proceso’ de ese nivel (o uno superior. El planteamiento de Humphrey vino acompañado de propuestas para mejorar continuamente los procesos en los niveles de la organización (CMM-SW), del equipo (Team Software Process – TSP) y del individuo (Personal Software Process – PSP). Humphrey también escribió libros sobre liderazgo y gerencia de equipos y organizaciones tecnológicas.
El DoD, de consuno con el SEI, decidió establecer como norma adquirir únicamente software y servicios tecnológicos de proveedores que estuvieran en el nivel 3 del CMM o uno superior. Las evaluaciones de las áreas clave de proceso son sistemáticas y califican objetivamente a los proveedores de software.
De manera análoga a como las certificaciones ISO-9000 permiten evaluaciones por tercera parte, una evaluación CMM da confianza en la relación entre un comprador y un proveedor.
Más importante aún: las caracterizaciones obtenidas en las evaluaciones permiten a una organización saber cuál es su nivel en cada área clave de proceso así como trazarse metas para enfocar sus esfuerzos de mejora en pos de mayor calidad, consistencia y productividad en el desarrollo de sus actividades para la creación o evolución de productos y el sostenimiento de servicios. Las organizaciones más maduras son más competitivas y rentables, como ha quedado demostrado en los últimos 30 años desde que se usan los modelos CMM y su sucesor, CMMi.
Para la mayoría de las organizaciones costarricenses el cumplimiento de normas internacionales para el desarrollo de software (ISO-9000, CMM, CMMi) podría ser de poco interés, pero mejorar y madurar las capacidades para producir software de clase mundial sí es significativo para el sector nacional de software, que pretende ser competitivo en mercados internacionales.
En la década de 1990, el investigador nacional Marcelo Jenkins Coronas (profesor catedrático de la UCR, hoy exministro de Ciencia, Tecnología y Telecomunicaciones) realizó trabajos en mejora de procesos con empresas costarricenses de software y otras organizaciones. El Dr. Jenkins estudió los estándares civiles de Ingeniería del Software, desarrollados por el IEEE (Instituto de Ingenieros en Electricidad y Electrónica y su Sociedad de Computación), como marco de referencia para crear esquemas de diagnóstico situacional y adopción de prácticas para definir los procesos y mejorar las actividades de desarrollo, mantenimiento y soporte de productos de software. Esto permitió mejorar el orden, la administrabilidad y la predecibilidad en el trabajo de organizaciones costarricenses productoras de software. El Dr. Jenkins fue galardonado en 1997 con el Premio Nacional Clodomiro Picado Twight en Ciencia y Tecnología por sus aportes en “Aplicación de Estándares de Ingeniería del Software en Costa Rica”; afortunadamente don Marcelo ha continuado enseñando, investigando y haciendo consultoría sobre estos temas y dirigiendo trabajos de postgrado afines de varios estudiantes costarricenses.
Hace poco más de 20 años, la industria costarricense de software, se organizó como la Cámara Costarricense de Software (CAPROSOFT), que devino en la actual Cámara Costarricense de Tecnologías de Información y Comunicación (CAMTIC) en la década pasada. A inicios de la década del 2000, CAPROSOFT unió fuerzas con PROCOMER y la Fundación del CeNAT para conseguir un préstamo del Banco Interamericano de Desarrollo (BID), que permitiera desarrollar el proyecto ProSoftware. ProSoftware contempló estas áreas principales de trabajo:
- Estudiar el estado de la educación superior y técnica en tecnologías de información y comunicación – con miras a hacer mejoras en las carreras;
- Desarrollar un proyecto piloto de mejoramiento de procesos en empresas de software costarricenses;
- Fortalecer institucionalmente a la Cámara en sus primeros años de desarrollo;
- Promover la incorporación de las mujeres a los estudios y a la fuerza labora en el TIC.
Como parte de ese esfuerzo, se capacitaron consultores nacionales para que pudieran ofrecer servicios de diagnóstico y mejora de procesos de software a empresas nacionales. Los marcos de referencia con que trabajaron los consultores y las empresas de software fueron ISO-9000 para software y el CMM.
En el año 2002, la empresa GST, consultora en CMM que colaboró con ProSoftware, caracterizó las capacidades de las empresas costarricenses de software, en lo que respecta a ser competitivas en mercados internacionales en una escala que va de 1=malo a 5=excelente:
Con el apoyo de ProSoftware y empresas consultoras, en el año 2003, las empresas costarricenses Exactus y Lidersoft satisficieronlograron satisfacer los requisitos exigidos por el nivel 3 del CMM. En ese entonces, cerca del 70% de las empresas que solicitaban la evaluación CMM fracasaban en su primer intento. Gracias a este trabajo, ambas empresas establecieron esquemas de organización y producción que contribuyeron a su competitividad y crecimiento. Es de notar que, en ese entonces, cerca del 70% de las empresas que solicitaban la evaluación CMM fracasaban en su primer intento.
Durante la década del 2000, el CMM fue sucedido por el CMMi – Capability Maturity Model Integration (Integración de modelos de madurez de capacidades), que hace mejoras sobre el CMM original y lo lleva a atender el desarrollo de productos y servicios (CMMi-DEV), gestión de la cadena de suministro, adquisición y contratación externa en industria y Gobierno (CMMi-ACQ), o el establecimiento, la entrega y la administración de servicios (CMMi-SVC). Como el CMM, las variantes del CMMi, tienen métodos estandarizados para identificardeterminar fortalezas y debilidades de los procesos, identificar riesgos de desarrollo, adquisición o sostenimiento, así como determinarestablecer los niveles de capacidad y de madurez de las organizaciones.
No es fácil acometer una iniciativa que lleve a una organización a someterse a evaluaciones CMMi: requiere visión, liderazgo, compromiso y disciplina. Además, muchos han interpretado la boga de los enfoques ágiles como algo opuesto a los modelos de madurez de capacidades. No hay tal, es posible – con imaginación y compromiso – combinar los enfoques ágiles con la definición, la evaluación y la mejora de procesos que conllevan los modelos CMMi.
La filial costarricense de la empresa Fiserv, una de las organizaciones líderes en el mundo en el desarrollo de software para el sector de banca y servicios financieros, fue evaluada en el nivel 3 del CMMi en el año 2015. Los beneficios obtenidos en materia de productividad y de calidad han superado con mucho los costos incurridos en el proceso; hoy Fiserv Costa Rica sabe hacia dónde orientar sus esfuerzos de mejora, como cimiento de su competitividad.
Este año 2019 comenzó con una excelente noticia: la fábrica de software del Grupo Babel fue evaluada en el nivel 3 del CMMi. Grupo Babel es así la primera empresa de capital costarricense en ser evaluada positivamente en el modelo CMMi-DEV.
En palabras de su co-fundador, Édgar Oviedo: “entre los beneficios que pueden percibir los clientes de una empresa cuya fábrica de software cumple con el nivel 3 de CMMi destacan la mejora en la calidad de los productos finales y la disminución en los tiempos de respuesta, gracias a la formalización e institucionalización de sus procesos internos” (ver https://goo.gl/ouQsyu).
Tengo frescas las conversaciones con Marcelo Jenkins, Claudio Pinto, Roy Vargas Edwin Garro, Priscilla Garbanzo, José Aurelio Sánchez, Franco Quirós, Édgar Oviedo, Julio Córdoba, Laura Monge y otros colegas, cuando nos empeñábamos de hablar sobre estas cosas en algunas empresas y en las aulas universitarias; soñábamos con que la industria costarricense de software adoptara prácticas de Ingeniería del Software y siguiera modelos de evaluación que le habilitaran su tránsito hacia niveles superiores de madurez.
Para poder sostener y hacer crecer una industria de software que sea competitiva mundialmente, es imprescindible formar profesionales con sólidos conocimientos en Ingeniería del software. El diseño curricular de las carreras de desarrollo de software de Cenfotec y Universidad Cenfotec incluye proyectos integradores que hacen explícitos los marcos de procesos que se sirven como ‘columna vertebral’ del aprendizaje de la Ingeniería del Software vía experiencias reales.
Son alentadores los logros de Babel y de Fiserv, así como el crecimiento da industria informática en Costa Rica. Tenemos grandes espacios para la mejora, y esto conforma grandes retos. Debemos enfrentar el desfase con los líderes (mundiales) en el estado de la práctica y entender nuestro importante rezago respecto del estado del arte. Pero se puede, sí se puede: con talento, entendimiento, entrega y disciplina.
IMPORTANTE: Las opiniones expresadas en este artículo son exclusivamente las de los autores y no necesariamente representan la opinión de la Cámara de Tecnologías de Información y Comunicación (CAMTIC) o sus afiliados.
Compartir
NOTICIAS
Entradas recientes
- 24 emprendimientos TIC concluyeron con éxito la edición 2024 del programa Scale Up de Camtic
- Jornadas Conecta CR concluyen con llamado a trabajar juntos, sector privado y público, para que 5G mejore competitividad del país
- Procomer analizó y expuso necesidades de género y talento para impulsar un mercado laboral inclusivo
- Más de 500 profesionales se reunieron en Costa Rica para conocer últimos avances de ingeniería e innovación tecnológica en América Latina
- Estudiantes del TEC fortalecen la ciberseguridad global al evidenciar vulnerabilidad