Experiencia de aplicación del Kernel del Semat en entornos académicos (2016)
En un contexto de innovación en temas de ingeniería de software, el entorno académico presenta ciertas ventajas en la enseñanza y análisis de diversas teorías sobre desarrollo de software. Allí se puede encontrar un reflejo del uso y aprendizaje de métodos de desarrollo, los cuales son muy útiles para alcanzar las metas de un proyecto. El presente trabajo se enfatizó en aspectos esenciales de una nueva iniciativa llamada SEMAT (Software Engineering Method and Theory), que sirve como marco de trabajo y de pensamiento para cualquier método de desarrollo de software, especialmente si se trata de un método ágil. Su principal lenguaje se conoce como el núcleo; el análisis realizado durante esta investigación fue evaluar si los principios, valores y prácticas en un equipo de desarrollo de software son efectivamente apoyados con herramientas adecuadas, de tal manera que se alcancen menores costos de producción, ampliación de funcionalidades y sencillez del software construido. Durante el desarrollo de la investigación se construyó la aplicación web SEMAT Manager, que fue usada por varios grupos de trabajo durante el desarrollo de un proyecto de software. Mediante esta herramienta se recolectó información para analizar el progreso y comportamiento del equipo de trabajo durante la construcción del software. Adicionalmente, se identificó y valoró el impacto del uso de SEMAT en equipos de desarrollo, y se obtuvo información útil que pueden usar empresas que quieran implementar SEMAT en combinación con algún método ágil de desarrollo. La investigación realizada se dividió en dos fases. La primera se enfocó principalmente en una revisión de herramientas existentes en el mercado que apoyan la iniciativa SEMAT, así como también sobre la construcción de la herramienta web llamada SEMAT Manager, la cual contempla varias funcionalidades para la administración de proyectos de software. SEMAT Manager permite describir un proyecto detalladamente: los productos de trabajo a generar, clientes del software, integrantes del equipo de desarrollo, herramientas a usar, una wiki para la organización del proyecto, entre otras. Adicionalmente, en SEMAT Manager se puede realizar un seguimiento y una planeación iterativa de las tareas definidas para la construcción del software; esto apoyado de una funcionalidad llamada Status Board, la cual modela el núcleo de SEMAT de una manera fácil de entender y usar. Finalmente, la herramienta tiene funcionalidades generales, como la gestión del perfil de usuario, cambio de contraseña, registro de actividades de un usuario y demás, con el fin de brindar una experiencia agradable al usuario. En la segunda fase se llevó a cabo el seguimiento a un caso de estudio con desarrolladores de software en un entorno académico, usando el núcleo del SEMAT. Dicho caso fue planificado, ejecutado, monitoreado y analizado con técnicas y procesos propios de investigación empírica en ingeniería de software. Los resultados no son generalizables, pero arrojan evidencias positivas en relación con la organización de equipos ágiles de desarrollo. Finalmente, se puede sentar un precedente en el ámbito académico para que investigadores, docentes, estudiantes y empresas de software conozcan e implementen esta iniciativa en sus proyectos de desarrollo y mantenimiento de software; así como encuentren una guía en los resultados de este proyecto. En síntesis, con los resultados de este proyecto se busca contribuir en la aplicación de nuevas formas desarrollar software en Colombia que mejoren la productividad de las empresas y la calidad de los productos generados.