Sie sind auf Seite 1von 9

INCREASING YOUR

SOFTWARE DEVELOPMENT ROI


How to measure productivity — objectively
WHY SOFTWARE PRODUCTIVITY IS SO IMPORTANT
- AND SO HARD TO MEASURE

In some ways, a software devel- manage your business better by


opment project is like any other answering vital questions like
initiative: You need to see strong these:
results for the effort and mon-
ey you put in, whether the code • Do our vendors deliver
comes from an outside vendor or high-quality software fast
an internal development team. enough?
• Are we spending too much on
The problem? Measuring the developing this application?
output of software development • Are our technologies hinder-
isn’t so simple. ing our development speed?
• Do our development teams
Although software development become more efficient over
is often thought of as an engi- time?
neering discipline, the compar-
ison to traditional engineering Ultimately, it all comes back to a
goes only so far. You’re not pro- single guiding question:
ducing widgets on an assembly
line, or building a road. A house Do I get enough value for the
cannot be generated. A bridge money I spend on development?
cannot be copied.

To evaluate software projects ac-


curately, you need deep visibility
into both inputs and outputs—
something you can’t get with
traditional approaches. Once
you have that clearer view, you’ll
WHY TRADITIONAL PRODUCTIVITY MEASURES DON’T STACK UP

The (Supposed) Alchemy of Software structed, the actual effort expended Vital aspects such as performance,
Development by developers, or the long-term qual- security, maintainability, and relia-
Software developers often dislike be- ity of the software produced. bility are not functional. Buying soft-
ing measured, and in many cases be- ware without measuring for them is
lieve that it’s impossible to quantify But all of these can be measured—if like paying a custom-made car with-
true coding skill. Indeed, they have a you know how. out ever opening the hood.
point: A lot of traditional measures
do fall short of that goal. But even if The Problem with Functional Testing And you will definitely pay for it:
we grant that development teams Most software development con- Low-quality software is very expen-
need a certain amount of freedom tracts focus on functional results that sive to operate, maintain, and up-
in executing their tasks, coding isn’t can be defined for the purposes of date, and that’s before you think of
some magical process. acceptance testing. Function points the opportunity costs of operating
have their place (“Yes, the module less efficiently than your competi-
Typically, companies relying on com- performs the defined function”), but tors.
plex development projects don’t take they don’t show you enough.
into account how the software is con-
WHAT YOU SHOULD BE MEASURING INSTEAD
- INPUT

Traditional measures mostly ig- effort involved to deliver a piece


nore the amount of actual de- software allows for a more bal-
velopment effort that goes into anced discussion between ven-
producing code. From the per- dor and client.
spective of a vendor or coder,
that’s fine: If you can produce It’s worth noting that many or-
good code more efficiently, you ganizations don’t do a very good
should. job of gathering and tracking
consistent data on inputs. Thus,
But if you’re the one paying for a drawing attention to the issue at
project, don’t you want to know all may improve data collection.
if the work is being achieved And while it may always be hard
with half the effort? to determine productive inputs
for a given day or week, it should
Focusing only on the end prod- become easier over time to un-
uct allows software suppliers derstand how much work can
to price their services based on realistically be done during, say,
the perceived value they deliver, a calendar quarter.
instead of on the cost of devel-
opment. Insight into the actual
WHAT YOU SHOULD BE MEASURING INSTEAD
- OUTPUT

As already noted, functional testing isn’t adequate


for measuring development output. Raw measures
such as lines of code written are also unreliable in
isolation, because a few high-quality, high-relevance
lines are worth more than hundreds of low-quality,
low-relevance ones. That’s why you need to measure
output on three separate dimensions:

1. Production — Analysis of code added, changed,


and deleted allows production to be expressed in
programmer-months of work. This must be con-
sidered in tandem with quality to account for the
code’s maintainability.

2. Quality — Any code of inferior quality contains


technical debt, which we’re able to calculate in
terms of programmer-months of postponed fu-
ture work. Subtracting that debt from production
yields net production—a far more useful meas-
ure.

3. Relevance — The best code in the world, even


delivered ahead of schedule, is meaningless if it
doesn’t meet your business needs. Basic metrics
like story points should be combined with code-
based automated measurements as well as ad-
vanced measures framed explicitly in financial
terms, such as business value per change.
HELPING CLIENTS DRIVE A HARD BARGAIN

When you have clear visibility for if you’re paying for 100 units
the relevant inputs and outputs of work that requires only 10
of software quality, it’s much units of effort?
easier to establish common
ground and keep development
teams accountable.

Our approach is specifical- Recently, SIG helped a client


ly geared to enable three key uncover a troubling decline in
things: productivity from a vendor. At
1. Challenging vendor quotes first, the vendor had delivered
— Project doomed to go code at a consistent level of
past its timetable and over production and quality; when
its budget. the client suspected that
something had gone amiss,
2. Calculating quality of work they asked us to investigate.
delivered — Whether you’re Within two weeks, SIG ex-
dealing with an entire pro- perts verified a clear dropoff in
ject, an individual developer, productivity tied to a change
or even a single code com- in the vendor’s allotment of
mit, knowing for certain how offshore personnel. SIG also
good a body of code is gives uncovered problems in how
you incredible leverage so the vendor was documenting
you can manage better. its work. Our holistic view of
software development pro-
3. Calculating amount of work ductivity—backed by the ex-
performed — This gets back pertise and tools needed to
to what was said previously implement it—allowed the
about inputs from your ven- client to recover €30,000 in
dors. Don’t you want to know fees from the vendor.
HELPING DEVELOPERS & VENDORS DEMONSTRATE THEIR VALUE
Good vendors and internal development teams
should also see the value of a better approach
to measuring software productivity and qual-
ity. Under traditional methods, a vendor might
hide how little effort or quality code went into
a project to inflate the fee; conversely, though,
the client might drastically underestimate the
difficulties that the vendor had to overcome to
deliver good code.

Using the better approach advocated here, both


vendors and clients can work with greater trans-
parency and trust. When real value is delivered,
it’s going to be more clearly understood than
ever. And when problems are uncovered, they
will be much easier to diagnose and fix.

People running software development teams,


whether internal or external, have a vested in-
terest in achieving greater efficiency, rewarding
outstanding programmers, meeting real busi-
ness needs, and building a strong reputation for
delivering top value for money.

WHAT YOU SHOULD BE MEASURING INSTEAD
- OUTPUT

If you’re concerned with the productivity of your


software development—and you should be—
you need the deep code visibility that gives you
a penetrating view into how your software is
made, how well it works, and how robust it will
be over time.

Developing that visibility and using consistently


will help you measure the quality of each ven-
dor’s work, trends in productivity, the impact of
internal improvement programs, and more.

Beyond that, it will clear away the fog from an


operational area that can either be a source of
strategic advantage . . . or the cause of many
woes.

Functionality

Implemen-
tation Proposed approach

Traditional observer Software system


WHAT’S NEXT
There’s no reason to start panicking. We happen
to know a brilliant team who can help you get
it right. In the meantime, you can start thinking
about getting your whole IT landscape right. We
have some inspirational reads that may get you
going.

SIG gives technology leaders the visibility they


need to address current software problems and
prevent future ones from ever happening.
Drawing on proprietary methods and decades of
expertise, SIG helps organizations fundamen-
tally improve the security and performance of
the enterprise applications that support every
aspect of their businesses. Headquartered in
Amsterdam, SIG serves companies in Europe and
beyond. Information about SIG and its work can
be found at www.sig.eu

Das könnte Ihnen auch gefallen