The current economic situation is causing that many companies need to incorporate mechanisms and protocols that until now have not taken into account for increasing their productivity and improve the quality of their products and/or services, without increasing their production or development cost.
One of the most used management strategies to achieve the abode objectives is BPM (Business Process Management). Over the last decade, BPM increasingly craves and consolidates in this line. This is one of the conclusions obtained from several research studies that the implementation of BPM within an organization improves the general knowledge of BPM, its internal functioning – what is known as “know-how” of the organization, and your business processes.
All this organizational knowledge of the company allows to optimize, to control and measure of a more effective way the execution of each process, that which, in the last instance, implies in the short and medium term an increase of its level of competitiveness in front of its competition.
As well, a large number of entities and organizations have motivated BPM as a management strategy and internal improvement action in the last decade. This is the case, for example, of the PMI (“Project Management Institute”) which is an international non-profit organization based in the United States that associates professionals related to project management and promotes project management from a perspective focused on Ooganizational processes; Carnegie Mellon University with its CMMI (Capability Maturity Model Integration) proposal, in which it defines maturity models for the improvement and evaluation of processes; And the ISO organization with some of its standards, like ISO 9001:2008.
Following these recommendations and in order to improve its competitiveness, the software industry is beginning to adopt BPM as a mechanism to control and define the construction and management of software.
However, the application of process management within companies framed in the software business is difficult and expensive to implement properly due to the characteristics of the software process, that is to say, its constant evolution, incorporation of new life cycles, new technologies and large development teams and in many cases multidisciplinary, among many other aspects. Consequently, it is very common for the implementation of the overall process of continuous improvement that promotes BPM to be confined to the formal definition of software processes in practice, and its subsequent execution and orchestration – that is to say, the centralized and coordinated management of events during the execution of the process – in a manual and disconnected way on the part of each role that participates in them. All this makes the monitoring, control and measurement of software processes conceived as a particularly costly and complex task.
The thesis work presented in this document is motivated by the problems raised previously within the software organizations to execute and orchestrate their processes. However, although the main reason for this work are framed within the context of software organizations, the flexibility of the proposal developed here had led to its application and exploration to other ambits, for example in the area of health and, more concretely, in the area of clinical management process.
This Doctoral Thesis is elaborated as a proposal to solve the previous problems by taking advantage of the MDE paradigm and taking it as the mail vector of the proposal, in order to simplify the maintenance of software processes and make them more effective. The objectives of the proposal are to establish the specific domain models or languages necessary to deal with the definition and execution and orchestration of software processes in a production environment. In addition, of a series of systematic protocols of transformation between the models.
As final purpose, this thesis pretend that all these model, and especially the techniques to describe them, are instructive and cognitively understandable by users with a non-technical profile. The objective is to encourage and properly the participation of the end user as essential entities, both for the definition and for the final validation of the models.
The body of the thesis, is based on a set of theoretical metamodels and systematic derivation mechanisms between them. This theoretical structure find its practical translation in the PLM4BS (Process Lifecycle Management for Business-Software) framework: a CASE (Computer Aided Software Engineering) tool that provides support to manage the software process lifecycle in real projects.
From a product perspective, PLM4BS have been inspired by the PLM («Product Life cycle Management») paradigm to give its own vision of application to the context of the software. Although the software can be considered as an abstract and intangible entity, is a product in itself and, similarly to industrial products, is also highly related with to an engineering lifecycle.
In conclusion, this doctoral thesis set out a solution to a specific problem: establish within the organizations software, efficient, systematic and automatic mechanisms that allow the execution and orchestration of software processes from their definition, with the purpose of managing the lifecycle of development of software products and the processes involved during the management of these products.
This problem, identified in a state of the art study of current trends, is solved in a theoretical framework that is later implemented in the CASE tool called PLM4BS, which has been tested and validated in various real projects in different business areas.