SWEBOK Chapter 7 Software Engineering Management

advertisement
SWEBOK Chapter 7
Software Engineering Management
The chapter begins with the definition of software engineering management as the application of
management activities—planning, coordinating, measuring, monitoring, controlling, and reporting—to
ensure that the development and maintenance of software is systematic, disciplined and quantified.
Aspects to software products and the software process lifecycle that complicate effective management
include:






The perception of clients in regards to the complexity inherent in software engineering,
particularly the impact of changing requirements.
It is almost inevitable that the software engineering processes themselves will generate the
need for new or changed client requirements.
Software is often built in an iterative process rather than a sequence of closed tasks.
Software engineering necessarily incorporates aspects of creativity and discipline and maintain
an appropriate balance between the two is often difficult.
The degree of novelty and complexity of software is often extremely high.
There is a rapid rate of change in the underlying technology.
Management activities occur at three levels:
Organizational and infrastructure management
Project management
Measurement program planning and control
May include personnel management, communication management, portfolio management.
Management without measurement, qualitative and quantitative suggests a lack of rigor and
measurement without management suggests a lack of purpose or context. Management and
measurement without expert knowledge is equally ineffectual.
Management process refers to the activities that are undertaken in order to ensure that the software
engineering processes are performed in a manner consistent with the organization’s policies, goals, and
standards.
Measurement refers to the assignment of values and labels to aspects of software engineering and the
models that are derived from them.
Initiation and Scope Definition
The focus of this set of activities is on the effective determination of software requirements via various
elicitation methods and the assessment of the project’s feasibility from a variety of standpoints. Also
includes a process for review and revision of the project requirements.
Software Project Planning
Select appropriate software life cycle model. Use appropriate tools and methods to decompose the
project into tasks. The products of each task are defined. Look for opportunities to reuse software
components, use off-the-shelf software or software from 3rd party vendors. Effort, schedule and cost are
estimated based on historical size-effort data or expert judgment. Resources are allocated, risk
identified and analyzed and thresholds set for adherence to quality standards. How the plan itself will be
managed is defined.
Software Project Enactment
Plans are implemented and focus is on adherence to the plan with the expectation that such adherence
will lead to the successful satisfaction of stakeholder requirements and achievement of the project
objectives.
Review and Evaluation
At critical points in the project, overall progress towards achievement of the stated objectives and
satisfaction of stakeholder requirements are evaluated.
Closure
The project reaches closure when all the plans and embodied processes have been enacted and
completed.
SW Engineering Measurement
Establishing and sustaining measurement commitment
Planning the measurement process
Performing the measurement process
Evaluating the measurement process
Download