As organizations (involved or not in virtual organizations [VOs]) try to define their processes, they also recognize the need for continuous software process improvement (SPI) in order to improve the quality and productivity of products and to keep up their competitiveness. Although efforts have been made, organizations continue without success in achieving the intended goals. Recognizing that the most critical problems occurs during project activities, we strongly believe that both development process and project alignment can be the best practice to get better project results and improve organizations’ development processes.
Key Terms in this Chapter
Interoperability: The ability of two or more organizations or systems to be engaged in the process of ensuring that the organizations or systems exchange information and re-use the information, internally or externally.
Project Management: A discipline that requires the application of knowledge, skills, tools and techniques during project activities to achieve the goals of a particular project, while optimizing the use of resources (time, costs, people, materials, etc).
Performance Evaluation: An evaluation that compares actual project performance with that planned. The evaluation can be performed in terms of different criteria like people effort, resource use and production. It is used to redirect and improve project efforts and resources. Process: A set of partially ordered activities performed in the context of the goals, objectives and constraints of an organization. Activities should be planned as part of a defined process, assigned to a role, allocated resources and produced/consumed work products.
Meta-Model: Defines a language for describing a specific domain of interest. A process meta-model provides a set of generic concepts to describe any process, defined in the next level (M1) of the layered architecture (OMG, 2005).
Software Process Improvement: Continuous and iterative methodology in order to improve both software process and products through gained knowledge in project experiences. The main goal is to capture the activities, methods, practices and transformations that people use to develop software.
Process Management: Organizational decisions in a development process in order to make changes and improve the process. To achieve these goals, pertinent techniques and tools are applied to a process to implement and improve process effectiveness, hold the gains and ensure process integrity in fulfilling customer requirements.