28
ESTABLISHING A SOFTWARE MEASUREMENT PROCESS By: Muhammad Amin Bandeali

SOFTWARE MEASUREMENT ESTABLISHING A SOFTWARE MEASUREMENT PROCESS

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: SOFTWARE MEASUREMENT ESTABLISHING A SOFTWARE MEASUREMENT PROCESS

ESTABLISHING A SOFTWARE MEASUREMENT PROCESS

By: Muhammad Amin Bandeali

Page 2: SOFTWARE MEASUREMENT ESTABLISHING A SOFTWARE MEASUREMENT PROCESS

Purpose of Software Measurement Provide insight to software processes

and products Better decisions Manage the achievement of goals

Page 3: SOFTWARE MEASUREMENT ESTABLISHING A SOFTWARE MEASUREMENT PROCESS

Objectives

Provides some guidelines that can be used to design and implement a process for measurement that: ties measurement to organizational goals and objectives; defines measurement consistently, clearly, and

accurately; collects and analyzes data to measure progress towards

goals; and evolves and improves as the process matures.

Demonstrate the guidelines described with examples and illustrations.

Outline some steps to help an organization start and sustain a measurement program.

Page 4: SOFTWARE MEASUREMENT ESTABLISHING A SOFTWARE MEASUREMENT PROCESS

Developing a Measurement Process

Page 5: SOFTWARE MEASUREMENT ESTABLISHING A SOFTWARE MEASUREMENT PROCESS

Plan Do Check Act

Page 6: SOFTWARE MEASUREMENT ESTABLISHING A SOFTWARE MEASUREMENT PROCESS

Software Process Element

Software Estimating Software Design Code Unit Test Peer Reviews Measurement

Page 7: SOFTWARE MEASUREMENT ESTABLISHING A SOFTWARE MEASUREMENT PROCESS

Entry-Task-Validation-Exit

Page 8: SOFTWARE MEASUREMENT ESTABLISHING A SOFTWARE MEASUREMENT PROCESS

Entry-Task-Validation-Exit

Purpose of ETVX is to Develop operational definition of the

measurement process

Page 9: SOFTWARE MEASUREMENT ESTABLISHING A SOFTWARE MEASUREMENT PROCESS

Planning the Process

Involves the first two activities of the architecture Identity Scope Define Procedures

Page 10: SOFTWARE MEASUREMENT ESTABLISHING A SOFTWARE MEASUREMENT PROCESS

Identify scope using EVTX

Page 11: SOFTWARE MEASUREMENT ESTABLISHING A SOFTWARE MEASUREMENT PROCESS

Define scope using EVTX

Page 12: SOFTWARE MEASUREMENT ESTABLISHING A SOFTWARE MEASUREMENT PROCESS

Collect Data using EVTX

Page 13: SOFTWARE MEASUREMENT ESTABLISHING A SOFTWARE MEASUREMENT PROCESS

Analyze Data using EVTX

Page 14: SOFTWARE MEASUREMENT ESTABLISHING A SOFTWARE MEASUREMENT PROCESS

Evolving process activity using EVTX

Page 15: SOFTWARE MEASUREMENT ESTABLISHING A SOFTWARE MEASUREMENT PROCESS

Illustrations of use

Page 16: SOFTWARE MEASUREMENT ESTABLISHING A SOFTWARE MEASUREMENT PROCESS

Baseline Measurement Process A process that can be used consistently by all decision

makers across the organization. With a baseline measurement process defined, a solid

foundation for collecting measures is established. As the basic measures evolve, their definitions and uses often expand. For example: problem reports can be expanded to track status, type,

severity, and priority; size attributes can be tracked by language, platform,

development status, origin, and production method; effort attributes can be added to track by labor class,

phase, and activities performed; and schedule can be tracked by dates and completion criteria.

Page 17: SOFTWARE MEASUREMENT ESTABLISHING A SOFTWARE MEASUREMENT PROCESS

Manage and Describe Projects Using the baseline measurements, managers can better manage

projects by: Using historical data to calibrate software estimation models and then

re-plan projects based on deviations in status, progress, or renegotiations of requirements

Describe the products more efficiently by describing how good a product is, Classify product characteristics by focusing on the basic measures like

maintainability, reliability and problem densities.

A developer can use product descriptions to help them understand the quality of their work and identify potential strengths and weaknesses in the process

Customers can describe the products in their requirements specifications

Page 18: SOFTWARE MEASUREMENT ESTABLISHING A SOFTWARE MEASUREMENT PROCESS

Improve Process and Aggregate Data

Manager can improve processes of an organization by understanding and focusing on the basic measures being used for managing their existing processes and products.

Aggregating measurement data across the organization helps senior management identify and define measures that will help them make decisions with respect to organizational goals and objectives. With measurement they can better understand the software process and organizational capabilities, and get involved with the business aspects of software.

Page 19: SOFTWARE MEASUREMENT ESTABLISHING A SOFTWARE MEASUREMENT PROCESS

Dynamic Change

Evolving organizations hire new staff and those staff needs to be part of the dynamic changes that the company is going through.

Page 20: SOFTWARE MEASUREMENT ESTABLISHING A SOFTWARE MEASUREMENT PROCESS

Starting a Software Measurement Program

Page 21: SOFTWARE MEASUREMENT ESTABLISHING A SOFTWARE MEASUREMENT PROCESS

Focal Group

Identify and allocate resources for a focal group A focus group would be beneficial by:

assessing organizational sponsorship, commitment, and involvement;

implementing the steps described in Sections 4.2 through 4.7;

communicating and strengthening the network of sponsors;

documenting successes and lessons learned; evolving the process based on successes and lessons

learned; and establishing a historical, organizational database of

project data.

Page 22: SOFTWARE MEASUREMENT ESTABLISHING A SOFTWARE MEASUREMENT PROCESS

Identify the Objectives

Management must set challenging objectives, monitor progress, and insist on performance.

Identify objectives by process assessment findings and Recommendations

The measurement focal group then works with management to translate high-level objectives into measurable goals for improvement.

Page 23: SOFTWARE MEASUREMENT ESTABLISHING A SOFTWARE MEASUREMENT PROCESS

Design the Process

Assess and understand current capability Design a measurement process

Page 24: SOFTWARE MEASUREMENT ESTABLISHING A SOFTWARE MEASUREMENT PROCESS

Prototype the Process

A measurement process should be tested on actual projects and adjusted before it is implemented throughout the organization

As a result of prototyping, the focal group should develop an understanding of the: current project performance with respect to the

organizational objectives, benefits and lessons learned from the existing

measurement process, and scope of the effort and resources necessary to

initiate and maintain the measurement process on projects

Page 25: SOFTWARE MEASUREMENT ESTABLISHING A SOFTWARE MEASUREMENT PROCESS

Document the Process

The focal group should discuss its prototyping results with management, addressing the benefits and lessons learned and how measurements can support the organization.

Formal documentation based on organization procedures might involve a policy statement, a standard procedure, templates for defining measures, or some other form of documenting software processes

Page 26: SOFTWARE MEASUREMENT ESTABLISHING A SOFTWARE MEASUREMENT PROCESS

Implement the Process

The focal group can begin to implement the measurement process across the organization

They can work with projects to integrate the measurement process with their software processes

Page 27: SOFTWARE MEASUREMENT ESTABLISHING A SOFTWARE MEASUREMENT PROCESS

Expand the Program

The focal/measurement group should publicize the successes, benefits, and

organizational trends observed from projects already involved with the program;

collect measures and build on the historical repository; and

develop tools, standards, and procedures to make the process more usable and adaptable to project needs.

Page 28: SOFTWARE MEASUREMENT ESTABLISHING A SOFTWARE MEASUREMENT PROCESS

Conclusion

Paper emphasizes the need for the visibility into the software live cycle by using measurement

Good concise framework Good detail in the beginning of the paper Why did paper start from step 2 and

then reiterated all the steps? Framework tailored for larger

organizations than small and medium ones?