value maximisation in software management

18
VALUE MAXIMISATION IN SOFTWARE MANAGEMENT leveraging value-based management for tighter business and IT alignment Ayman Akt symmetrica, director First published 2007

Upload: aymanakt

Post on 05-Dec-2014

445 views

Category:

Technology


2 download

DESCRIPTION

The notion of managing software as a precision engineering operation remains an elusive target in the software industry, and that may remain the idealised view of the industry for a long while, partly because of the nature of software and partly because the current mainstream methodologies do not reinforce value-maximisation in the process.

TRANSCRIPT

Page 1: Value maximisation in software management

VALUE MAXIMISATION IN SOFTWARE

MANAGEMENT

leveraging value-based management for tighter

business and IT alignment

Ayman Akt

symmetrica, director

First published 2007

Page 2: Value maximisation in software management

22 VALUE MAXIMISATION IN SOFTWARE MANAGEMENT

© 2008 SYMMETRICA

The notion of

managing software

as a precision

engineering

operation remains

an elusive target in

the software

industry, and that

may remain the

idealised view of the

industry for a long

while, partly

because of the

nature of software

and partly because

the current

mainstream

methodologies do

not reinforce value-

maximisation in the

process.

SOFTWARE engineering is considered a

relatively mature engineering discipline;

nonetheless, it is routinely accepted that the

management of software design and build

cannot be perfected to similar standards

found in other traditional engineering

disciplines. That view underpins much of the

serious quality and cost issues that have been

plaguing the IT industry for decades.

This phenomenon has long been the subject

of intensive research and debate by

researchers and practitioners from the

academia and practitioners circles alike,

which has set the stage for a constantly

broadening spectrum of process

improvement and control methodologies,

such as CMM, ISO 9001, Six Sigma,

COCOMO, and many more less orthodox

ones.

Page 3: Value maximisation in software management

33 VALUE MAXIMISATION IN SOFTWARE MANAGEMENT

© 2008 SYMMETRICA

Clearly, these efforts have been shaping our

understanding of software and its fundamental

operational aspects in a positive way; however, few in

the industry can claim to have bridged the prevailing

chasm between the state-of-the-art and the state-of-

the-practice in software management.

IT governance is still preoccupied with pure

operational concerns and therefore disconnected

from managerial decision-support systems that

business managers use in the course of planning,

forecasting and controlling value creation

opportunities in their respective lines of business.

Page 4: Value maximisation in software management

44 VALUE MAXIMISATION IN SOFTWARE MANAGEMENT

© 2008 SYMMETRICA

Fundamentally, software managers are still unable to reason

about software management decisions in terms of what

impact they might have on the economic value attached to

the underlying IT investment. How many software

managers have you met lately who understand the concept

of investment valuation; for example, NPV?* Consequently,

software managers find themselves unable to, convincingly,

explain the reasons why economic value is not consistently

and uniformly created and captured throughout the

engineering value-chain.

This paper presents some conceptual reflections, with a

slight academic bent, on the current state of play in the

mainstream software industry, which is undeniably

struggling to establish its credentials as a reliable business

enabling partner, consistently capable of leveraging

operational efficiencies in support of the objectives of their

business partners. We argue that the fundamental reason

why the industry is continuing to endure embarrassing

failure rates, inflationary pricing, and profitability losses is

not because of the lack of technical innovation, or scant

investments; rather, the reason lies in an engineering and

managerial mindset that is not sensitive to pertinent

economic value considerations as an integral part of

managing the software engineering value-chain.

Operational excellence implies maximum control over the

parameters that affect production whilst exercising

* For the purposes of this discussion we’ll ignore IT’s favourite metric, ROI, which if applied correctly, all it really tells is the predicted return

Page 5: Value maximisation in software management

55 VALUE MAXIMISATION IN SOFTWARE MANAGEMENT

© 2008 SYMMETRICA

consistent measure of operational efficiencies. In the

software world, there is always a disconnect between

operational metrics and project process metrics.

The preceding introductory paragraphs have set the stage

for our exploration into software management, which we

like to characterise as being: firstly, value-driven; and,

secondly, based on factual financial and operating metrics.

In the sections to follow, we explore the following

supporting notions in more practical terms:

The notion of value-driven business management

The notion of software management as an

extension on, as well as an enabler of value-driven

business management

The notion of leveraging operational capabilities to

enable value-driven software management

The notion of leveraging software process maturity

and software metrics to drive higher operational

capabilities

In this paper we refer to “IT” and “business” in a generic

sense; whether the provision of service by IT is delivered

internally or through some form of external supply

agreement is not really relevant. The paper begins with an

explanation of the notion of value and value realisation.

This is followed by a more specialised treatment, where we

describe the typical business environments, where

delivering software is a primary value-added activity; for

Page 6: Value maximisation in software management

66 VALUE MAXIMISATION IN SOFTWARE MANAGEMENT

© 2008 SYMMETRICA

example, vendors, service organisations, or corporate

software departments, whilst exposing the different

interpretations of value under each environment. That is

then followed by a brief description of the nature of

software and its complex operational aspects, which will

help us develop an appreciation of the difficulties involved

in performing value-sensitive analysis, such as financial,

when considering software investment alternatives, or more

broadly, the inherent difficulty in managing the delivery of

software as a value-driven activity. Finally, the paper

concludes with an illustrative account of the increased value

maximisation potential associated with improved levels of

software process maturity, and the business imperative to

rationalise investment in attaining the appropriate process

maturity levels†, for which we use a purpose-developed

model to illustrate some key concepts.

VALUE REALISATION LIFECYCLE

Successful businesses create economic value through a self-

reinforcing process that begins with the basic imperative to

maximise value through rational investments. Whilst the

nature of the investment may vary depending on the

underlying market, most business follow a standard path

starting at investment valuation model of some sort,

highlighting important parameters, such as breakeven

points, cost drivers and production and distribution

† Maturity levels are referred to in a general sense and necessarily in a CMM sense

Page 7: Value maximisation in software management

77 VALUE MAXIMISATION IN SOFTWARE MANAGEMENT

© 2008 SYMMETRICA

models. To tighten the context, let’s begin with a practical

definition of the term value. From a business management

perspective, it is useful to think of value from two

perspectives: economic and operating. Economically

speaking, value is created when the realised return on an

investment exceeds the cost of capital over time. The

operating facet of value is created when products and

services are delivered at a price point that covers all of the

production costs, including cost of capital.

It follows from the above definition that the valuation of a

given investment establishes its value, which ultimately

becomes the basis for comparing and selecting between

competing opportunities in the market. On the other hand,

production reflects the capture of that value through

operational capabilities. Efficient enterprises monitor value

through performance management systems capable of

capturing high quality financial and operating metrics, thus

enabling the business to continuously measure the residual

value and make rational decisions about the continuing

viability of their investments.

Let us take this discussion further into the realm of

software investments, where we aim to underscore few

important points:

The sources of value drivers in software vary

depending on the underlying business model,

therefore businesses must be able to identify the

sources of value in their respective value-chain

Page 8: Value maximisation in software management

88 VALUE MAXIMISATION IN SOFTWARE MANAGEMENT

© 2008 SYMMETRICA

Maximising value through the software engineering

value-chain is quite difficult and requires solid

technical and operational capabilities

Solid operational capabilities in software

management require process maturity and fact-

based management approach

THE BUSINESS CONTEXT OF SOFTWARE

Commercial software is often produced under dynamic

environments characterised by intense business and market

pressures. The nature of these pressures varies depending

on the type of the organisation and its underlying business

model. This dynamism often means that business values are

measured differently by different players. However, as we

shall outline later in this section, businesses operating in

efficient markets do face similar overriding concerns with

respect to managing budget, cycle-time, and quality, which

together represent the primary operational parameters that

shape value creation and capture in software. Let us

consider few examples.

Product-based businesses and vendors develop products

that are often in competition with other products from rival

players. As products evolve through their development

lifecycle (for example, introduction, growth stability, and

sunset), the underlying market positioning and value drivers

change as well, necessitating some form of redevelopment

Page 9: Value maximisation in software management

99 VALUE MAXIMISATION IN SOFTWARE MANAGEMENT

© 2008 SYMMETRICA

to the products in question. For example, if a given product

is being positioned for growth, feature-richness and time-

to-market might be considered important value drivers.

Delivering a product that captures these drivers will deliver

the most value. The challenge for software managers

therefore lies in their ability to realign their production

processes and resources in a manner that support the

injection of adding features at an economical cost, without

compromising product quality (for example, introducing

new bugs or breaking functional features), or the time-to-

market window opportunity. How do they do that?

Experienced managers might consider modularising the

product codebase, adopting a more frequent release

strategy, or perhaps improving their testing practices.

In contrast, services organisations (including the

professional services divisions of product vendors), face

somewhat different dynamics, as they are primarily

engagement-driven, and in order to maximise value, they

strive for high-yield, profitable engagements with a view for

long term client relationships. Businesses in these markets

are knowledge driven; the commoditisation of solutions

within particular market segments is considered a key

operational requirement in order to drive costs down and

shorten cycle times, leading to improved yields.

Internal software divisions often contend with the question

of building new systems in-house vs. relying on commercial

off the shelf software (COTS). Opting for the wrong

option could deplete value from the organisation for years

Page 10: Value maximisation in software management

1100 VALUE MAXIMISATION IN SOFTWARE MANAGEMENT

© 2008 SYMMETRICA

to come in form of mounting support costs, hiring

experienced personnel etc.

We have kept the discussion in this section simple in order

to highlight few important points: irrespective of the

underlying business model, market dynamics tend to force

businesses to consider similar overriding commercial and

operational concerns when considering investments in

software, mandating that they exercise absolute control over the

quality of their products and services, within planned budget and cycle-

time. These considerations embody the true business value

drivers across most markets and therefore businesses must,

in the first instance, understand how those factors affect

value realisation in their markets, and then develop the

necessary operating capabilities that maximise them.

However, as we shall outline in the following section,

software is essentially a complex undertaking and exhibits

unique properties of its own which makes such undertaking

quite a challenge.

THE NATURE OF SOFTWARE

It is readily acknowledged that software is fundamentally

different from traditional or physical goods. Software

cannot be produced under pure production line settings,

nor can it be subjected to a predetermined production

function. Being intangible in nature, software is primarily

delivered as a service, involving high degree of human

Page 11: Value maximisation in software management

1111 VALUE MAXIMISATION IN SOFTWARE MANAGEMENT

© 2008 SYMMETRICA

input in form of knowledge and creativity. These aspects of

software render its production processes variable and quite

challenging to control. To compound the problem,

comparatively speaking, software engineering’s “modi

operandorum” can hardly be described as standardised in

terms of methodologies, tools, specifications, or even in the

use of notation, and there is very little automation support.

Another confounding factor is the advent of the Internet

and distributed computing, which have introduced major

shifts in how software is architected and developed,

disturbing nearly 30-years of empirical project data on

productivity, effort, quality, cycle-time and other primary

metrics, which have underpinned much of our assumptions

on how to estimate and measure software.

This fluid nature of software has given rise to another

interesting situation, where the interchange between, and

the reuse of software components are causing immense

design challenges for most practitioners. Given the

considerable costs involved in writing custom software,

improving software reuse ratio is amongst the most

important operational considerations for most managers‡.

The preceding paragraph highlighted an instance of the so-

called essential complexity associated with software. When

describing software, it is hard to avoid discussing essential

versus accidental complexities. Mismanagement of software

complexity is amongst the biggest sources of value

‡ Reuse is also very effective in breaking down systems complexity, because it promotes modularity.

Current software

paradigm involves

technical and

creative elements

which are known to

be variable from

one organisation to

the other; or even

across projects

and teams within

the same

organisation

Page 12: Value maximisation in software management

1122 VALUE MAXIMISATION IN SOFTWARE MANAGEMENT

© 2008 SYMMETRICA

destroyers in the software engineering industry. Essential

complexity is a measure of the inherent difficulty of a

particular problem. On the other hand, accidental

complexity is the type of problem solving anti-patterns

and/or process mismanagement that introduce

unwarranted complexity into the developing solution. This

is a very common phenomenon in less mature software

environments.

SOFTWARE MANAGEMENT AND THE QUEST

FOR VALUE

The thrust of our discussion has thus far has been the

focus on the apparent missing link between prevailing

software management practices and the notion of business

value maximisation. The magnitude of variation in the

residual value in a given software investment is often a

function of the underlying operational capability of the

organisation. To demonstrate this relationship, we’ll

introduce a simple model in order to gain further insights

into the interactions between operational capability, process

maturity, and the residual business value.

The backbone of our model is based on the numerous

research and the various supporting accounts from within

the industry, which confirm the existence of a positive

correlation between process maturity and improved

Page 13: Value maximisation in software management

1133 VALUE MAXIMISATION IN SOFTWARE MANAGEMENT

© 2008 SYMMETRICA

capability-to-deliver. Undoubtedly, most commercial

undertakings or projects are economically and rationally

planned to yield the best possible return; therefore,

successful delivery§ is a reliable measure of the residual

value created in the business. Understanding cost of quality

is another important consideration and we believe that’s the

best throttling mechanism available for businesses wishing

to rationalise their investment in process improvement. We

call our model Comparative Maturity and Value Model (CMV

Model), which can be seen in the following page.

§ That is profitable and meets customer expectations.

Page 14: Value maximisation in software management

1144 VALUE MAXIMISATION IN SOFTWARE MANAGEMENT

© 2008 SYMMETRICA

To simplify the discussion, let’s consider a simple ordinal

scale that rates process maturity into the following: High,

Moderate and Low. Furthermore, let’s consider the simple

and commonly understood economic relationship between

cost and return: higher return yields are attained by

lowering unit costs**. Our CMV Model captures this

relationship using a generalised pattern as depicted in the

upper panel. The model identifies a value-maximising cost

** We are consciously avoiding the term ROI because we believe its reckless use in the software industry has earned this, otherwise valuable economic valuation measure, a gimmicky reputation.

PERFORMER SWINGER STRUGGLER

COST

RETURN

HIGH PROCESS

MATURITY MODERATE PROCESS

MATURITY POOR PROCESS MATURITY

QUALITY

VALUE

VALUE Maximisation

C

Page 15: Value maximisation in software management

1155 VALUE MAXIMISATION IN SOFTWARE MANAGEMENT

© 2008 SYMMETRICA

point at which return is at its maximum††. Laid under the

curve are the process maturity scales introduced earlier. The

positioning of the profiles along the curve reflects their

tendency to gravitate towards the value-maximising point c.

Finally, let’s consider the capability-to-deliver profiles of

three organisations using the following mnemonics:

Performer, Swinger, and Struggler. Our model represents

each organisation with a circle, and uniquely uses the size

of each circle to model the magnitude of variance,

therefore relaying a representation of the comparative

position of each organisation with respect to its value

maximisation ability.

The CMV Model allows us to draw some important

conclusions. For example, the upper panel reveals two

important characteristics about Performers: they are

situated closer to the value-maximising cost point, and their

return-variability is minimal and tolerable. Organisations of

that type are able to leverage their process maturity to

maximise value. By contrast, due to their lower process

maturity, Swingers are inconsistent in their ability to

preserve value, subsequently; their return-variance is larger.

This probably typifies quite a large number of operators in

the software industry today. To Strugglers, it is a constant

struggle between hit and miss.

Bottom panel of our model reveals important

†† For sake of simplicity, let’s also assume it is not possible to lower this point further due to inherent limitations at industry and technology levels. For example, it is not possible to hire a senior developer at lower price than prevailing market rate.

Page 16: Value maximisation in software management

1166 VALUE MAXIMISATION IN SOFTWARE MANAGEMENT

© 2008 SYMMETRICA

characteristics about quality management practices of our

organisational profiles. In order to stay near the value-

optimising cost point, Performers organisations are able to

balance the incremental cost of additional quality process

improvement against the potential incremental gain (which is

commonly referred to as ROI). However, unless it has

originated from some newly gained internal efficiencies, or

improved trading/market conditions, excess quality does

not necessarily convert to increased value, because clients

may not necessarily be willing to pay for it.

An interesting case in point can be found in a classic 1990

study which has shown that achieving high reliability (a

quality of service metric) in mission-critical parts of the

NASA space shuttle software program by means of

reducing the defect density from 4/KLOC to under

1/KLOC increased the cost of software from $35/SLOC

to $350/SLOC. Clearly, having that type of information

available greatly improves the managerial decision making.

The bottom panel reinforces a fundamental principle about

the diminishing returns nature of QA and process

improvement investments in general. Organisations that fail

to balance the economics of the incremental cost/gain

relationship will end up over capitalising and incur

additional overhead. In order to recoup the increased cost

base, Swingers may have no option available but absorb the

additional overhead, or reconsider their pricing position,

which in turn may affect their competitiveness. Either way,

the end outcome will lead to loss in value.

Page 17: Value maximisation in software management

1177 VALUE MAXIMISATION IN SOFTWARE MANAGEMENT

© 2008 SYMMETRICA

Despite the straightforward semantics revealed by the CMV

Model, many organisations are not very successful in

transforming these relationships into actionable and

operable process frameworks.

CONCLUSION

This brief paper covered important concepts about value-

based management in software. Mainstream software

management practices are not structured around the notion

of putting economic and business values at the heart of the

decision making process; alternatives and options

considered are seldom judged in light of how much value

they generate to the bottom-line. Instead, the scale is tilted

in favour of technical considerations.

Value-driven software management is a fundamental

operating concept and requires a mindset shift in most

organisations, and is applicable to both commercial and

government, including not-for-profit enterprises.

Variability of residual value in software investment can only

be minimised when it is offset by heightened attention to

value drivers relevant to the software engineering value-

chain. As exemplified by our CMV Model, return variability

Page 18: Value maximisation in software management

1188 VALUE MAXIMISATION IN SOFTWARE MANAGEMENT

© 2008 SYMMETRICA

is inversely related to capability-to-deliver; therefore,

businesses must relentlessly develop their production

capabilities towards attaining maximum maturity, which can

be achieved by attaining:

Robust understanding of where and how value can

created and captured in the software engineering

value-chain

Robust understanding of the means that can be

leveraged to measure value in the software

engineering value-chain

Robust understanding of the cost drivers in the

software engineering value-chain and how they

affect value