You are on page 1of 15

First, let's look at the definitions of these terms (the definitions are in italics): Measure - To ascertain or appraise by comparing

to a standard [1]. A standard or unit of measurement; the extent, dimensions, capacity, etc., of anything, especially as determined by a standard; an act or process of measuring; a result of measurement [3]. A related term is Measurement - The act or process of measuring. A figure, extent, or amount obtained by measuring [1]. The act or process of measuring something. Also a result, such as a figure expressing the extent or value that is obtained by measuring [3]. An example measure might be five centimeters. The centimeter is the standard, and five identifies how many multiples or fractions of the standard are being appraised. With the centimeter, someone measuring something in the United States is going to get the same measure as someone in Europe. Let's relate this to software, such as lines of code. Currently, there really isn't a universal standard for lines of code. Someone measuring a program's lines of code in one office will probably not get the same count as someone measuring the same program in a different office. Therefore, it is imperative that each organization determine a single standard for what is meant by a line of code and ensure that everyone in the organization understands and uses that standard. Thus, a measure may be universally standard or locally standard, but it needs to be a standard. Metric - A quantitative measure of the degree to which a system, component, or process possesses a given attribute [2]. A calculated or composite indicator based upon two or more measures. A quantified measure of the degree to which a system, component, or process possesses a given attribute [3]. An example of a metric would be that there were only two user-discovered errors in the first 18 months of operation. This provides more meaningful information than a statement that the delivered system is of top quality. Indicator - A device or variable that can be set to a prescribed state based on the results of a process or the occurrence of a specified condition. For example, a flag or semaphore [2]. A metric that provides insight into software development processes and software process improvement activities concerning goal attainment [3]. As the definition notes, a flag is one example of an indicator. An indicator is something that draws a person's attention to a particular situation. Another example of an indicator is the activation of a smoke detector in your home; it is set to a prescribed state and sounds an alarm if the number of smoke particles in the air exceeds the specified conditions for the state for which the detector is set. In software terms, an indicator may be a substantial increase in the number of defects found in the most recent release of code. My objective is not to add more definitions or confusion but to give an example to help you understand the differences between these terms. A few charts can help clarify the differences. Let's start with a common scenario that involves a sick patient.

An individual is brought into a hospital emergency room. He is unconscious and has a temperature of 99.1 degrees Fahrenheit (see Figure 1). Other vital signs appear normal. What does the measure of 99.1 degrees Fahrenheit tell you? Very little. You may realize that it is above normal body temperature, but you don't know if the temperature is going up, down, or remaining constant. So is this individual getting better or getting worse? Now, after many hours of regularly checking the patient's vital statistics, we are able to see a trend in the temperature readings (see Figure 2). This trend analysis gives the doctors a lot more to work with, even though the patient is still unconscious. What does the chart in Figure 2 show us? The temperature continues to climb and even more rapidly as the second day progresses. The doctors start to worry, but other vital statistics show no problems. Suddenly, the patient awakes and provides more information about his condition. He is Fprouktquiktzarpkx, from the planet Zorkkokkroz, and his normal body temperature is 105.6 degrees Fahrenheit (see Figure 3). He was recovering from hypothermia.

The above scenario helps to illustrate the difference between measures, metrics, and indicators. Figure 1 shows a measure. Without a trend to follow or an expected value to compare against, a measure gives little or no information. It especially does not provide enough information to make meaningful decisions. Figure 2 shows a metric. A metric is a comparison of two or more measures--in this case body temperature over time--or defects per thousand source lines of code. Figure 3 illustrates an indicator. An indicator generally compares a metric with a baseline or expected result. This allows the decision makers to make a quick comparison that can provide a perspective as to the "health" of a particular aspect of the project. In this case, being able to compare the change in body temperature to the normal body temperature makes a big difference in determining what kind of treatment, if any, may be needed. This example is obviously fictitious (I think). But it does illustrate the point that a little bit of information can be dangerous. This does not mean that no information is better; it means that the right amount of information of the right kind is needed to make the best decisions. So do we wait until we have all the information we want before we make decisions? No. But recognize that without enough of the right information, there is a risk involved in making that decision. The example also illustrates that our frame of reference is not always the right one. We must be willing to look at situations with an objective view. If we cannot see a situation from more than one angle, we may need to request consultation from someone with a different persepective.

A measure is a value that is quantified against a standard at a point in time. For example, if we calculate a stores sales for January 2008, the standard is the dollar, and the Total Sales for Jan 2008 is the measure. A single measure usually has little value without some context. How do we know if $25,000 in sales for that month is good or bad? Suppose we track monthly sales over a 13 month period between January 2007 and January 2008. Now, we have some context to see our January 2008 sales trending up or down? A metric is the degree to which a particular subject possesses the quality that is being measured. It is based upon two or measures. Total Monthly Sales for 1/07-1/08 is our metric. In our example, Total Monthly Sales gives us more context and understanding of the relationship between measures. However, the fact that this stores sales are trending up may not give us the complete perspective of how this store is performing. However, if we measure the stores sales against a baseline such as budgeted sales, then we get a truer indicator of performance. Total Monthly Sales to Budget for 1/07-1/08 is our indicator. If this is

provides us with actionable information that we use to drive our business, then we would consider this to be a Key Performance Indicator. Organizations or individuals may vary some in their use of these terms. It is nevertheless valuable to consider how we progress from a single measurement to indicators of success.

Definition: Measure - To ascertain or appraise by comparing to a standard [1]. A standard or unit of measurement; the extent, dimensions, capacity, etc., of anything, especially as determined by a standard; an act or process of measuring; a result of measurement [3]. A related term is

Measure: To ascertain or appraise by comparing to a standard . A standard or unit of measurement; the extent, dimensions, capacity, etc., of anything, especially as determined by a standard;;A measure is a value that is quantified against a standard at a point in time. For example, if we calculate a store sales for January 2008, the standard is the dollar, and the Total Sales for Jan 2008 is the measure. Say the numbers of lines in a software code.A Measure is generally a single quantitative value or field that is generated at a low level and then summarized for analysis. Measurement - The act or process of measuring. measurement is process of experimentally obtaining one or more quantity values that can reasonably be attributed to a quantity.

Metric : A quantitative measure of the degree to which a system, component, or process possesses a given attribute A metric is the degree to which a particular subject possesses the quality that is being measured. A metric is a comparison of two or more measures. Total Monthly Sales for 1/07-1/08 is our metric. A software metric is a measure of some property of a piece of software or its specifications.A calculated or composite indicator based upon two or more measures. An example of a metric would be that there were only two user-discovered errors in the first 18 months of operation

Indicator : An indicator is a metric or combination of metrics that provide insight into the software process, a software project or the product itself. A device or variable that can be set to a prescribed state based on the results of a process or the occurrence of a specified condition. For example, a flag or semaphore . A metric that provides insight into software development processes and software process improvement activities concerning goal attainment . An indicator generally compares a metric with a baseline or expected result. This allows the decision makers to make a quick comparison to the desired result expected.

Software Process and Project Metrices: Software process and project metrics are quantitative measures They are a management tool They offer insight into the effectiveness of the software process and the projects that are conducted using the process as a framework Basic quality and productivity data are collected These data are analyzed, compared against past averages, and assessed The goal is to determine whether quality and productivity improvements have occurred The data can also be used to pinpoint problem areas Remedies can then be developed and the software process can be improved

Software metrics can be classified into three categories: product metrics, process metrics, and project metrics. Product metrics describe the characteristics of the product such as size, complexity, design features, performance, and quality level. Process metrics can be used to improve software development and maintenance. Examples include the effectiveness of defect removal during development, the pattern of testing defect arrival, and the response time of the fix process. Project metrics describe the project characteristics and execution. Examples include the number of software developers, the staffing pattern over the life cycle of the software, cost, schedule, and productivity.

Process metrics are measures of the software development process, such as Overall development time Type of methodology used

Process metrics are collected across all projects and over long periods of time. Their intent is to provide indicators that lead to long-term software process improvement.

To improve any process, the rational way is: Measure Specific attributes of the process Derive meaningful metrics from these attributes. Use these metrics to provide indicators. The indicators lead to a strategy for improvement.

How to Measure Effectiveness of a Software Process? We measure the effectiveness of a software process indirectly We derive a set of metrics based on the outcomes that can be derived from the process. Outcomes include Errors uncovered before release of the software Defects delivered to and reported by end-users Work products delivered (productivity) Human effort expended Calendar time expended etc. Conformance to schedule

Project Metrics: Project Metrics are the measures of Software Project and are used to monitor and control the project. They enable a software project manager to: Minimize the development time by making the adjustments necessary to avoid delays and potential problems and risks. Assess product quality on an ongoing basis & modify the technical approach to improve quality.

Used in estimation techniques & other technical work. Metrics collected from past projects are used as a basis from which effort and time estimates are made for current software project. As a project proceeds, actual values of human effort & calendar time expended are compared to the original estimates.

This data is used by the project manager to monitor & control the project.

Product metrics: Product metrics are measures of the software product at any stage of its development, from requirements to installed system. Product metrics may measure: the complexity of the software design the size of the final program the number of pages of documentation produced

Common software metrics include: order of growth (See Analysis of algorithms in terms of Asymptotic analysis and Big O notation) source lines of code cyclomatic complexity function points bugs per line of code code coverage number of lines of customer requirements. number of classes and interfaces Robert Cecil Martin's software package metrics Cohesion Coupling (computer science) Examples of process metrics affecting software: Number of times the program failed to rebuild overnight Number of defects introduced per developer hour Number of changes to requirements Hours of programmer time available and spent per week Number of patch releases required after first product ship

size-oriented Metrics
Derived by normalizing quality and/or productivity measures by considering the size of the software produced The size could be in number of pages, number of paragraphs, number of functional requirements, etc

Thousand lines of code (KLOC) are often chosen as the normalization value Metrics include Errors per KLOC - Errors per person-month Defects per KLOC - KLOC per person-month Dollars per KLOC - Dollars per page of documentation Pages of documentation per KLOC

Or Attempt to quantify software projects by using the size of the project to normalize other quality measures

Possible data to collect: number of lines of code number of person-months to complete cost of the project number of pages of documentation number of errors corrected before release number of bugs found post release

Function-Oriented Metrics

Attempt to measure the functionality of a software system Use a unit of measure called function point Some possible function points: Internal data structures External data structures User inputs User outputs Transformations Transitions

Qualities of a good metric simple, precisely definableso that it is

clear how the metric can be evaluated; objective, to the greatest extent possible; easily obtainable (i.e., at reasonable cost); validthe metric should measure what it is intended to measure; and robustrelatively insensitive to (intuitively) insignificant changes in the process or product.

Functional points In previous articles we have introduced what software metrics can do for you and why it is worth it to measure them. Today we will discuss one of the most effective ways of measuring the size of your software: the function points (FP). Along with the cyclomatic complexity, we already talked about, that gives you an indication of how complex and maintainable your code could be, function points is another of the software metrics most widely used. In this case indicates how big software is in terms of how much functionality a piece code holds, not in terms of physical volume. counting lines of code seem so very old-fashioned so we use FP.
Lets say a function point is a unit of measurement of the functionality of a system and FPA is used to evaluate a systems capabilities from a users point of view.

Independent of programming language and technology. Comprehensible for client and user. Applicable at early phase of software life cycle.

Assignment
1.Extended Function Point Metrics,

2.Reconciling different Metrics approaches, 3. Integrating Metrics within Software Process

You might also like