Aspect of software process improvement activities
A Software Engineering Process Group (SEPG) is an organization's focal point for software process improvement activities. These individuals perform assessments of organizational capability, develop plans to implement needed improvements, coordinate the implementation of those plans, and measure the effectiveness of these efforts. Successful SEPGs require specialized skills and knowledge of many areas outside traditional software engineering.[1]
Following are ongoing activities of the process group:[1]
- Obtains and maintains the support of all levels of management.
- Facilitates software process assessments.
- Works with line managers whose projects are affected by changes in software engineering practice, providing a broad perspective of the improvement effort and helping them set expectations.
- Maintains collaborative working relationships with software engineers, especially to obtain, plan for, and install new practices and technologies.
- Arranges for any training or continuing education related to process improvements.
- Tracks, monitors, and reports on the status of particular improvement efforts.
- Facilitates the creation and maintenance of process definitions, in collaboration with managers and engineering staff.
- Maintains a process database.
- Provides process consultation to development projects and management.
Every SEPG has a different approach and mission. Some of the flavors include:
- "Working" SEPGs that actually develop and deploy process as a type of internal consulting team.
- "Oversight" SEPGs that oversee the process architecture, approve it, manage changes, and prioritize it (sort of a process CCB)
- "Deliberative" SEPGs that debate the process approach and develop strategy for a process architecture and deployment
- "Virtual" SEPGs that are made up of representatives from throughout the organization that dedicate a certain amount of time to the effort and are responsible for deploying and training everyone else in the organization[2]