GEMS

Gestión Experimental de la Mejora de Software

Proyecto FONDEF IDeA IT13I20010, CONICYT

Departamento de Ciencias de la Computación
Universidad de Chile

Gestión Experimental de la Mejora de Software

Proyecto FONDEF IDeA IT13I20010, CONICYT

Departamento de Ciencias de la Computación
Universidad de Chile

Resumen. El desarrollo de software en Chile, así como en la mayor parte del mundo, está en manos de pequeñas y medianas empresas (PyMEs). Estas empresas no llegan en general a 100 empleados, y la mayor parte de ellas tiene menos de 20. Esta situación hace que frecuentemente todas las personas se involucran de una u otra forma en el desarrollo de los proyectos de software, teniendo muy poca flexibilidad a la hora de asignar personas a proyectos. Esta rigidez genera riesgos debido a posibles incompatibilidades de carácter dentro de los miembros del equipo o bien por no adecuarse sus capacidades a las necesidades del proyecto. Para este tipo de empresas también ocurre que el desarrollo de software se realiza siguiendo procesos ad hoc, no repetibles, y que dificultan la planificación y la evaluación del desempeño con respecto a datos históricos. Leer más.

Como si esto fuese poco, las PyMEs no suelen tener recursos disponibles – ni tiempo, ni dinero, ni recursos humanos – para dedicar a mejorar estas falencias. Nuestro grupo de investigación ha estado involucrado desde hace una década en promover las mejores prácticas de la ingeniería de software en la industria chilena, y en particular en la mejora de procesos de software. Durante los últimos 3 años hemos desarrollado el proyecto Fondef de interés público ADAPTE, cuyo objetivo era desarrollar herramientas basadas en ingeniería dirigida por modelos para la adaptación automática de procesos de software a contextos específicos de proyectos. Estas herramientas han sido validadas en 4 empresas en condiciones controladas y su resultado ha sido de gran utilidad. Sin embargo, las herramientas son también de gran complejidad por lo que sólo recientemente hemos terminado de desarrollar los prototipos correspondientes. Esto ha impedido que ADAPTE pueda hacer una masificación de sus resultados y por lo tanto su impacto en la industria del software chileno no ha alcanzado aún todo su potencial.

Como parte de GEMS proponemos integrar las herramientas desarrolladas en ADAPTE y aplicarlas en la práctica. Una vez que se usen las herramientas, las empresas estarán en condiciones de registrar y analizar información de gestión de sus proyectos de tal modo de poder usarla como retroalimentación para la mejora continua basada en datos empíricos. Esto es porque en la práctica, aun cuando un proyecto se inicia con el proceso y el equipo de trabajo más adecuado (según los recursos disponibles), no se puede garantizar su éxito. Como los empleados en las PyMEs trabajan en distintos roles en distintos proyectos al mismo tiempo, en las PyMEs se termina trabajando para cumplir los plazos más urgentes, en vez de ser sistemático siguiendo la planificación.

Para mejorar esta situación, GEMS complementará las herramientas de ADAPTE con nuevas herramientas para la ejecución de procesos, registro y recolección de métricas, visualización de información agregada, y soporte de herramientas y procedimientos para la mejora continua de la gestión de proyectos de desarrollo de software. Así, en cualquier momento durante la ejecución del proyecto, el jefe de proyecto y su equipo tendrán a su disposición datos agregados acerca de la salud de los proyectos en que trabajan, permitiendo al equipo reaccionar en forma proactiva a imprevistos y desviaciones.

Ocultar el resumen.


Encuesta
Hemos finalizado la encuesta a las PyMEs de software de Chile. 89 empresas han respondido la encuesta, de las cuales 61 lo han hecho completamente y 28 parcialmente. Además, 31 empresas han decidido compartir su logo.

¡Le agradecemos a todas las empresas por haber dedicado su tiempo a participar en la encuesta!

Hipótesis

El software desarrollado aplicando un proceso adaptado al contexto aplicado por un jefe de proyecto usando las herramientas desarrolladas, resulta mejor.

El software desarrollado por un equipo de trabajo asignado por el jefe de proyecto usando las herramientas desarrolladas, resulta mejor.

La mejora del software puede medirse objetivamente en términos de:

  • menor tiempo de desarrollo
  • menor costo de desarrollo
  • mayor calidad del producto desarrollado
  • menores riesgos en el proceso de desarrollo
  • mejor ambiente laboral

Problema

Las pequeñas y medianas empresas (PyMEs) son típicamente diferentes a las grandes empresas de software en términos de su operatoria, lo cual hace que la gestión de los proyectos requiera considerar aspectos particulares para ellas. Las características propias de las PyMEs hacen que los resultados de sus proyectos no sean repetibles, que no se pueda predecir su tasa de éxito (al igual que los tiempos y costos involucrados en los desarrollos), que sus procesos sean difícil de mejorar debido a la falta de control de las empresas sobre dichos procesos. Esto se ve reflejado en la baja productividad de las empresas y en el alto riesgo que deben enfrentar muchos de sus proyectos, lo cual impacta negativamente en la competitividad de dichas empresas y en las expectativas de mantenerse en el mercado.

Las características de la operatoria de las PyMEs de software son: (leer más)
  • Trabajan en proyectos chicos, típicamente de hasta seis meses. Estos proyectos usualmente no son muy complejos. Muchas de estas empresas son de nicho, por lo tanto trabajan en proyectos de un área específica. Esta estrategia de especialización parece ser la mejor herramienta para hacerle frente a las exigencias del mercado.
  • Trabajan en equipos chicos, típicamente de entre 3 y 10 personas dependiendo del proyecto. El tamaño de estos equipos les ayuda a reducir el costo de coordinación entre sus miembros. Estos equipos de desarrollo usualmente tienen jornadas largas y desarrollan bajo presión.
  • Cuentan con pocos recursos, tanto humanos, como tecnológicos y económicos. De los tres tipos de recursos, los más críticos usualmente son los recursos económicos, especialmente en empresas chicas, pues la operación de éstas depende fundamentalmente de la disponibilidad de flujo de caja. Esto hace que las PyMEs estén más urgidas que las empresas grandes por sacar un producto de software a tiempo, pues no tienen margen de maniobra.
  • La calidad de su personal es limitada debido principalmente a la falta de recursos económicos para contratar a gente altamente calificada. Estos desarrolladores son habitualmente más generalistas que especialistas, pues se les pide jugar diferentes roles en diferentes proyectos.
  • Sus procesos de software son usualmente informales y bastante inmaduros. Los procesos de los equipos de pequeños (de hasta 5 personas) se suelen basar sus procesos en la colaboración entre los miembros. Aunque estos procesos pueden parecer caóticos más que ágiles, muchos de éstos han mostrado ser útiles en la práctica.
  • La gestión de proyectos es bastante informal en términos de planificación, dirección, gestión de riesgos, monitoreo y control. Las herramientas que se usan para apoyar la gestión son usualmente muy variadas, y usualmente no conversan entre ellas, lo cual hace que el jefe de proyecto tenga poca visibilidad del estado real del proyecto y del producto. Iniciativas ampliamente aceptadas para PyMEs, como Competisoft, recomiendan ir hacia una gestión de proyectos más formal e integrada, para así mejorar los resultados de estas empresas.
  • La estructura organizacional es usualmente informal, y los roles que la gente juega en los diferentes proyectos están usualmente poco definidos. Típicamente los desarrolladores ejecutan varios roles en un mismo proyecto, e interactúan con otros miembros del equipo bajo un esquema prácticamente horizontal.

Ocultar las características.

Dada la falta de tiempo y recursos humanos y económicos de las PyMEs, y considerando la informalidad de sus procesos y equipos, apuntar a mejorar la gestión de procesos y equipos utilizando herramientas, parece ser una opción muy razonable para este escenario. Más aun considerando que recomendaciones como CMMi y el nuevo estándar ISO para PyMEs apuntan sus recomendaciones en esa dirección.

En trabajos previos se han desarrollado herramientas para definir, en base a un contexto de proyecto dado, procesos y equipos adaptados. También se han desarrollado herramientas que ayudan a gestionar estos procesos y equipos, entregándole al jefe de proyecto información clave y de simple lectura para la toma de decisiones. Debido a que estas personas usualmente gestionan varios proyectos en paralelo y cuentan con poco tiempo para su administración, la información entregada debe permitirles realizar un diagnóstico realista en poco tiempo, para sí saber qué hacer y poder hacerlo rápido, pues el tiempo es una limitante recurrente en proyectos realizados por PyMEs.

La principal limitante para poder masificar estas herramientas radica en que éstas necesitan ser más generales y usables (desde el punto de vista de sus interfaces) para poder ser utilizadas por terceros sin asistencia externa. También se requiere que los potenciales usuarios sean capaces de ver las ventajas de utilizar estas herramientas, para que de esa manera se fomente su adopción por parte de las PyMEs. Por lo tanto, este tipo de iniciativa de investigación aplicada y transferencia puede llevarse a cabo en el marco de un programa como IDeA.

El impacto que se puede lograr con la adopción de estas herramientas en cada empresa son: (1) la reducción de costos y tiempos de sus proyectos, (2) la mejora de la tasa de éxito y la previsibilidad de los mismos, y (3) la reducción del nivel de riesgos de cada desarrollo. Para lograr masificar las herramientas propuestas es importante respetar la realidad, los tiempos y las prioridades de cada PyME, de manera que la adopción se haga a conciencia y en base a resultados previos. Por lo tanto, las herramientas a masificar deben ser planteadas como “building blocks”, que permitan a las empresas hacer una adopción incremental en base a lo que ellas estimen como más apropiado para su realidad. Así las empresas podrán avanzar en la mejora de la gestión de sus proyectos, a su propio ritmo y con sus propias prioridades.

Solución

GEMS se enmarca en el área de mejora del proceso de software, basado en enfoques empíricos de recolección de datos, para apoyar la toma de decisiones informadas por parte de jefes de proyectos durante un desarrollo ejecutado por una PyME. Los factores que consideramos en la solución son:

En las PyMEs que tengan definido su proceso de desarrollo, la plataforma GEMS apoyará al equipo de trabajo en las etapas de Planificación, Ejecución, Monitoreo y Análisis:

Objetivos

Construir, transferir y validar una plataforma de gestión de proyectos de desarrollo de software basada en procesos adaptables.


Métricas de proceso y personas

Construir una plataforma tecnológica portable y de libre acceso que permita a las empresas registrar los datos de la ejecución de sus proyectos de desarrollo de software.

Paneles de control

Construir paneles de control que permitan visualizar la información de gestión de los proyectos de forma agregada, y de tal forma que permita tomar decisiones de forma oportuna.

Cursos de capacitación

Elaborar y dictar cursos de capacitación sobre metodologías de especificación de procesos, adaptación de procesos a contextos, conformación de equipos apropiados para el desarrollo de un proyecto, y mejora empírica de la gestión de proyectos de software.

Masificación

Hacer disponible a las empresas de software chilenas los productos desarrollados dentro del proyecto, así como también los cursos de capacitación en línea asociados a los mismos

Empresas

GECHS
Mandante
José Manuel Infante 146, Providencia, Santiago, Chile
www.gechs.cl
+56 (2) 2584 8703

GECHS-Software y Servicios Chile A.G. es la Sociedad Chilena de Software y Servicios Asociación Gremial. Se dedica a cumplir los siguientes objetivos: estudiar, investigar, desarrollar, fomentar y promocionar la industria de la creación y diseño de Programas Computacionales y los Servicios Anexos derivados de la misma industria. Fue fundada en el año 2002, buscando que sus empresas asociadas logren posicionar sus productos y servicios en el ámbito nacional e internacional.

En la actualidad, GECHS reúne a más de 100 empresas de software y servicios nacionales, localizadas en Santiago, Valparaíso y Concepción, a las cuales les proporciona una oferta integral de servicios y programas que contribuyen a mejorar la gestión de sus negocios. Representa más del 50% de las ventas de la industria de Software de Chile, alrededor de USD$ 170 millones al año. El tamaño de las empresas que la componen se divide de la siguiente forma: 55% grandes y medianas, 40% corresponden a pequeñas empresas y 5% a microempresas. Ellas generan aproximadamente 4.000 puestos de trabajo.

Las tres empresas asociadas a GEMS – Amisoft, Ki Teknology y Mobius - han sido parte del proyecto Fondef de interés público ADAPTE. Tenemos con ellos una relación fluida de colaboración, lo que ha hecho que deseen seguir trabajando con nosotros en investigación aplicada. Por otro lado, Árbol Lógika se suma como nuevo asociado al proyecto con el fin de darle a la plataforma una visión diferente de las empresas que ya están familiarizadas con la misma. Es importante su participación para optimizar la usabilidad y prototipar los tiempos requeridos por las empresas para la instalación correcta.

Amisoft
Empresa asociada
Compañía 1390 piso 22 oficina 2203, Santiago Centro, Chile
www.amisoft.cl
+56 (2) 2657 9800

Ki Teknology
Empresa asociada
Evaristo Lillo 178 oficina 12, Las Condes, Santiago, Chile
info@kiteknology.com
www.kiteknology.com
+56 (2) 2321 3105

Mobius
Empresa asociada
Lira 278, Santiago, Chile
transporte@mobius.cl
www.mobius.cl
+56 (2) 2429 7700

Árbol Lógika
Empresa asociada
Av. Libertador Bernardo O'Higgins 1315 oficina 74, Santiago, Chile
www.arbol-logika.com
+56 (2) 2465 3889

Institución académica

 
Departamento de Ciencias de la Computación
Universidad de Chile
Institución académica
Beauchef 851 piso 3, Santiago, Chile
www.dcc.uchile.cl
+56 (2) 2978 4330

 

Equipo

Equipo de trabajo

Cecilia Bastarrica
Profesor asociado, Departamento de Ciencias de la Computación, Universidad de Chile
Directora
cecilia@dcc.uchile.cl
www.dcc.uchile.cl/~cecilia

Daniel Perovich
Doctor en Ciencias mención Computación
Investigador asociado
dperovic@dcc.uchile.cl

Luis Silvestre
Estudiante de doctorado, Departamento de Ciencias de la Computación, Universidad de Chile
Tesista

Fabián Rojas
Estudiante de doctorado, Departamento de Ciencias de la Computación, Universidad de Chile
Tesista

Paola Leyton
CLYP Comunicación Estratégica
Periodista

Sergio Ochoa
Profesor asociado, Departamento de Ciencias de la Computación, Universidad de Chile
Director alterno
sochoa@dcc.uchile.cl
www.dcc.uchile.cl/~sochoa
+56 (2) 2978 4879

Romain Robbes
Profesor asistente, Departamento de Ciencias de la Computación, Universidad de Chile
Investigador asociado
users.dcc.uchile.cl/~rrobbes
+56 (2) 2978 4974

Maira Marques
Estudiante de doctorado, Departamento de Ciencias de la Computación, Universidad de Chile
Tesista

Silvia Lamadrid
Coordinadora del Núcleo de Investigación Género y Sociedad Julieta Kirkwood, Departamento de Sociología, Universidad de Chile
Socióloga
uchile.cl/s58099

Jocelyn Simmonds
Profesor asistente, Departamento de Ciencias de la Computación, Universidad de Chile
Investigador asociado
+56 (2) 4978 4876

Alcides Quispe
Estudiante de doctorado, Departamento de Ciencias de la Computación, Universidad de Chile
Tesista
www.dcc.uchile.cl/~aquispe
+56 (2) 2978 4633

Felipe González
Estudiante de maestría, Departamento de Ciencias de la Computación, Universidad de Chile
Tesista

Sandra Gaez
Secretaria docente, Departamento de Ciencias de la Computación, Universidad de Chile
Apoyo administrativo
sandra@dcc.uchile.cl
+56 (2) 2978 4330

Contacto

Departamento de Ciencias de la Computación
Universidad de Chile
Beauchef 851 piso 3, Santiago, Chile
+56 (2) 2978 4330
gems@dcc.uchile.cl

El Departamento de Ciencias de la Computación está cambiando su dirección. Está ubicado en el mismo edificio, pero la entrada cambió de Av. Almirante Blanco Encalada 2120 a Beauchef 851.