You will use the Software & Systems Process Engineering Meta-Model to define software and systems development processes and the components that they are made up of including: Activities, Tasks, Milestones and Work Products. The scope of SPEM is intentionally limited to the minimal elements necessary to define any software and systems development process. Features for particular development domains or disciplines (e.g., project management, analysis) have been deliberately excluded. The focus of SPEM is squarely set on development projects with the goal to create a facility useful for a large range of development methods and processes of different styles, cultural backgrounds, levels of formalism, life-cycle models, and communities.
SPEM is not a generic but rather a highly flexible process modeling language, and does not attempt to provide its own behavior modeling concepts. The language rather defines the ability for the implementor to choose the generic behavior modeling approach that best fits their needs. It also provides specific structures to enhance such generic behavior models that are characteristic for describing development processes. SPEM defines the additional elements and information structures that you need for engineering processes modeled with UML 2.0 Activities or BPMN/BPDM to describe a production development process. The SPEM 2.0 meta-model is structured into seven main meta-model packages as
The structure partitions the model into logical units. Each unit extends the units it depends upon, and in turn provides additional structures and capabilities to the elements defined lower down in the structure. The UML package merge mechanism is used to realize a gradual extension of the capabilities modeled unit by unit, effectively meaning the lower packages are used for more specialized processes.