SciELO - Scientific Electronic Library Online

 
vol.7 número40Precipitación de Ag, Hg y Cr para el reciclaje derivado de residuos líquidos peligrosos índice de autoresíndice de assuntospesquisa de artigos
Home Pagelista alfabética de periódicos  

Serviços Personalizados

Journal

Artigo

Indicadores

Links relacionados

  • Não possue artigos similaresSimilares em SciELO

Compartilhar


RIIIT. Revista internacional de investigación e innovación tecnológica

versão On-line ISSN 2007-9753

RIIIT. Rev. int. investig. innov. tecnol. vol.7 no.40 Saltillo Set./Out. 2019  Epub 05-Fev-2021

 

Artículos

Diseño y aplicación del marco de trabajo OPEM para la agilización de procesos en proyectos informáticos: reporte de caso

Design and application OPEM framework for facilitation and automation of processes in computer projects: case report

J. Rodríguez-Gonzáleza  * 

A. Castroa 

aFacultad de Ingeniería en Sistemas; Universidad Latina de Costa Rica; San Pedro, San José. Costa Rica.


Resumen

El objetivo del presente artículo es la definición, desarrollo y prueba de un marco de trabajo basado en tecnologías gratuitas y/o de código abierto, llamado OPEM, que permita la agilización de tareas comunes en gerencia de proyectos, haciendo eficiente tanto la ejecución y el control, y a su vez, disminuir la cantidad de errores que se producen normalmente en dichas tareas, debido a la intervención de procesos mecánicos. Para alcanzar el objetivo, se diseñó e implemento OPEM, en una pequeña empresa costarricense. OPEM permitió minimizar y reducir problemas que surgen en el desarrollo de sistemas y comunicación. Para la creación de OPEM se tomaron opiniones de expertos, se indagaron herramientas informáticas que interactuaran entre ellos y se utilizaron en seguimiento y control de un proyecto. El marco de trabajo se probó en el seguimiento de un proyecto informático denominado PECUS, OPEM mostró un comportamiento aceptable en la disminución de incidentes y en la mejora de tiempos de actualización.

Palabras clave: Automatización; DevOps; gerencia de proyectos; PMBOK; tecnología

Abstract

The goal of the following article is the definition, development and testing of a framework based in free technologies and/or open code, called OPEM, that allow streamline the process of usual project management tasks with the purpose of expedite control and execution and also diminish the amount of errors that come with the mentioned labors due to mechanical processes. To fulfill this goal, it was designed and implemented OPEM, in a SMEs. OPEM make possible minimizing and reducing problems that appear in the path of system development and communication. For the creation of OPEM, expert opinions were taken, computer tools that interact with each other were investigated and will be used to monitor and control a project. The framework was tested in the follow-up of a computer project, it showed an acceptable behavior in the reduction of incidents and in the improvement of times.

Key Words: Automation; DevOps; proyect management; PMBOK; technology

Introducción

En la última década el seguimiento y control de un proyecto han sido procesos invaluables para asegurar la rentabilidad del mismo, de tal forma, que los modelos de gestión de proyectos, marcos de trabajo y definición de estándares, son elementos que permiten agilizar la producción, dar seguimiento al proyecto, asegurar calidad y, además, documentar las variables del proyecto.

Para complementar los procesos de seguimiento y control, se han realizado estudios (Fiallos, Suarez, & Villavicencioa, 2016), los cuales demuestran que, al desarrollar software utilizando modelos y marcos de trabajo aumenta de manera eficiente la productividad en el procesos vinculados a la creación de software (Fiallos, Suarez, & Villavicencioa, 2016).

Estos estudios se vinculan con la problemática de que más de 70 % de los proyectos de implementación de tecnologías de información fracasan. Surge la necesidad de contar con un adecuado proceso de desarrollo de software, un marco de trabajo y una metodología de gestión de proyectos que garantice la correcta ejecución del mismo, respetando las restricciones de tiempo, alcance y costo inherentes a todo proyecto (Torres, 2008).

La agilización en la comunicación, por medio de marcos de trabajo, desempeña un papel cada vez más importante en la configuración de la forma en que los desarrolladores colaboran y se comunican (Lin, Zalgasky, & Storey, 2016). Los beneficios del desarrollo OPEM incluyen una mayor participación de los usuarios, una gestión y coordinación simplificada del proyecto y la transparencia de las actividades de desarrollo de software (Lin, Zalgasky, & Storey, 2016).

La ingeniería implica la experiencia compartida y el esfuerzo de múltiples partes interesadas (Arciniegas-Mendez, Zagalsky, Storey, & Hadwin, 2017). Si bien el desarrollo de software enfatiza la creación de activos de software, se reconoce que la forma en que los individuos y los equipos de colaboradores aprenden a crear, capturar, colaborar y manipular artefactos de dominio, como el código fuente o las herramientas de desarrollo especializadas, es una contribución importante en su propio avance (Arciniegas-Mendez, Zagalsky, Storey, & Hadwin, 2017).

Las herramientas utilizadas en el desarrollo de software y comunicación pueden afectar significativamente el éxito de un proyecto e influir en cómo los desarrolladores aprenden y trabajan juntos (Arciniegas-Mendez, Zagalsky, Storey, & Hadwin, 2017). Estudios recientes han encontrado que los desarrolladores utilizan una constelación rica y compleja de herramientas sociales y de comunicación además de sus herramientas de desarrollo. Sin embargo, algunos investigadores sostienen que los desarrolladores todavía no utilizan adecuadamente la colaboración (Arciniegas-Mendez, Zagalsky, Storey, & Hadwin, 2017).

Esta investigación se enfoca en el desarrollo de un marco de trabajo para la gerencia de proyectos informáticos, orientado al desarrollo de software, que permita la agilización de procesos al momento de la ejecución, control y seguimiento de las tareas definidas, que consienta la mejora en la comunicación y producción. Este marco de trabajo brinda beneficios -a nivel de eficacia y eficiencia- a los proyectos en los que se emplea, además -mediante la sistematización de procesos- disminuye la incidencia de errores o fallos que ocurren durante el desarrollo.

La necesidad de nuevas herramientas adaptadas a los nuevos modelos de procesos de desarrollo. En primer lugar, como ya se ha indicado, los modelos de desarrollo software están volcando su interés sobre los procesos de comunicación (Berrocal, García, & Murillo, 2007).

Si bien existe documentación de procedimientos comunes y buenas prácticas para la gestión de proyectos y el desarrollo de software, la inclusión de un marco de trabajo que proporcione la posibilidad de gestionar ambas disciplinas como un solo grupo de procesos, y no como partes aisladas con poca comunicación activa, ayuda en gran medida al adecuado control y seguimiento.

Con el propósito de poner a prueba lo planteado, se crea un marco de trabajo basado en tecnologías de código abierto y/o gratuito (en algún nivel), incorporando dichas prácticas en su definición. De este modo, nace el marco de trabajo OPEM, nombre compuesto de la unión de la palabra OPEN (haciendo alusión al modelo de desarrollo de software de colaboración abierta) y las siglas PM (las cuales se refieren a Project Management en inglés o gerencia de proyectos en español).

La aplicación y recolección de resultados del uso del marco de trabajo propuesto también se contempla en este documento. Su utilización tiene como alcance proveer herramientas de fácil acceso y de poca complejidad para la gestión de desarrollo de proyectos informáticos.

El principal foco de esta investigación es la gerencia de proyectos y relación con el uso de software para agilizar procesos. La gerencia de proyectos entendida como una disciplina que se puede considerar joven, al menos en el campo de la tecnología de la información. Se caracteriza por una restructuración de procesos, con el fin de lograr un mejor control sobre procesos y recursos. En sus inicios, la gerencia de proyectos está relegada a una pequeña cantidad de entidades gubernamentales, sin embargo, actualmente se amplía a una gran diversidad de industrias y organizaciones (Kerzner, 2009).

La importancia de la gerencia de proyectos reside en la manera en que permite controlar y mejorar los resultados obtenidos de los mismos mediante un seguimiento cercano (Project Management Institute, 2018). Está diseñada para tener un mejor aprovechamiento de los recursos existentes y destinados a un proyecto específico. A través de la aplicación de marcos de trabajo establecidos, la gerencia de proyectos, contribuye a obtener una mayor comunicación en las organizaciones para cumplir con los objetivos establecidos para el proyecto de la forma más eficiente y sencilla posible (Kerzner, 2009).

En el área de la gerencia de proyectos, el uso de herramientas en tecnología de la información continúa creciendo. A su vez, la variedad de herramientas de software que se encuentran disponibles se hace más amplia. Sin embargo, su efectividad no depende únicamente de sus características, sino también de las características únicas del proyecto que se desea controlar con esta. Una selección correcta de la herramienta, así como el entrenamiento y la definición de procesos eficientes que se apeguen a la herramienta son parte del éxito de implementación que pueda tener para el proyecto en general (Grevins, 2000).

Con frecuencia, en un proyecto se manejan grandes cantidades de información, la cual puede presentar un reto en conformidad con la complejidad y tamaño del proyecto. Si bien el gerente del proyecto es el que debe lidiar con la tarea de identificar la información de relevancia o no para el proyecto, puede apoyarse en la tecnología y las herramientas de software para almacenar y clasificar esta información (Anantatmula, 2008).

La implementación de OPEM contribuye a la mejora en la gestión. Anantatmula (2008) extiende el enunciado anterior indicando que las nuevas tecnologías proveen sofisticadas herramientas para la gerencia de proyectos; encauzadas por factores como la complejidad de los proyectos, exigen nuevas destrezas para el manejo de estos, lo cual está influenciando en cómo se lideran los proyectos, estableciendo una relación directa entre el seguimiento del proyecto y el marco de trabajo utilizado. Esta relación asume importancia en varios aspectos del proyecto como métodos de comunicación, toma de decisiones y compromiso de los recursos.

Los sistemas y marcos de trabajo como OPEM, para la gerencia de proyectos, son diseñados con el propósito de facilitar métodos para la definición, manejo y control de actividades durante el desarrollo del proyecto, con el propósito de asegurar que todos los recursos que participan en este tengan conocimiento de cuáles son las tareas que se les asignan, qué deben hacer y cuándo. Estos a su vez permiten a las personas interesadas en el proyecto tener la certeza de que las tareas están siendo controladas de modo adecuado y los riesgos son manejados oportunamente (Piantanida y Rossi, 2007).

Por otra parte, al realizar la integración de las técnicas de proyectos con un marco de trabajo, debe contemplarse las nuevas tecnologías. Actualmente, se implementa una gran cantidad de soluciones de software que les permiten a los gerentes de proyectos contar con un entorno de trabajo con tan solo un navegador y una conexión a internet. Además, las compañías son beneficiadas al evitar costosos gastos de implementación y mantenimiento.

Si se desea mejorar algún proceso o procedimiento, una apuesta segura es optar por la agilización de estos cuando sea posible. Las personas que ejecutan procesos orientados a alcanzar una meta tienen una gran habilidad para confundirse si no se posee un proceso claro por seguir, empeorando cuando el nivel de complejidad de la tarea es muy alto o hay muchas personas involucradas. Es debido a que la agilización de una tarea conlleva a un procedimiento claro y estándar, que el rendimiento mejora, disminuyendo el margen de error en la ejecución de esta (Christie, 1995) .

Controlar y monitorear las tareas de un proyecto incluye dar seguimiento, así como revisar e informar los avances que se realizan en cada una con la finalidad de cumplir lo planteado en el plan de proyecto. OPEM por medio del control de las tareas permite tanto al gerente como a los involucrados en un proyecto tener una visión clara del estado del proyecto, con lo que pueden proyectar fechas y cumplimiento del alcance, lo cual asimismo posibilita tomar acciones de manera efectiva (Project Management Institute, 2013).

Con el objetivo de lograr un control efectivo de las tareas del proyecto, es indispensable una buena comunicación. Según Anantatmula (2008), la cercana comunicación entre los miembros del equipo es considerado una parte fundamental para el éxito expedito de los proyectos. También, sugiere que la gerencia del proyecto puede facilitar o restringir el flujo libre de la información y las ideas mediante la incorrecta selección de procesos y marcos de trabajo. Las comunicaciones efectivas en un proyecto, mediadas por un marco de trabajo claro, aseguran que se entregue la información correcta a la persona adecuada, en el momento correcto, ayudando en términos de costo al mismo (Kerzner, 2009).

De acuerdo con Project Management Institute (2013), la gestión de las comunicaciones del proyecto incluye varias tareas, entre las que se encuentran planificar, recopilar, crear, distribuir, almacenar, recuperar, gestionar, controlar y monitorear la información de un proyecto de manera oportuna y adecuada. Una comunicación eficaz brinda unión al equipo de proyecto, asegurando que los involucrados puedan obtener diferentes perspectivas de este, así como la información necesaria de forma oportuna para realizar satisfactoriamente las tareas que tienen asignadas.

Con el crecimiento y aceptación que tiene la iniciativa de infraestructura como código, es el escenario perfecto en el cual un gerente técnico de proyectos puede mostrar el valor agregado que aporta a la gerencia de un proyecto. De acuerdo con Yujuan Jiang (2015), la infraestructura como código automatiza el proceso de configuración y preparación de los ambientes en los cuales un software va a ser probado o puesto a funcionar, mediante la definición textual en archivos utilizando lenguajes de programación. Debido a que los ambientes son especificados por medio de código y no existe una intervención manual en el proceso, el esfuerzo invertido y los errores son menores.

Mediante la implementación de las prácticas de DevOps, un gerente puede integrar la gerencia de un proyecto en el núcleo del procedimiento de desarrollo de software, agilizando tareas de vital importancia.

La adaptación de DevOps en los procesos de control y gestión de tareas y comunicaciones, aplicados en proyectos que están directamente relacionados al desarrollo de código, en conjunto con herramientas de software de gestión de proyectos basados en la web y el conocimiento de un gestor de proyectos técnico, permite una gran cantidad de integraciones que posibilitan una agilización avanzada de muchas de las tareas involucradas en estos procesos, otorgando tanto al gerente como al proyecto en sí herramientas para una gestión mucho más ágil y acertada. OPEM se basa en DevOps, entendido como un conjunto de prácticas orientadas a reducir el tiempo que se tarda entre la fase de efectuar un cambio a un sistema y la fase de colocar dicho cambio en el ambiente normal de producción del sistema, mientras se asegura una alta calidad en el proceso (Len Bass, 2015).

OPEM es un marco de trabajo que propone una integración de las buenas prácticas de gestión de proyectos, el uso de sistemas información para la agilización y DevOps.

Metodología

Mediante la presente investigación, se desarrolla un marco de trabajo para determinar procesos, herramientas, integraciones e interacciones en un conjunto de herramientas definidas, con el propósito de mitigar los retos identificados con los instrumentos de recolección de datos. El marco de trabajo desarrollado también automatiza algunos de los procesos de la gerencia de proyectos y comunicaciones, a fin de reducir la falta de actualización de las herramientas y/o mal manejo de la información por error humano.

Para llevar a cabo la investigación, se emplean las siguientes herramientas de recolección de información:

Encuesta: Se aplica una encuesta a diez gerentes de proyectos egresados de la licenciatura de Gerencia de Proyectos Informáticos de la Universidad Latina de Costa Rica. La encuesta consta de diez preguntas enfocadas en obtener información acerca de la situación actual y los problemas que están enfrentando estudiantes en curso o profesionales actualmente ejerciendo la gerencia de proyectos, durante la ejecución del control y seguimiento de un proyecto informático. La encuesta provee al gerente del proyecto una visión sobre los conflictos con los que puede encontrarse al desarrollar un proyecto. Es un marco referencia para la selección de las herramientas y técnicas aplicadas en OPEM.

Observación: Mediante el análisis de horas e interacciones con las herramientas utilizadas para el seguimiento de las tareas del proyecto, se registran las interacciones y tiempos de respuesta de los participantes del caso de estudio, con el fin de obtener un punto de comparación entre los errores y retrasos relacionados directamente con la implementación del marco de trabajo.

Obtenida la información necesaria para un claro planteamiento de las dificultades en común que expresan los participantes de la encuesta, se procede al planteamiento de las etapas que debe seguir la investigación para lograr, plantear, desarrollar y poner en ejecución el marco de trabajo.

La investigación consiste en cuatro etapas: 1) Creación y aplicación de una encuesta que ayude a conocer cuáles son las dificultades que los participantes enfrentan para ejecutar la gerencia de proyectos. 2) Investigación de herramientas informáticas populares para el control y seguimiento de proyectos, así como planteamiento de un marco de trabajo para seleccionar las herramientas que mejor se adapten a las necesidades encontradas mediante la realización de la encuesta. 3) Planteamiento y desarrollo de un marco de trabajo que posibilite aprovechar las ventajas propias de dichas herramientas y las posibles integraciones entre estas. 4) Aplicación del marco de trabajo en un caso de estudio para obtener datos de la efectividad de este.

Caso de estudio: Proyecto PECUS y Universidad Latina de Costa Rica

La compañía Atlas Corp., en colaboración con la Universidad Latina de Costa Rica, comienza el proyecto PECUS, en el cual se desarrolla un prototipo de collar de control bovino para que los dueños de los vacunos obtengan información específica del animal que lo utilice.

Con el objetivo de alcanzar la meta propuesta del proyecto, la Universidad reúne un equipo de estudiantes de la carrera de Ingeniería en Sistemas Informáticos para comenzar con el desarrollo del prototipo que involucra la aplicación de conceptos y tecnologías relacionadas al Internet de las cosas (IOT por sus siglas en inglés).

El equipo para el desarrollo del prototipo no está conformado solo por los estudiantes directamente relacionados al montaje y programación de este, sino que además se incluye un estudiante cuya especialización se centra en la administración de proyectos informáticos, con el propósito de que este se encargue del control y seguimiento de las tareas del proyecto. Es mediante la participación de este último que se implementa en el proyecto mencionado el marco de trabajo OPEM, descrito en este artículo, para recolectar información acerca del impacto que tiene este sobre el proyecto en general y su posible aplicación en futuros proyectos.

Para obtener un escenario en el que se puedan evaluar la efectividad y la eficacia de la aplicación del marco de trabajo OPEM, la gestión del proyecto PECUS se segmenta en dos etapas. Durante la primera etapa, se ejecutan las tareas relacionadas a la gerencia y seguimiento del proyecto de forma manual, sin utilizar el marco de trabajo, mediante la aplicación de plantillas predefinidas para la generación de documentación, así como la herramienta en línea Taiga administrada únicamente por el gerente de proyectos.

En la segunda etapa, se implementa la automatización de las tareas señaladas por medio del marco de trabajo OPEM, con lo que se realiza una comparación entre la cantidad de errores generados durante la ejecución de las tareas, así como el tiempo que toma la notificación de estas en las herramientas establecidas como oficiales para las comunicaciones grupales del proyecto.

Las dos etapas del proyecto durante las cuales se recolectan datos para la evaluación de la efectividad y eficacia del marco de trabajo OPEM, comprenden un total de diez tareas concurrentes semanales, por un período total de 14 semanas. A continuación, se detallan las tareas y herramientas seleccionadas para dicho análisis: GitHub - Actualización de código (commit), GitHub - Mención de bloqueos en tareas, GitHub - Mención de características incluidas en el código mediante comentarios, Jenkins - Generación de nuevas versiones del proyecto, Slack - Notificación de nueva versión del proyecto creada, Slack - Notificación de actualización de tareas en el chat oficial grupal del proyecto, Slack - Notificación de bloqueo en tareas en el chat oficial grupal del proyecto, Taiga - Actualización de tarea (comentario), Taiga - Actualización de tarea (estado) y Taiga - Notificación de cambios en asignación de tareas.

Identificación del problema

Como parte de la ejecución del control y seguimiento del desarrollo de diversos proyectos, la comunidad de gerentes de proyectos enfrenta problemas comunes a la hora de desempeñar sus funciones. Aun cuando estos implementan diferentes mecanismos de la gerencia de proyectos para mitigar los fallos que se presentan a lo largo de los mismos, muchas veces este esfuerzo es realizado en vano.

Mediante la aplicación de una encuesta a una muestra de 10 egresados que cursaron la especialidad de gerencia de proyectos informáticos de la Universidad Latina de Costa Rica, se determinan los siguientes retos en común: Malas prácticas de desarrollo y de manejo del código, poco compromiso por parte de los desarrolladores con los procesos de recolección y actualización de datos para la gerencia del proyecto, poca automatización de procesos relacionados al control y seguimiento de tareas y falta de estandarización de herramientas de control de actividades y procesos de comunicación entre estas.

Con respecto a las buenas prácticas de control, seguimiento, solo un 40 % dice utilizar un marco de trabajo para la gestión del proyecto. Los procesos manuales para el respaldo y creación de nuevas versiones, ejecutando procesos altamente propensos a errores e incapaces de escalar a soluciones automatizadas, predominan entre la población encuestada.

Figura 1. Utilización de marcos de trabajo en proyectos asignados. 

Solo el 20 % de la población encuestada continúa utilizando marcos de trabajo para la gestión de proyectos, lo cual significa que solo este pequeño porcentaje de los encuestados se trata de gerentes realmente experimentados en la aplicación de marcos de trabajo para la gestión y control de proyectos.

Figura 2. Experiencia en aplicación de un marco de trabajo a un proyecto. 

Otro de los mayores retos que afirman tener los gerentes de proyectos encuestados es la falta de compromiso por parte de los desarrolladores con respecto a actualizar y documentar las tareas que se llevan a cabo.

Figura 3. Nivel de compromiso de los desarrolladles con los procesos de la gestión del proyecto. 

Según los detalles suministrados por los encuestados en la herramienta, se aprecia que los desarrolladores consideran el cumplimiento de los lineamientos de gestión de baja prioridad, en comparación con las tareas de desarrollo directamente relacionadas al producto final, por lo que las primeras se ven afectadas por esta concepción. Por otra parte, en cuanto a las tareas directamente asociadas a la programación, se presenta un escenario opuesto, en el cual la mayoría de encuestados califica como “muy buena” la entrega y disposición de los colaboradores ante estas tareas.

Figura 4. Nivel de compromiso de los desarrolladores con los procesos de desarrollo. 

De acuerdo con la información obtenida de la encuesta realizada a los gestores de proyectos, se determina que el proceso de desarrollo como tal no es un problema, ya que en general el desempeño y entrega de los desarrolladores con respecto a las tareas de programación son bastante favorables. Los detalles que acompañan a las evaluaciones de la entrega de los desarrolladores en este campo incluyen frases como “altamente motivados” y “mucha entrega a las tareas”.

El problema generalizado que se refleja en cuanto al tema específico de la gerencia de proyectos, se enfoca en la falta de motivación por parte de los recursos técnicos para seguir los lineamientos establecidos por el gerente de proyectos en relación con la actualización, manejo y seguimiento de la documentación vinculada al control y estados de las tareas del proyecto.

Con el fin de solucionar dicha problemática, el aplicar aún más herramientas que generen más carga a los desarrolladores, para que el gerente de proyectos pueda darle seguimiento al desarrollo del proyecto, se considera ineficiente y contraproducente. Por esto, el marco de trabajo OPEM adopta como enfoque principal el aprovechar las ventajas de la alta disposición que presentan por lo general los equipos con respecto a las tareas de programación y desarrollo del producto.

La automatización de comunicaciones entre las herramientas de software permite a los recursos técnicos concentrarse en el proceso del diseño y desarrollo del producto final, mediante la introducción de un sistema de actualización y control de las tareas de seguimiento del proyecto, por medio de la inclusión de comentarios, siguiendo un formato específico en el sistema de control de versiones del código.

Lo anterior brinda mayor facilidad para que los recursos técnicos puedan cumplir con su deber de actualizar y documentar su progreso en las tareas determinadas que tienen asignadas, y el gerente del proyecto, además de contar con la información necesaria para el control de las tareas, se beneficia en que los colaboradores invierten una menor cantidad de tiempo documentando el avance y más tiempo realizando avances.

Esto sin mencionar que las actualizaciones de información se llevan a cabo en tiempo real una vez que el desarrollador somete sus cambios al software de control de versiones, por lo que se evitan sesgos de información debido a errores simples como olvidar actualizar la información.

Desarrollo del marco de trabajo OPEM

Para la selección de las herramientas que conforman el marco de trabajo, se toman en cuenta los siguientes aspectos: 1) Se examinan herramientas con altos niveles de compatibilidad en cuanto a las metodologías de desarrollo ágil, ya que un 100 % de los encuestados afirman utilizar estas metodologías para dar seguimiento y controlar las tareas de sus proyectos, mayoritariamente empleando SCRUM con iteraciones semanales. 2) Se enfoca el marco de trabajo en la utilización de herramientas popularmente aceptadas, además de la familiaridad de los encuestados, con el objetivo de evitar grandes curvas de aprendizaje para la implementación y/o uso de este. En la Figura 5 se encuentran los resultados obtenidos de herramientas para control y seguimiento de tareas conocidas por los gerentes de proyectos encuestados. 3) Se delimita la selección de herramientas solo a software libre, con el propósito de que el marco de trabajo pueda ser implementado y/o utilizado por cualquier persona. 4) Se evalúa la capacidad de interacción entre las herramientas con el fin de automatizar los procesos de comunicación y/o actualización de datos lo más posible. 5) Se define el factor de importancia y la documentación de cada herramienta evaluada, a fin de asegurar un adecuado soporte en caso de que alguna de las herramientas presente problemas, o bien, que se desee realizar alguna personalización del modo de trabajo del software.

Figura 5. Matriz de integración. 

Como resultado de la investigación de herramientas que cumplen los criterios anteriores, y el estudio de las posibles interacciones entre ellas, se desarrolla la siguiente matriz que muestra las posibles integraciones de las herramientas seleccionadas.

Con base en la matriz, se observa la existencia de múltiples opciones de software que cuentan con mecanismos para comunicación con otras herramientas de software, esto mediante la implementación de webhooks, los cuales brindan conectividad entre los software para generar una acción cuando un evento específico es alcanzado, automatizando las interacciones entre las herramientas, así como con la interacción humana.

El marco de trabajo OPEM utiliza las siguientes herramientas informáticas: Git/Github: Software de control de versiones, Jenkins: Software de integración continua de código abierto, Slack: Software de comunicación, Taiga: Software para la gestión de proyectos.

Para la ejecución propiamente del proyecto, se establece la utilización de las siguientes metodologías: Scrum (con iteraciones semanales) y Kanban.

Las tareas desarrolladas en ambas metodologías deben seguir los siguientes estados de tarea: 1) No empezado, 2) En proceso, 3) Listo para pruebas, 4) Listo para lanzamiento, 5) Terminado.

Para el procedimiento de envío de commits a los repositorios, el resumen de cada transacción debe respetar el siguiente formato: Resumen del commit: Gitmoji: correspondiente: [ID de tarea]. Descripción Corta. Cuerpo del mensaje: Se debe incluir la información del cambio y estado de las tareas especificadas en Taiga, mediante la utilización del formato obligatorio para la integración, indicado en el siguiente enlace: https://tree.taiga.io/support/integrations/github-integration/.

El marco de trabajo OPEM adopta DevOps, lo que según Atlassian (2018):

(…) es un conjunto de prácticas que automatizan los procesos entre los equipos de desarrollo de software y TI para que puedan compilar, probar y publicar software con mayor rapidez y fiabilidad. DevOps se basa en establecer una cultura de colaboración entre equipos que, tradicionalmente, trabajaban en grupos aislados.

A continuación, se presenta el diagrama de comunicaciones de las herramientas.

Figura 6. Flujo de comunicaciones automatizadas de OPEM. 

Una vez definido el marco de trabajo OPEM, se incorpora en semana 7, para ser utilizados en el desarrollo de un prototipo de collar bovino, esto permite poner en práctica el modelo desarrollado para OPEM y así proveer un marco que permita la interacción de sistemas informáticos para el desarrollo de software y la gestión del proyecto, además de agilizar y controlar los problemas que fueron identificados en las encuestas.

Resultados de la aplicación de OPEM

Durante la primera etapa del desarrollo, en la cual se manejan las comunicaciones manualmente, se experimenta un total de cinco incidencias de retrasos en las tareas debido a demoras por parte del colaborador encargado del desarrollo de la funcionalidad, afectando así los plazos de entrega de futuras funcionalidades. Dichos incidentes se hacen más frecuentes mientras se avanza en el cronograma del proyecto, porque las tareas de desarrollo se tornan más complejas al avanzar en las funcionalidades que deben ser incluidas en el prototipo, provocando que los desarrolladores descuiden la documentación y actualización del estado de las tareas que tienen a cargo.

Después de implementar la automatización de las notificaciones enviadas al completar alguna funcionalidad del prototipo, se reducen a una única incidencia, la cual tiene lugar debido a una limitación de la infraestructura en la que se implementa el marco de trabajo, esto causa que el servicio de notificaciones no esté disponible durante unas horas, retrasando la notificación de que la tarea es completada.

En resumen, al aplicar el marco de trabajo, se puede observar una reducción del 80 % en las incidencias de falta de notificación de tareas completadas, evitando así retrasos al proyecto (ver Figura 7).

Figura 7. Experiencia en la aplicación de un marco de trabajo a un proyecto. 

El tiempo que los desarrolladores toman entre el momento en que envían los cambios de código de una nueva funcionalidad y realizan la notificación de esto, puede tomar desde 30 minutos hasta más de una hora en ciertas ocasiones. Durante la segunda semana, se debe llevar a cabo una reunión de seguimiento pues los tiempos registrados sobrepasan por mucho el rango de tiempo esperado para la actualización, lo que lleva a mejores resultados durante las siguientes semanas.

Sin embargo, a partir de la semana siete (semana en la que se implementa la automatización mediante OPEM), se puede ver una reducción significativa de los tiempos de notificación (alrededor de tres minutos), manteniendo un comportamiento estándar para dichos tiempos durante el resto de las semanas en las que se desarrolla el proyecto.

Figura 8. Experiencia en la aplicación de un marco de trabajo a un proyecto. 

En la Figura 9, se aprecia una reducción promedio de hasta un 80 % en el tiempo invertido por parte de los desarrolladores para realizar las tareas relacionadas con la actualización de datos para el control del proyecto y sus tareas.

Figura 9. Experiencia en la aplicación de un marco de trabajo a un proyecto. 

Automatizado el proceso de documentación y actualización de estados y tareas que los desarrolladores del proyecto deben cumplir, e integrado a las herramientas de desarrollo como tal, se obtiene un incremento significativo en la cantidad de entradas que se efectúan para la documentación de las tareas. La fijación de estándares para el cumplimiento de dicha documentación sin afectar el proceso de desarrollo de los involucrados en el proyecto se traduce en un incremento de hasta un 50 % en las entradas de documentación de cada tarea.

Cabe resaltar que los registros también son dependientes del nivel de complejidad de la tarea y el tiempo que se debe invertir por parte del desarrollador para completarla. En la Figura 10 se muestra el aumento, además de un comportamiento claro en donde las tareas de inicio y fin del proyecto (las cuales requieren un menor esfuerzo por parte del desarrollador) cuentan con una menor cantidad de entradas.

Figura 10. Experiencia en la aplicación de un marco de trabajo a un proyecto. 

Finalmente, aun cuando se define un estándar claro para la generación de versiones y anunciados en el repositorio utilizado para el proyecto, los desarrolladores deben pasar por una fase de aprendizaje para acostumbrarse a este, en la cual se logra una mayor cantidad de envíos de código que no siguen los estándares establecidos para el proyecto. Esta situación cambia en las semanas siguientes porque la causa para las faltas al estándar no está ligada a la fase de aprendizaje, sino a la urgencia por completar las tareas de desarrollo.

El brindar a los desarrolladores del proyecto la oportunidad de completar no solo sus tareas de programación, sino evitar el proceso largo de documentación de estas, mediante la aplicación de un estándar a los envíos de código al repositorio, conlleva a un incremento notable de los envíos de código que cumplen los estándares definidos para el proyecto. Esto acompañado de un comportamiento estable de uso de los estándares que se lleva hasta la finalización del proyecto, con una cantidad de errores notablemente menor a la fase desarrollada sin el marco de trabajo (ver Figura 11).

Figura 11. Experiencia en la aplicación de un marco de trabajo a un proyecto. 

En la Tabla 1, se muestra los resultados al aplicar el marco de trabajo a partir de semana 7. Los resultados reflejan la disminución de incidentes, la mejora en tiempo de actualización, en el tiempo del desarrollado y la mejora notablemente el promedio de tareas ejecutas por semana.

Tabla 1. Comparativo sin utilizar OPEM vs utilizando el marco de trabajo OPEM. 

Porcentaje Promedio
Incidentes Tiempo actualización de datos Tiempo del desarrollador Tareas actualizadas por semana
Semana 1-6 Sin OPEM 80 % 40 min 35 min 3
Semana 7-14 Utilizando OPEM 20 % 5 min 10 min 6.5

En otros proyectos de corte cualitativo se describen resultados tales como, el del estudio de caso realizado en la empresa de trabajo Denitoor. El cual asegura que han configurado de manera efectiva un entorno de trabajo en el que no se requiere la presencia física, las soluciones son gratuitas y lograron un consenso orgánico en la forma en que opera el equipo virtual. Además, afirman que el marco de trabajo es un esfuerzo constante y la efectividad captura la esencia del duodécimo principio del Manifiesto Ágil: Inspeccionar y adaptar es uno de los motores centrales que se da a través del trabajo articulado. Además, retoman que un enfoque holístico proporciona una validación inicial de la hipótesis acerca de que un entorno de trabajo virtual puede diseñarse para respaldar a un equipo de desarrollo ágil que se distribuye en diferentes sitios.

Por otra parte, Ameller y otros (2017) aseguran en su estudio conceptual, que más allá de la prueba de concepto, estas herramientas también se pueden ampliar con otras funcionalidades útiles para mejorar su idoneidad y facilidad de uso en el contexto del control y seguimiento de proyectos.

No se encontraron datos cuantitativos que permitieran realizar una comparación del rendimiento del OPEM con otras integraciones similares.

Conclusión

La opinión de los expertos a través de la encuesta, sugirió que uno de las principales circunstancias negativas a considerar en la gestión de proyectos de desarrollo de software, está vinculado al compromiso que asumen los desarrolladores con los procesos de gestión, control y seguimiento. OPEM es un marco de trabajo que presenta herramientas para facilitar la interacción de los desarrolladores con el seguimiento del proyecto, además permite integrar sistemas que faciliten la comunicación, disminuyan el tiempo y agilicen las tareas.

Mediante la aplicación del marco de trabajo OPEM en el desarrollo del proyecto PECUS, se obtiene una disminución significativa de errores en el proceso de desarrollo del prototipo, los cuales ocurren debido a retrasos en la comunicación de las tareas que se desarrollan en paralelo con el propósito de optimizar el tiempo de trabajo efectivo. Al existir dependencias entre las funcionalidades en desarrollo, el finalizar una funcionalidad y no notificarlo puede traducirse en retrasos para las futuras fases del proyecto.

Uno de los principales retos directamente relacionados al control y seguimiento de las tareas de un proyecto informático de desarrollo, es la poca disposición que por lo general presentan los programadores para ejecutar las tareas de documentación y actualización del estado de las tareas, debido a que por lo general existe una concepción de urgencia por completar las implementaciones planeadas a nivel de código, mientras que el seguimiento y control queda relegado a un segundo plano por parte de estos. Lo anterior, combinado con la utilización de distintas herramientas para completar las tareas y la documentación de estas, conlleva a que los desarrolladores le resten importancia, aplacen o inclusive eviten la documentación de los estados de manera regular.

Mediante la automatización de las notificaciones y actualizaciones en las diferentes herramientas que involucra el marco de trabajo OPEM, se les brinda a los desarrolladores la capacidad de cumplir con las tareas de documentación al mismo tiempo que llevan a cabo las tareas de desarrollo, con las mismas herramientas que utilizan para esta última tarea, por medio de la definición de estructuras simples que permiten generar por ellos mismos la documentación y las entradas necesarias en los sistemas de control y seguimiento del proyecto.

Con los resultados expuestos, se observa que la aplicación de la agilización de tareas de la gerencia de proyectos informáticos es posible mediante la utilización de las prácticas de DevOps, con el fin de obtener beneficios en términos de eficacia y eficiencia durante la ejecución del control y seguimiento de las tareas identificadas para un proyecto de este tipo.

Por medio de la recolección de datos, se presenta una serie de alternativas de herramientas que pueden ser utilizadas para la agilización de procesos de control, seguimiento y documentación de las tareas de los proyectos, que a pesar de quedar por fuera del marco de trabajo OPEM, pueden ser un valioso punto de inicio para gerentes de proyectos que deseen utilizar herramientas de código privativo en su gestión.

Es necesario remarcar que, si bien las herramientas que conforman OPEM son de código abierto, las capacidades de los servicios gratuitos que actualmente se encuentran en la nube poseen diversas restricciones en términos de funcionalidad. Para acceder plenamente a las capacidades de las herramientas, se recomienda la instalación de estas en ambientes propios, ya sea de manera local o en la nube.

Se diseña, configura e implementa un marco de trabajo (OPEM), ideado con la finalidad de que sea adecuado para su ejecución en futuros proyectos informáticos con restricciones de presupuesto y/o infraestructura, que les permita a los gerentes de proyectos facilitar las tareas de control tanto para sí mismos como para sus equipos, agilizando procesos de documentación y notificaciones, por lo cual se basa en herramientas de código abierto, posibilitando efectuar mejoras y/o personalizaciones a dichas herramientas.

La mayoría de las herramientas utilizadas en este marco de trabajo, son de acceso libre para grupos pequeños, y pueden ser utilizadas en diversos proyectos informáticos, sin embargo, se debe considerar que existen dos herramientas que están directamente vinculadas con el desarrollo e implementación código, las otras herramientas permiten agilizar la comunicación en proyectos que no son precisamente de desarrollo de software.

Los resultados obtenidos de la implementación del marco de trabajo OPEM en el caso de estudio PECUS-Universidad Latina, demuestran los beneficios en términos de eficacia y eficiencia de procesos que este puede brindar a proyectos de informática, específicamente enfocados a la programación de soluciones informáticas o soluciones de infraestructura basadas en código.

La versión actual del marco de trabajo OPEM se enfoca en la agilización de las comunicaciones, notificaciones y documentación de las tareas de desarrollo en herramientas de gestión de proyectos, con el objetivo de facilitar el trabajo del gerente. La creación de documentos estándar para la definición del proyecto que cubran las necesidades de herramientas para la planeación previa al inicio del proyecto puede dar un impacto aun mayor a los beneficios que otorga en la actualidad el marco de trabajo a los gerentes que lo apliquen.

En trabajos futuros debe observarse el comportamiento del marco de trabajo extendido a proyectos de un alcance más grandes e incluso medir la interacción que provee el marco de trabajo entre los desarrolladores y el gerente del proyecto.

Bibliografía

Abebe, E., Karunamoorthy, D., & Vecchiola, C. (2018). Estados Unidos Patent No. 15/259793. [ Links ]

Ameller, D., Farre, Carles, Franch, X., Valerio, D., & Cassarino, A. (2017). Towards Continuous Software Release Planning. IEEE, 402-406. Doi:10.1109/SANER.2017.7884642. [ Links ]

Anantatmula, V. S. (2008). The role of technology in the project manager performance model. Project Management Journal, 39(1), 34-48. [ Links ]

Arciniegas-Mendez, M., Zagalsky, A., Storey, M.-A., & Hadwin, A. (2017). Using the Model of Regulation to Understand Software Development Collaboration Practices and Tool Support. Proceedings of the 2017 ACM Conference on Computer Supported Cooperative Work and Social Computing, 1049-1065. Doi:10.1145/2998181.2998360. [ Links ]

Atlassian. (2018, 05 12). DevOps: cómo romper la barrera entre Desarrollo y Operaciones. Retrieved from Atlassian: https://es.atlassian.com/DevOps. [ Links ]

Berrocal, J., García, J., & Murillo, J. (2007). Hacia una gestión del proceso software dirigida por Procesos de Negocio. Quercus Software Engineering Group. [ Links ]

Campodonico, D. (2018, 01 05). Project Management as a Skill and Its Resiliency to Technological Change. Retrieved from Project Management: https://www.projectmanagement.com/articles/428764/Project-Management-as-a-Skill-and-Its-Resiliency-to-Technological-Change?PMIwelcome=1&regComplete=1&. [ Links ]

Christie, A. M. (1995). Software Process Automation: The Technology and Its Adoption. Pennsylvania: Springer. [ Links ]

Crowston, K., Annabi, H., Howinson, J., & Masango, C. (2004). Effective Work Practices for Software Engineering: Free/Libre Open Source Software Development. ACM Computing Surveys, 18-26. Doi:10.1145/1029997.1030003. [ Links ]

Fiallos, Á., Suarez, P., & Villavicencioa, M. (2016). Metodologías ágiles en el desarrollo de software: un enfoque basado. In F. Rivas, Avances y aplicaciones de sistemas inteligentes y nuevas tecnologias (pp. 2-14). Los andes: Consejo de Publicaciones Universidad de los Andes. [ Links ]

Grevins, J. S. (2000). he role of project management software in project management process and project success. Project Management Research at the Turn of the Millennium. París: Project Management Institute. [ Links ]

H., W. D., & D., C. (2004). Understanding the role of “vision” in project success. Project Management Journal , 5(3), 39-52. [ Links ]

Kerzner, H. (2009). Project project management a systems approach to planning, scheduling, and controlling. New Jersey: John Wiley & Sons, Inc. [ Links ]

Kulakov, M. (2017, 04 21). EverHour. Retrieved from 14 Best Project Management Tools - Pros and Cons: https://everhour.com/blog/14-best-project-management-tools/. [ Links ]

Len Bass, I. W. (2015). DevOps: A Software Architect's Perspective. New York: Addison-Wesley Professional. [ Links ]

Lin, B., Zalgasky, A., & Storey, M. S. (2016). Why Developers Are Slacking Off: Understanding How Software Teams Use Slack. CSCW '16 COMPANIO. [ Links ]

M., P., & P., R. (2007). Supporting project management processes with integrated software tools and databases: the PRINCE2 ™ project board approach to senior management engagement. PMI® Global Congress 2007-EMEA, Budapest, Hungary. Newtown Square: Project Management Institute. [ Links ]

Pernille, L., Tell, P., Michelsen, C., & Dittrich, Y. (2018). Virtual by Design: How aWork Environment can Support Agile Distributed Software Development. ACM, 50-62. doi:10.1145/3196369.3196374. [ Links ]

PM Solutions. (2010, 01 01). The State of PMO 2010. Retrieved from PM Solutions: http://www.pmsolutions.com/collateral/research/State%20of%20the%20PMO%202010%20Research%20Report.pdfLinks ]

Project Management Institute. (2013). GUÍA DE LOS FUNDAMENTOS PARA LA DIRECCIÓN DE PROYECTOS. (Guía del PMBOK®) - Quinta edición. Pensilvania: Project Management Institute, Inc. [ Links ]

Project Management Institute. (2018, 04 05). The Value of Project Management. Retrieved from Project Management Institute: https://www.pmi.org/-/media/pmi/documents/public/pdf/white-papers/value-of-project-management.pdf. [ Links ]

Sahlin, J. P. (1998). How much technical training does a project manager need? PM Network, 12(5), 35-36. [ Links ]

Smart, P. (2018, 03 12). Project Smart. Retrieved from The Standish Group Report: https://www.projectsmart.co.uk/white-papers/chaos-report.pdf. [ Links ]

Thamhain, H. J. (1999). Validating technical project plans. Project Management Journal , 20(4), 43-50. [ Links ]

The Standish Group. (2013). CHAOS MANIFESTO 2013 Think Big, Act Small. Boston: The Standish Group. [ Links ]

Torres, F. (2008). Integración del PMBOK al RUP para proyectos de Desarrollo de Software. PMI® Global Congress 2008. São Paulo: Project Management Institute. [ Links ]

What is Project Management? (n.d.). Retrieved 4 8, 2018, from Project Management Institute: http://www.pmi.org/About-Us/About-Us-What-is-Project-Management.aspx. [ Links ]

Yujuan Jiang, B. A. (2015). Co-evolution of infrastructure and source code: an empirical study. Proceedings of the 12th Working Conference on Mining Software Repositories, 45-55. [ Links ]

Innovación tecnológica: Marco de trabajo OPEM para el desarrollo de tecnología.

Área de aplicación industrial: Pequeñas empresas que necesiten gestionar los desarrollos tecnológicos.

Recibido: 07 de Mayo de 2019; Aprobado: 20 de Agosto de 2019

Creative Commons License Este es un artículo publicado en acceso abierto bajo una licencia Creative Commons