Design and Implementation of a Semantic Task Automation System for Agile Software Project Environments

Javier Diez. (2016). Design and Implementation of a Semantic Task Automation System for Agile Software Project Environments. Trabajo Fin de Titulación. ETSI Telecomunicación, Universidad Politécnica de Madrid.

Nowadays, agile methodologies are the most used for software development projects. Agile methodologies are an alternative to traditional project management tecniques, which help teams respond to continuous requirement’s changes by iterative work cadences, known as sprints. These methodologies need of continuous updates on the project status at a task level (task done or pending). In order to achieve this, a platform that integrates all the software artefacts is desirable. It is tedious for a software developer to update manually this information in every tool, so the automation of this process would be extremely valuable. The objective of this final project thesis is the design and implementation of a seman- tic task automation system for agile software project environments. The project defines and implements the architecture of a system which automates the tasks in an agile software development environment. To this end, the project proposes the use of a semantic task automation platform. Moreover, the project has developed a platform in which the software project’s information from different sources is shown and provides a development environment for software organizations. In order to achieve this goal, the project aims at i) adapting the semantic task automation platform and ii) develop a software platform which integrates project’s information and sets a collaborative organization framework. The project information platform is composed of several submodules that are connected to the semantic automation platform. Based on these automations, the platform will provide updated information about the project. The semantic task automation platform is composed of several submodules that evaluate automation rules. Between these modules, the most relevant ones are rule and channel management and a module that triggers the actions as a result of evaluating the rules. In order to adapt this platform to its new use, new channels and rules has been created. In addition, new mechanisms for integrating events and triggering actions have been developed. The system developed in this project has been integrated in a real case, automating tasks in an agile software project development environment. Finally, the problems faced during the development, the conclusions drawn of this project and the possible lines of future work are exposed.