Nagaraj Yekkala
Topics Covered
Metrics are measurements, collections of data about project activities, resources and
deliverables. Metrics can be used to help estimate projects, measure project progress and
performance, and quantify product attributes.
Software metrics are numerical data related to software development. Metrics strongly support
software project management activities. They relate to the four functions of management as
follows:
1. Planning –
• Metrics serve as a basis of cost estimating, training planning, resource planning,
scheduling, and budgeting.
2. Organizing
Size and schedule metrics influence a project's organization.
3. Controlling
Metrics are used to status and track software development activities for compliance to
plans.
4. Improving
Metrics are used as a tool for process improvement and to identify where improvement
efforts should be concentrated and measure the effects of process improvement efforts.
What affects software?
People
Process Technology
Quality Model
product
Metrics
Metrics cont….
Gathering Data
Gather both quantitative and qualitative data about organizations. Use commonly
accepted practices for collecting and interpreting qualitative and quantitative data.
Employ the technique of ethnological study to software organizations. Ethnography
consists of looking at what people do, what they say, and the tension between what they
really do and what they ought to do, as well as what they make artifacts
Quantitative Data
Gather up as much quantitative data as possible. These are hard facts about an
organization. I gather data at the project and application levels and it is rolled up to the
organizational level. The following is a list of some examples are provided for the
quantitative data to be gathered :
Conceptual Level
Establish measurement
goals aligned with
business needs i.e. what
we want to achieve
Operation Level
Generate a set of
questions that can be
used to determine
achievement of goals
Quantitative Level
Establish the set of data,
objective or subjective,
that will answer each
question in a
quantitative way
Translating business needs
•Estimating effort
•How good is
Improve based on requirements Effort
effort
Estimation •Planning based on Slippage
estimation ?
estimation
•Detecting defects as
Reduce Costs early as possible •What is Rework
•Minimize acceptance Rework Effort ? Effort
testing defects
A Goal-Based Software Measurement Framework
• Products
• External attributes – measured with respect to how entity relates to its environment. Behavior
of the entity is important
• However, external attributes are more difficult to measure than internal ones, and are
measured late in the development process
• Derive from each goal the questions that must be answered to determine if
13
A Goal-Based Software Measurement Framework
Goal Goal
Questions Who is using standard? What is coder productivity? What is code quality?
14
Process Improvement
Quality improvement starts with identifying the right metrics. We apply techniques such as control
charts to improve the stability of the process. Thereafter, we embark on a continuous improvement journey by
increasing the capability of the process.
Business
objectives
Process
Piloting
Sub-process Change
Selection Project -Level
Change
Org
Removal Remove Change Process/
Special Common Technology
Measure
Causes Causes Change
NO
NO
Statistical
Process Process
Analysis Capable ?
Stable ? Yes Yes
(OPP)