Nowadays, software systems are increasingly complex and their development becomes a continuous challenge for software companies that must adapt their way of working to the changing, dynamic and globalized environment that characterizes them. In order to produce quality software products, in a time of adequate market access and at a competitive cost, software processes have become one of the fundamental assets of any company in the Information Communications and Technology sector (ICT).
There are many standards and reference models which the software industry uses and applies, which establish the importance of having defined and documented software processes, establishing what characteristics or requirements should achieve, but do not indicate how to define those processes. The search for the best way to represent and define software processes within organizations, to guarantee their use in a systematic and institutionalized way, has been the object of study for decades, by creating different languages of software process modeling .
However, in spite of all efforts to generate a software process modeling language that stands out above the rest and became a standard of widespread use by software organizations worldwide, none has had a much higher acceptance to the rest. In contrast to the more widespread standardization proposals, the approach in this dissertation advocates maintaining the diversity of software process modeling languages in organizations as they see timely, with their fundamental objective being the development of a framework to facilitate, improve and streamline the interoperability and maintainability of software process models, regardless of the language chosen for their modeling. To achieve this, the frame of reference is based on three fundamental pillars.
The first one consists of a software process modeling language suitable for the framework, which is considered as a base language and is referred to as INROMA (INterability and MAntenibility). This language is characterized by being easy to learn and containing only those common concepts necessary for the definition and modeling of any software process, according to ISO/IEC TR 24744:2007. The second of the fundamental pillars is the method that establishes the theoretical bases that allow to incorporate new languages of modeling of software processes to the reference frame. Finally, the third of the pillars are the transformations that formalize the correspondences and constitute the nexus between any modeling language of software processes incorporated to the frame of reference and INROMA.
One of the main purposes in the development of this thesis work is to achieve its use in business environments, to achieve an important impact in these areas, all this theoretical foundation is completed with MONETA, a support tool for the frame of reference, providing Assistance and automation in its use.
In short, this doctoral thesis proposes the development of a reference framework to facilitate the interoperability and maintainability of software process models, addressing both the theoretical approach that supports them and the practical part through a support tool for their use in companies.