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.
Most organizations have many different projects or contracts underway simultaneously, and perhaps several different software development and maintenance divisions. Thus, many instances of the process improvement cycle may be operating concurrently. For example, one part of the organization may be following up on assessment findings by examining current cost-estimation practice, and another may be training software engineers in code inspections. The process improvement cycle works both globally across the organization, through policy changes and process assessments, and locally, with the implementation of particular changes. Assessments lead to strategy and policy updates; these updates lead to plans for the incorporation of new approaches to management and new software technology; the results meanwhile must be tracked and reported.
The software engineering process group is a central force for process improvement. The group maintains the overall view of current efforts and facilitates these efforts on a continuing basis. Its members foster collaboration among everyone in the organization who is involved with software process improvement.
Following are ongoing activities of the process group:
* 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.
The process group is not part of product development but is staffed by practitioners. As a result, it has expertise in software engineering. It may also have, and at any rate should develop, expertise in process definition, organizational change, and technology related to improving or measuring quality.
Costs & Benefits:
Process groups had to present a persuasive business case to become chartered and operational. Software
engineer process improvement was a concept with inherent merit in their organizations; competitive pressures required a steady increase in quality, which in turn required a commitment to improve. Nonetheless, it should be helpful to look briefly at specific costs and benefits of process groups and related efforts.
Costs:
The costs of estabilishing the software engineering process group and related functions- the process improvement infrastructure- are primarily labor costs. These are consumed in staff for the software engineering process group, and in the time spent in planning and implementing improvement actions. Often these are costs that would be expended on similar activities in any case, but in a less organized and therefore less visible way.
Benefits:
The primary benefit of an improved- that is, more disciplined -software process is improved visibility of the process. The visibilty makes the process more manageable during software development and maintenance, thus reducing risk. Schedules become more predictable, as do costs. Software is of higher quality at delivery and is easier to maintain. The cost of investment in process improvement work is amortized and ultimately more than rapid.
Another benefit is the improved prospect of winning and keeping contracts when the government includes software process maturity in its source selection and contract management criteria. Moreover, if certain contracts incentives are inaugurated, developers would be paid an award fee of up to 15% based on software quality as assessed during the early post -deployment phase. A mature development process would make it more likely that the award would be earned.
With Love,
~SA
Monday, October 12, 2009
Subscribe to:
Posts (Atom)