value maximisation in software management
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
VALUE MAXIMISATION IN SOFTWARE
MANAGEMENT
leveraging value-based management for tighter
business and IT alignment
Ayman Akt
symmetrica, director
First published 2007
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.
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.
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
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
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
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
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
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
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
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
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
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.
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
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.
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.
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
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