Entrevista. Alexis Ocampo, una voz autorizada en la ingeniería de software

Escrito por  Viernes, 27 Septiembre 2013 11:41

El líder de arquitectura empresarial de Ecopetrol habló con base en su amplia experiencia, sobre todos los asuntos que contempla esta disciplina. Las opiniones de Alexis Eduardo Ocampo Ramírez pesan en el medio informático colombiano, no solo por su formación académica como ingeniero de sistemas y computación y su doctorado en Informática de la Universidad Técnica de Kaiserslautern, sino especialmente por su trayectoria y resultados.

Sara Gallardo M.

 

Sin ínfulas de ninguna naturaleza y con el tono modesto que hace verdaderos sabios, se refirió a los que él considera sus mayores logros. “Mis ejercicios profesionales más importantes han sido la creación del estándar de desarrollo de software para el segmento de tierra de la Agencia Espacial Europea (ESA); el desarrollo del estándar para la construcción de software de la Agencia Espacial Japonesa (JAXA); y, la construcción de la arquitectura empresarial para Ecopetrol”.

 

 

Su compromiso profesional no le resta espacio al ejercicio, a viajar o a escuchar música. Y mucho menos, a los protegidos momentos para jugar con sus hijos. Tiene tiempo para todo, de ahí que no dudara en atender y dar respuesta a nuestras inquietudes.

 

Revista Sistemas: Aunque la ingeniería de software no es un tema nuevo y tanto las metodologías como las herramientas han tenido una gran evolución, hay quienes consideran, entre los serios problemas que afrontan, una inadecuada estimación de costos y tiempos. ¿Cuál es su opinión al respecto? ¿Ha habido algún avance en tal sentido?

Alexis Eduardo Ocampo Ramírez:Aunque hoy en día la industria tiene claridad sobre  la importancia y la necesidad de una buena estimación del esfuerzo de un proyecto, aún no existe una ejecución sistemática de dicha práctica. A pesar de que en la mayoría de universidades los nuevos ingenieros son entrenados y en sus proyectos de materias o tesis deben aplicar tales  conceptos, los prerrequisitos de información, experiencia y/o técnicos para introducir la disciplina de ingeniería de software en la industria, no se encuentran en su nivel óptimo. Un ejemplo relacionado con estimación puede ser el siguiente: si se desea aplicar el método Delphi, los expertos en el dominio, tanto en el proveedor como en el contratante, son difíciles de encontrar, con lo cual las personas que hacen la estimación introducen desviaciones importantes. Otro ejemplo se da con la técnica de puntos de función, donde es posible que se ejecute un proyecto sobre un lenguaje de programación para el cual no existe una base de datos histórica que pueda ser usada. Igualmente, para compañías que construyen el software a través de proveedores y su negocio no consiste en construir software, no existen bases de datos históricas con información confiable, para hacer estimaciones del esfuerzo de construir aplicaciones para soportar operaciones industriales. Finalmente, estas prácticas en empresas que no son constructoras de software no son entendidas ni adoptadas, dado que implican una gran inversión y no se puede asociar su retorno concreto/medible al producto final. Por ende, mi conclusión es que no ha habido una evolución y que estamos estancados, especialmente porque no es fácil demostrar que la disciplina de Ingeniería de Software, efectivamente representa beneficios para el producto final de las organizaciones.

 

RS: Desde su perspectiva, ¿cuáles son los problemas de los proyectos de software en Colombia? ¿Por qué fallan? ¿Cuáles son sus recomendaciones en la búsqueda de soluciones?

AEOR:Algunos de los problemas de los proyectos de software que he observado son: falta de sensibilidad y conocimiento del negocio al cual está contribuyendo el proyecto de software y, especialmente, los indicadores estratégicos que está mejorando la solución que se construye. Falta de sensibilidad y conocimiento del estado de la calidad de la información de la solución y de prácticas asociadas. Nos enfocamos en programar la funcionalidad, pero la información no es relevante para nosotros. Sin embargo, el usuario final confía en una solución cuando su información es única, consistente, completa, oportuna y tiene los niveles de seguridad adecuados. Tampocose aplica una metodología adecuada de construcción de software, de acuerdo con el contexto en que se encuentra el proyecto; y, en general, existe una tendencia de aplicar las metodologías tradicionales en los proyectos de software (y un temor de aplicar metodologías ágiles), lo que en algunos casos le resta oportunidad a la entrega de victorias tempranas. Además, la falta de ejecución sistemática de la disciplina de administración de la configuración, genera quiebres entre la operación y el desarrollo. Falta también disciplina en la administración de requerimientos; en la administración de pruebas y en la ejecución sistemática de pruebas de regresión.

 

La práctica de generar el plan de trabajo como una referencia importante de lo que se debe hacer y las fechas de entrega es generalizada. Sin embargo, también se generaliza la práctica de mover fechas de entrega en los casos en que se hace una subestimación en la planeación, como la única salida a una circunstancia que sobreviene en el proyecto o un riesgo que se dispara. Esto termina restando credibilidad al proyecto y sus promesas de valor de cara al negocio.

 

A pesar que se configuran equipos de trabajo interdisciplinarios para algunos proyectos, se subestiman el impacto de las interacciones, las culturas y  procesos de dichos equipos, lo que trae como consecuencia fricciones y desgastes que inciden en la ejecución del proyecto. La experiencia y competencia de los roles que se involucran en el proyecto, especialmente los expertos de TI y de negocio del equipo constructor de software, no son las adecuadas.

 

¿Cómo se pueden solucionar? En realidad no se puede generalizar una solución mágica a este problema tan complejo, pero si propongo tres temáticas en las cuales considero se deben enfocar los esfuerzos: especializar expertos de negocio y de TI; las organizaciones que construyen software deben entender muy bien su foco de negocio y una vez hecho esto, entrenar sus recursos de tal forma que adquieran “hands-on-experience” para que sean reconocidos por sus clientes y se conviertan en socios estratégicos que de una manera rápida y contundente puedan contribuir a las metas de negocio. Así mismo, incorporar prácticas y tecnología relacionadas con la calidad de la información y aplicarlas en los proyectos de construcción, entrega y operación de software. En mi opinión, las organizaciones que proveen software deben cambiar el paradigma de que entregar valor significa solamente funcionalidad y/o los últimos targets tecnológicos; se deben concentrar en que cuando conciban, diseñen y entreguen la información de las soluciones, esta sea de calidad y oportuna, de tal forma que se pueda utilizar para la toma de decisiones. Se trata también de incorporar prácticas de manejo de proyectos interdisciplinarios, cuya entrega de valor se da de forma acelerada., además de  las definiciones de arquitectura de infraestructura en los proyectos de implementación de soluciones.

 

RS: También se habla de la carencia en el país de personas capacitadas para soportar en forma adecuada las necesidades de la industria de software. En su opinión ¿cuáles son los vacíos más importantes?? ¿Qué se podría hacer al respecto?

 

AEOR:Tengo dos respuestas a esta pregunta, toda vez que la interpreto de dos maneras diferentes.

 

La primera tiene que ver con competencias de los desarrolladores. Creo que la Academia está haciendo una buena labor y esfuerzo en incorporar técnicas y metodologías de Ingeniería de Software en sus programas académicos. Sin embargo, me preocupa que la disciplina en el trabajo  se está perdiendo  o no está siendo aplicada  sistemáticamente por los ingenieros entrenados, lo cual se puede corroborar en los productos finales. Entonces, las universidades, al igual que las organizaciones que proveen estos recursos al mercado, deberían ahondar en definir programas o mecanismos para entrenar sus recursos en  competencias asociadas con la disciplina y constancia, al igual que compromiso respecto al resultado del proyecto.

 

Mi segunda interpretación de la pregunta consiste en el balance de la oferta frente a la demanda de recursos.  Se escucha que no hay gente para contratar. Adicionalmente, hablando con gerentes en Colombia estos manifiestan que la oferta de proyectos no es constante; que existen picos y valles. Esto hace difícil estimar y mantener el staff de recursos adecuado para proveer a los proyectos. Una alternativa de largo plazo podría ser que las entidades educativas innoven en las formas de atraer estudiantes para el área de Ingeniería de Software. Lo que he observado hasta el momento es que las universidades están haciendo su mejor esfuerzo para atraer estudiantes. Sin embargo, no están siendo tan exitosos como se esperaba originalmente.

 

Otra alternativa sería la de las empresas de construcción de software ofreciendo de manera integral la creación de clusters de competitividad en ciertas áreas específicas de conocimiento distribuidas en el país, para que de esta manera se asegure la transferencia de conocimiento avanzado.

 

RS: Con base en su experiencia, ¿cuáles son las mayores ganancias que ofrecen las nuevas metodologías de ingeniería de software? ¿Cuáles son los mayores retos para su implementación?

AEOR:Con base en mi experiencia, la mayor ganancia para una organización consiste en incorporar procedimientos que se puedan seguir en forma  sistemática para construir de manera ordenada una solución de TI. Sin dichas prácticas, no sería posible desarrollar grandes sistemas de información sin incurrir en mayores costos derivados de problemas de calidad del resultado y de ejecución de proyectos. Adicionalmente, es posible diseñar proyectos basados en metodologías ágiles que garanticen soluciones productivas en cortos intervalos de tiempo, que realmente demuestren y generen valor para los dueños de procesos de negocio. Como lo mencionaba anteriormente, los mayores retos para su implementación en los proyectos son: combinar dichas metodologías de manera apropiada con competencias y conocimiento especializado del negocio, sus procesos y los objetivos que se están apalancando. Facilitar la ejecución sistemática y disciplinada por parte de los ingenieros de las prácticas durante la ejecución del proyecto. Y hacer explícito a la alta gerencia el retorno de la inversión asociado con la ejecución de dichas prácticas.

 

RS: ¿Cree usted que las fábricas de software colombianas están listas para el uso de las nuevas metodologías?

AEOR:Los conceptos técnicos asociados con Ingeniería de Software están totalmente interiorizados y en este aspecto nuestras empresas están bien preparadas. La especialización en el negocio y el entendimiento de la contribución en términos que entiendan los gerentes y presidentes de las organizaciones, todavía presenta oportunidades para mejorar. La claridad de entregar soluciones que provean información de calidad y confiable para ser usada efectivamente por el negocio, aún no es parte de la conciencia colectiva de dichas fábricas y es un tema a desarrollar. La suma de todas las anteriores haría que nuestras fábricas de software se convirtieran en aquel socio estratégico deseado y esperado por las organizaciones que las necesitan.

 

RS: Y qué sucede con las empresas cliente, ¿están listas?

AEOR:Las empresas clientes son conscientes de que una táctica para el crecimiento y/o sostenibilidad de su negocio consiste en rodearse de aliados estratégicos que los entiendan y acompañen a ser mejores. Por ende, el desarrollo de software, siguiendo las mejores prácticas de manera sistemática y disciplinada y produciendo los resultados esperados, se constituye claramente en un apalancador necesario. Sin embargo, tal y como sucede en la mayoría de los casos en la industria de software, se da prioridad a la funcionalidad sobre la calidad de la información que se entrega como solución. Esto sumado a la falta de conocimiento del beneficio de seguir la disciplina de la Ingeniería de Software en un negocio –por ejemplo, de lácteos-, hace más difícil introducir o institucionalizar la disciplina en las organizaciones cliente.

 

RS: ¿Cuáles son los mayores retos ante los nuevos usuarios?

AEOR:La Ingeniería de Software ha venido evolucionando con técnicas y metodologías que se han perfeccionado, en la medida en que la tecnología ha cambiado. Inicialmente hablamos de los principios de modularización, cuando la programación era estructurada y luego pasamos a distribución y "componentización", con la programación orientada a objetos. Después pasamos por protocolos que permiten la interoperabilidad y para ellos hemos desarrollado patrones y estilos de arquitectura que han organizado e introducido ingeniería, al uso de las tecnologías habilitadoras. Hoy estamos ante nuevas tecnologías como la movilidad, la nube, las redes sociales, los manejadores de grandes volúmenes de datos, entre otros, que generan interrogantes sobre nuevos modelos conceptuales o metodologías para mantener la disciplina y el orden para construir software. A este respecto creo que el mayor reto está en evitar que el usuario sufra una sobrecarga innecesaria de información, dado que la tendrá a disposición en cualquier sitio geográfico, en cualquier momento, en cualquier dispositivo. O dicho de otra forma, que el usuario vea la información que necesita para tomar decisiones, ni más ni menos y que su experiencia de usuario sea la más agradable para visualizar y mantener dicha información. Desde la perspectiva de la Ingeniería de Software estamos hablando de combinar modelos conceptuales y metodologías relacionadas con experiencia de usuario, analítica, calidad de información, sistemas distribuidos, restricciones de memoria, restricciones de energía y desempeño del hardware, a la hora de concebir una nueva solución. Esto posiblemente afecta la manera como se especifican los requerimientos, se diseñan las pruebas, se programa etc.

 

RS: ¿Cuáles son las ventajas y los retos más importantes que ofrecen las nuevas tecnologías?

AEOR:Como lo mencionaba en la anterior respuesta, la ventaja más importante reside en que el usuario final dispondrá de información relevante para su toma de decisiones en cualquier lugar, cualquier momento, y sobre cualquier dispositivo. Los retos se asocian más con una combinación de los issues de interoperabilidad, restricciones en desempeño y procesamiento del hardware, experiencia de usuario final óptima y visualización de buena calidad,  construida sobre un subconjunto de un gran volumen de datos.

 

RS: ¿Qué papel desempeña la Academia para incentivar las acciones necesarias encaminadas a mejorar las prácticas de desarrollo de software en las organizaciones del país?

AEOR:Creo que la Academia tiene la responsabilidad de investigar las razones que puedan explicar el porqué de las brechas entre lo que se enseña en las universidades y su aplicación real en la industria. Se han mencionado algunas percepciones de mi parte, pero se deben realizar estudios más serios de carácter empírico que permitan determinar tendencias o comportamientos marcados, para así tomar acciones desde los programas universitarios y en conjunto con las organizaciones que desarrollan e incorporan software.

 

RS: En el marco de la competitividad, las organizaciones enfrentan el reto de sus productos, la calidad y los procesos. En su concepto, ¿la formación de los profesionales del software contempla los nuevos contextos del pensamiento global?

AEOR:La percepción global es que algunas de las grandes “soluciones” exitosas, por ejemplo Wikipedia, no fueron hechas siguiendo un conjunto estricto de metodologías para el desarrollo, como lo propone la actual Ingeniería de Software. Entonces la pregunta que surge es: ¿cuáles son esos pasos para llegar a soluciones con tanto éxito? Algunos estudios están tratando de revisar desde el campo de la sicología, si la rigidez de nuestra Ingeniería de Software realmente genera satisfacción y felicidad en los desarrolladores, de tal forma que sean ingenieros altamente motivados para ejercer su profesión. El supuesto es que cualquier persona que sea feliz en lo que está haciendo, lo hará de manera más efectiva y su resultado será de alta calidad. Pero, para poder entender esto, se están realizando pruebas sicológicas a los desarrolladores a medida que van ejecutando su trabajo. Este trabajo de investigación está en desarrollo y será interesante ver cuales actividades de nuestra Ingeniería, definitivamente no ponen contentos a los desarrolladores. En otras palabras, cuales son un “ladrillo”. Esto conlleva a argumentar sobre datos concretos, donde podemos hacer nuestra labor más satisfactoria, de tal forma que se haga un rediseño de la misma o un nuevo planteamiento. En ese orden de ideas conecto con la anterior respuesta y argumento que las universidades deben involucrarse en este tipo de estudios, ser autocríticas y preguntarse si existen posibilidades u otras formas de producir resultados exitosos.

 

RS: ¿Cuáles son sus recomendaciones basadas en la experiencia personal?

AEOR:Definitivamente, creo que tal y como lo recomiendan los creadores de las metodologías ágiles, es necesario replantear algunas de las metodologías o técnicas de la Ingeniería de Software para removerlas del proceso, toda vez que no generan beneficios para los procesos de negocio. Adicionalmente, creo que el modelo de innovación y competitividad promovido en importantes clusters alrededor del mundo debe ser tomado en cuenta, tanto por la Academia como por la industria, con el objetivo de entender esa cultura de implementar aplicaciones exitosas en corto tiempo que agregan valor y que son productos estables y reutilizables, donde se han utilizado las técnicas necesarias de ingeniería de software, para luego venderlo. Igualmente, se deben estudiar en detalle las características de los individuos que lideraron o lograron este tipo de transformaciones y sus perfiles. Los profesionales deben ser formados tanto en la universidad como en la industria, con el objetivo de estabilizar la práctica.

 

Sara Gallardo M.Periodista comunicadora, universidad Jorge Tadeo Lozano. Ha sido directora de las revistas “Uno y Cero”, “Gestión Gerencial” y “Acuc Noticias”. Editora de Aló Computadores del diario El Tiempo. Redactora en las revistas Cambio 16, Cambio y Clase Empresarial. Ha sido corresponsal de la revista Infochannel de México y de los diarios “La Prensa” de Panamá y “La Prensa Gráfica” de El Salvador. Autora del libro “Lo que cuesta el abuso del poder”. Investigadora en publicaciones culturales. Gerente de Comunicaciones y Servicio al Comensal en Andrés Carne de Res, empresa de 1800 empleados; corresponsal de la revista IN de Lanchile. Es editora de esta publicación.

 

Califique este elemento
(4 votes)
Leido 8886 veces Modificado por ultima vez Viernes, 27 Septiembre 2013 15:44

Ingrese su comentario

Por favor confirme que ingreso la informacion requerida. Codigo HTML no esta permitido

Edición No. 128

Actividades Académicas

 

Sobre ACIS

La Asociación Colombiana de Ingenieros de Sistemas es una organización sin ánimo de lucro que agrupa a más de 1500 profesionales en el área de sistemas. ACIS nació en 1975 agrupando entonces a un número pequeño de profesionales en sistemas. Más información