What is a Software Process Model?
A Process Model describes the sequence of phases for the entire lifetime of a product. Therefore it is sometimes also called Product Life Cycle. This covers everything from the initial commercial idea until the final de-installation or disassembling of the product after its use.
Usually there are three main phases:
- concept phase
- implementation phase
- maintenance phase
Each of these main phases usually has some sub-phases, like a requirements engineering phase, a design phase, a build phase and a testing phase. The sub-phases may occur in more than one main phase each of them with a specific peculiarity depending on the main phase.
Besides the phases a Process Model shall also define at least:
- The activities that have to be carried out in each of the sub-phases, including the sequence in which these activities have to be carried out.
- The roles of the executors that have to carry out the activities, including a description of their responsibilities and required skills.
- The work products that have to be established or updated in each of the activities. Besides the final product there are usually several other items that have to be generated during the development of a product. These are for example requirements and design document, test specifications and test reports, etc.
Therefore, a Process Model provides a fixed framework that guides a project in:
- Development of the product
- Planning and organizing the project
- Tracking and running the project