• No results found

Software Project Measurement

N/A
N/A
Protected

Academic year: 2021

Share "Software Project Measurement"

Copied!
7
0
0

Loading.... (view fulltext now)

Full text

(1)

Software Project Measurement

We can’t accurately measure software, yet we must have measures if we are to understand large-scale design. This lecture discusses: the practical aims of measurement; the measures appropriate to them; ways of identifying and priori-tising measurement issues; how to put together a measurement plan; the limi-tations common to many measurement methods; and the use of measurement indicators and estimators.

5.1 Why Measure?

In traditional, structured lifecycles we want to: assess and manage risk

trade design decisions against others track progress

justify objectives

It is difficult to do any of these things in an objective way unless we have some picture of where we are in a project and how much progress we have made in design.

5.2 What is it Useful to Measure

Although software itself resists absolute measurement there are many aspects of software projects for which measurement (even rough or indirect measurement) may be useful:

Schedule : Is it on time?

Cost : Can we afford to finish it ? Growth : Will it scale?

Quality : Is it well made?

Ability : How good are we at design? Technology : Is the technology viable?

(2)

These interact. For example, design ability influences the cost of running to completion which interacts with the way the project schedule is put together which has an impact on software quality which contributes to the growth of the system. In the sections below we look at each of these aspects in more detail, listing important categories of measure and suggesting some appropriate units of measure for these categories.

5.2.1 Schedule Issues

Category Measurement Parameter Milestone Date of delivery

Work unit Component status Requirement status Paths tested

Problem report status Reviews completed Change request status

5.2.2 Cost Issues

Category Measurement Parameter

Personnel Effort

Staff experience Staff turnover Financial performance Earned value

Cost

Environment availability Availability dates Resource utilisation

5.2.3 Growth Issues

Category Measurement Parameter Product size and stability Lines of code

Components Words of memory Database size Functional size and stability Requirements

Function points

(3)

5.2.4 Quality Issues

Category Measurement Parameter Defects Problem reports

Defect density Failure interval

Rework Rework size

Rework effort

5.2.5 Ability Issues

Category Measurement Parameter

Process maturity Capability maturity model level Productivity Product size/effort

Functional size/effort

5.2.6 Technology Issues

Category Measurement Parameter Performance Cycle time

Resource utilisation CPU utilisation I/O utilisation Memory utilisation Response time

5.3 Identifying and Prioritising Issues

The issues we described above are not equally important for all projects. It is necessary, therefore, to find the ones which matter and prioritise them. Identifi-cation is possible from various sources, including:

Risk assessments

Project constraints (e.g. budgets) Leveraging technologies (e.g. COTS) Product acceptance criteria

External requirements Past projects

(4)

Prioritisation usually requires some succinct form of contrast between issues, based on previous projects. Sometimes it is possible to obtain (rough) probabili-ties of occurrence of identified issues; then modify these according to the impact each would have if it became a real problem and the exposure to which your particular project has to that sort of problem. The table below is an example presentation of this sort of prioritisation.

Issue Probability Relative Project

of occurrence impact exposure

Aggressive schedule 1.0 10 10

Unstable requirements 1.0 8 8

Staff experience 1.0 5 8

Reliability reqs 0.9 3 4

COTS performance 0.2 9 1

5.4 Making a Measurement Plan

It is likely that you will want to take measurements several times during the course of a large software project and in those circumstances a measurement plan will be needed. The following are some of the things measurement plans typically contain:

Issues and measures Data sources

Levels of measurement Aggregation structure Frequency of collection Method of access

Communication and interfaces Frequency of reporting

5.5 Limitations of Measurement

Measurement is necessary but fallible and subject to many practical limita-tions. Some of these, concerning the measurement categories introduced in Section 5.2, are listed below.

Milestones don’t measure effort, only give critical paths Difficult to compare relative importance of measures

(5)

Incremental design requires measuring of incomplete functions Important measures may be spread across components

Cost of design is not an indicator of performance Current resource utilisation may not be best Reliable historical data is hard to find

Some software statistics are time consuming to collect Some measures only apply after coding has been done

Size doesn’t map directly to functionality, complexity or quality Time lag between problems and their appearance in reports

Changes suggested by one performance indicator may affect others Often no distinction between work and re-work

Overall capability maturity level may not predict performance on a specific project

Technical performance measures are often not as precise as they may seem Technical resource utilisation may only be known after integration and test-ing

Be sure also to consider how you will maintain the quality of your measure-ment data, for example:

Are units of measure comparable (e.g. lines of code in Ada versus Java)? Normalisation?

What are acceptable ranges for data values? Can we tolerate gaps in data supplied?

(6)

Example Indicator: Design Progress

Project time

Number of units completing design

Planned

Actual

Example Indicator: Effort

Project time

Staff hours per month

Actual

Planned

Example Estimator: Size-Effort

Number of lines of source code

Staff months (log scale)

Upper 95%

(7)

ADDENDUM

Capability Maturity Model

The Capability Maturity Model was developed by Software Engineering Institute at Carnegie-Mellon University (Pittsburgh Pa).

Initial level At this level, an organisation does not have effective management procedures or project plans. If formal procedures for project control exist, there are no organisational mechanisms to ensure that they are used con-sistently. The organisation may successfully develop software but the char-acteristcs of the software and the software process will be unpredictable. Repeatable level An organisation has formal management, quality assurance

and configuration control processes in place. The organisation can suc-cessfully repeat projects of the same type. However, there is no formal process model; project success is dependent on individual managers moti-vating a team and on organisational folklore acting as an intuitive process description.

Defined level An organisation has defined its process and thus has a basis for qualitative process improvement. Formal procedures are in place to ensure that the process is followed in all projects.

Managed level An organisation has a defined process and a formal programme of quantitative data collection. Process and product metrics are collected and fed into process improvement activity.

Optimising level An organisation is committed to continuous process improve-ment. Process improvement is budgeted and planned and is an integral part of the organisation’s process.

References

Related documents

Hypothesis 2: Financial attitude has significant positive effects on the personal financial management of government employees in Kalibawang Community Health

The location of the group attended by the newcomer did not differentiate between attendance categories which suggests that the groups attended by the newcomers

S   Check “yes” for Critical Element 3 on the data collection sheet if the PSEs for for all 3 areas (living, learning, and working) meet all three criteria...

Venus, the natural Karaka for marriage, occupying the signs of Mercury in II cases in Rasi and 7 cases in Navamsa, has also contributed to denial of marriages Erudite

En las estaciones de medidores múltiples, las válvulas de estrangulación pueden instalarse aguas abajo de los medidores para regular el flujo a través del

Based on the experimental results of the salt scaling (mass loss), a comparison of ASTM C 672 and its proposed replacement method for each concrete type, the effect of

Pastor Mike will be teaching via Facebook Live (on the Wise Baptist Church Facebook page) each Wednesday evening.. * If you would a study book, please contact Terry

In a multivariate analysis adjusting for case mix, AFB at a high- volume hospital was associated with 42% decreased risk for in-hospital mortality (odds ratio [OR], 0.58; 95%