Your SlideShare is downloading. ×
Value maximisation in software management
Value maximisation in software management
Value maximisation in software management
Value maximisation in software management
Value maximisation in software management
Value maximisation in software management
Value maximisation in software management
Value maximisation in software management
Value maximisation in software management
Value maximisation in software management
Value maximisation in software management
Value maximisation in software management
Value maximisation in software management
Value maximisation in software management
Value maximisation in software management
Value maximisation in software management
Value maximisation in software management
Value maximisation in software management
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Value maximisation in software management

308

Published on

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 …

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.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
308
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. VALUE MAXIMISATION IN SOFTWARE MANAGEMENT leveraging value-based management for tighter business and IT alignment Ayman Akt symmetrica, director First published 2007
  • 2. SOFTWARE engineering is considered a The notion of relatively mature engineering discipline; managing software nonetheless, it is routinely accepted that the as a precision management of software design and build engineering cannot be perfected to similar standards operation remains found in other traditional engineering an elusive target in disciplines. That view underpins much of the the software serious quality and cost issues that have been industry, and that plaguing the IT industry for decades. may remain theidealised view of the This phenomenon has long been the subject industry for a long of intensive research and debate by while, partly researchers and practitioners from the because of the academia and practitioners circles alike, nature of software which has set the stage for a constantlyand partly because broadening spectrum of process the current improvement and control methodologies, mainstream such as CMM, ISO 9001, Six Sigma, methodologies do COCOMO, and many more less orthodoxnot reinforce value- ones.maximisation in the process. 2 VALUE MAXIMISATION IN SOFTWARE MANAGEMENT © 2008 SYMMETRICA
  • 3. 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.3 VALUE MAXIMISATION IN SOFTWARE MANAGEMENT © 2008 SYMMETRICA
  • 4. 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 return4 VALUE MAXIMISATION IN SOFTWARE MANAGEMENT © 2008 SYMMETRICA
  • 5. 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; for5 VALUE MAXIMISATION IN SOFTWARE MANAGEMENT © 2008 SYMMETRICA
  • 6. 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 sense6 VALUE MAXIMISATION IN SOFTWARE MANAGEMENT © 2008 SYMMETRICA
  • 7. 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-chain7 VALUE MAXIMISATION IN SOFTWARE MANAGEMENT © 2008 SYMMETRICA
  • 8.  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 redevelopment8 VALUE MAXIMISATION IN SOFTWARE MANAGEMENT © 2008 SYMMETRICA
  • 9. 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 years9 VALUE MAXIMISATION IN SOFTWARE MANAGEMENT © 2008 SYMMETRICA
  • 10. 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 human10 VALUE MAXIMISATION IN SOFTWARE MANAGEMENT © 2008 SYMMETRICA
  • 11. 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 Current software shifts in how software is architected and developed, paradigm involves disturbing nearly 30-years of empirical project data on technical and productivity, effort, quality, cycle-time and other primary creative elements metrics, which have underpinned much of our assumptionswhich are known to on how to estimate and measure software. be variable from This fluid nature of software has given rise to anotherone organisation to interesting situation, where the interchange between, and the other; or even the reuse of software components are causing immense across projects design challenges for most practitioners. Given the and teams within considerable costs involved in writing custom software, the same improving software reuse ratio is amongst the most organisation 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. 11 VALUE MAXIMISATION IN SOFTWARE MANAGEMENT © 2008 SYMMETRICA
  • 12. 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 improved12 VALUE MAXIMISATION IN SOFTWARE MANAGEMENT © 2008 SYMMETRICA
  • 13. 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.13 VALUE MAXIMISATION IN SOFTWARE MANAGEMENT © 2008 SYMMETRICA
  • 14. HIGH PROCESS MATURITY RETURN MODERATE PROCESS MATURITY POOR PROCESS MATURITY C COST VALUE VALUE QUALITY Maximisation PERFORMER SWINGER STRUGGLER 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.14 VALUE MAXIMISATION IN SOFTWARE MANAGEMENT © 2008 SYMMETRICA
  • 15. 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.15 VALUE MAXIMISATION IN SOFTWARE MANAGEMENT © 2008 SYMMETRICA
  • 16. 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.16 VALUE MAXIMISATION IN SOFTWARE MANAGEMENT © 2008 SYMMETRICA
  • 17. 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 variability17 VALUE MAXIMISATION IN SOFTWARE MANAGEMENT © 2008 SYMMETRICA
  • 18. 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 value18 VALUE MAXIMISATION IN SOFTWARE MANAGEMENT © 2008 SYMMETRICA

×