An Economic Model of Software Development Approaches

Dr. Li Liu [HREF1], Faculty of Engineering, The University of Sydney [HREF2] l.liu@staff.usyd.edu.au
Dr. Xiaoying Kong [HREF3], Faculty of Engineering, University of Technology, Sydney [HREF4] xiaoying.kong@uts.edu.au
Dr. Jing Chen [HREF5], School of Business, University of Northern British Columbia [HREF6] chenj@unbc.ca

Abstract

As agile methodologies are being adopted by increasing number of organizations, there is a greater need to understand its value. This study attempts to explain the value of Agile Methodologies by introducing a new economic analytical model and using simulation techniques. The results show that uncertainty level has a strong effect of the level of process effectiveness. Lower level of uncertainty is associated with high levels of project effectiveness regardless the level of pre-committed project costs and project duration. When the level of uncertainty is high, the level of process effectiveness is low regardless of the level of pre-committed project costs and project duration; and, the process effectiveness declines at a fast rate with longer project duration and/or higher level of pre-committed project costs.

Agile methodology's value-adding comes from its core values of effective communication, and starting from small for shorter duration. It is suitable for projects with high levels of uncertainty. In contrast, the plan driven approach, tends to increase project duration, pre-committed project costs and fails to reduce the level of uncertainty. It is only suitable for projects with low level of uncertainty.

1. Introduction

The World Wide Web has provided a platform for companies to communicate and transact directly with their customers and partners. Challenges arise due to fast evolving technology and increased competition as companies are under constant pressure to develop new functionalities to satisfy changing client needs and to deliver them in short cycles at low costs (Iansiti and MacCormack 1997).

Existing methods for software development can be classified into two categories, plan-driven (traditional) vs agile (flexible) (Boehm and Turner 2003; Iansiti and MacCormack 1997). During the early stage of the plan-driven approach, the user needs are identified; requirements for new functionalities are specified; technical specifications are created; development processes are defined; specific project targets are spelled out; and, acceptance criteria and tests are outlined. Many of the CMM or ISO based methods belong to this category. The focus of the project team is on development and implementation according to the plan. As a result, the success of a project using plan-driven approach hinges on the validity and reliability of the project plan.

In a dynamic environment such as the World Wide Web, it is difficult to predict technological changes, clients' needs and thus the solutions to clients' problems. Very often, the client lacks the knowledge and experience to describe their needs, not to mention requirements and specifications. There is evidence showing that effective learning by the client during the initial design phases of a project impacts positively on its success (Wastell 1999; Majchrzak et al 2005). Requirement changes at later stages, which often happen as a result of client learning occuring late in a project, could lead to not meeting client expectations, and budget or schedule overruns (Boehm 1989). Therefore, a rigid project plan becomes less effective in guiding the project team and could result in an obsolete system. Instead, the project team needs to collaborate with the client to help each other learn fast and the development process should be flexible enough to allow frequent changes.

Increasingly, companies are abandoning the plan-driven approach and adopting agile development methodologies (Baskerville et al. 2001). Agile methodology refers to a family of software development methods that focus on customer needs, shorter development cycle time and adapting to changes requirements. The family includes Extreme Programming (Beck et al 2002), Scrum, DSDM and Crystal Family (Fowler 2005). Agile method is characterised by a chaotic perspective, collaborative values and principles, and barely sufficient technology (Highsmith 2002). Its core values include: individuals and interactions over processes and tools; working software over comprehensive documentation; customer collaboration over contract negotiation; responding to change over following a plan (Manifesto for Agile Software Development). Compared with the plan-driven approach, the agile methodology addresses the lack of knowledge of both the client (on the technology and development process) and the developer (on client's business needs) by encouraging closer collaboration. Usually, client representatives are collocated and work alongside the project team. Instead of working against the plan, frequent changes are embraced to address the client's changing business needs.

As a new approach, agile methodology is primarily practice-driven and has little theoretical knowledge behind it. More recently, studies on the effects and processes of agile methodologies start to emerge (Padberg et al., 2003). There is a strong interest in the agile community in understanding the effects and dynamics of agile methodologies. An example is the strong interests shown on the measurement framework of the productivity and quality in agile methodologies (EEAP 2002).

Most existing literature on agile methodologies is qualitative based on anecdotal evidence. Little quantitative analysis for agile methodologies exists. This study attempts to explain the value of Agile Methodologies using a new economic analytical model. The benefits of such an approach can be summed up as:

"The progress of science is marked by the transformation of the qualitative into the quantitative. In this way not only do notions become turned into theories and lay themselves open to precise investigation, but the logical development of the notion becomes, in a sense, automated. Once a notion has been assembled mathematically, then its implications can be teased out in a rational, systematic way." (Atkins, 1994, p. 29)

The aim of this paper is to explore the dynamics of value-adding from agile methodologies through using a quantitative model. Towards this goal, the economic model is introduced first. Then, the effect of influence factors on the value of the agile methodology is analysed using simulation techniques.

The insights from this study could help practitioners better understand the trade-offs between the agile methodologies and the plan-driven approaches. The model introduced could serve as the platform for future research on the value of agile methodologies.

In the sections below, the analytical theory of project investment is introduced in Section 2. Based on the model, the value of agile methodology is modeled and the impacts of major influence factors analyzed. Finally, conclusions are drawn and implications are discussed.

2. The Economic Model

The Analytical Theory of Project Investment (Chen, 2005, 2006) is introduced below. The model will then be used in the following sections to analyze and demonstrate the value of agile methodologies.

In the following discussions, S represents economic value of a project, r, the rate of return and sigma, the rate of uncertainty of the economic value of the underlying asset. The incremental value of S can be represented by a lognormal process:

Equation1 (1)

The total project costs can be divided into a pre-committed project cost component K, and a variable cost component C. The pre-committed project cost component K is defined as the project cost incurred before the start of the project. K may include costs for feasibility study, evaluation, bidding, pre-planning, and some equipment costs. The project cost C refers to the project costs that have been incurred after the project has started. From the Feynman-Kac formula (Oksendal, 1998, p. 135), the project cost C, as a function of the economic value of the project S, satisfies the following equation:

Equation2 (2)

with the initial condition:

Equation3 (3)

When the duration of a project is T, solving equation (2) with the initial condition (3) yields the following solution

Equation4-where (4)

where

Equation4

The function N(x) is the cumulative probability distribution function for a standardized normal random variable.

Although Formula (4) takes the same form as the well-known Black-Scholes (1973) formula for European call options, the meaning of the parameters and the implications of the equations are very different. Formula (4) provides an analytical relation among the economic value S of a project, pre-committed project cost component K, the project cost C, duration of the project T, uncertainty level sigma in the project, and the risk-free interest rate.

3. Applying the Economic Model to Software Development Models

Studies have found that the plan-driven approach is suitable to projects in a stable environment with little technological changes, such as typical building construction projects (Boehm and Turner 2003). For projects in a dynamic environment where technology and business needs change at a very fast rate, project development models need to be flexible to allow experimentation and frequent changes (Iansiti and MacCormack 1997; Boehm and Turner 2003). In the analysis below, we demonstrate the effect of K, C, T, sigma and r on the process effectiveness of the development models.

The process effectiveness is defined as the ratio of the economic value S of a project to the total cost of the project, K + C. The ratio measures the extent to which a project has been delivered with project value (S) within cost target. From Formula (4) above, the process effectiveness ProcEff can be defined as:

Equation5 (5)

where

Equation4

Based on the above model, the impact factors to the effectiveness of software development process can be identified and analyzed. From equation (5), parameters affecting ProcEff are: the uncertainty level sigma , duration T, discount rate r, and the level of pre-committed cost K. Below, the impact of each parameter will be analyzed.

3.1 Impact of uncertainty level to software development

Calculating ProcEff from (5) by changing the level of uncertainty, we find that, process effectiveness decreases, eventually to one, as the level of uncertainty is increased. This is illustrated in Figure 1.

Fig1
Figure 1 Process effectiveness decline with uncertainty increases.

From this result, we conclude that:

The level of process effectiveness decreases as the level of development uncertainty increases.

3.2 Impact of the level of pre-committed project costs

In the Figure below, we plotted two curves, one for projects with high levels of uncertainty and the other for projects with low levels of uncertainty. The low uncertainty curve shows that for projects with low levels of uncertainty, the process effectiveness is high and only declines marginally with the increase in the level of pre-committed project costs. In contrast, the high uncertainty curve shows that for projects with high levels of uncertainty, the process effectiveness is lower and declines at a faster rate with the increase in the level of pre-committed project costs than when uncertainty level is higher.

Fig2
Figure 2. Process effectiveness vs pre-committed project costs

3.3 Impact of development duration

Formula (5) shows that the duration of the project influences the level of process effectiveness. Figure 3 shows the curve for the changes in process effectiveness as the project duration changes. When uncertainty level is low, the process effectiveness level declines at a slow rate and remains at a fairly steady level. When the level of uncertainty is high, longer duration actually leads to a sharp decline in the level of process effectiveness. This is consistent with the trend that many software development methodologies adopt incremental processes with frequent release and short duration.

Fig3
Figure 3. Process Effectiveness vs Project Duration

4. Summary of findings and implications

Findings
The analysis above indicates that uncertainty level has a strong effect of the level of process effectiveness. Lower level of uncertainty is associated with high levels of project effectiveness regardless the level of pre-committed project costs and project duration. In contrast, when the level of uncertainty is high, the level of process effectiveness is low regardless of the level of pre-committed project costs and project duration; and, the process effectiveness declines at a fast rate with longer project duration and/or higher level of pre-committed project costs.

Implications
The findings above suggest that to improve the process effectiveness, it is important to reduce the level of uncertainty. For software projects, requirement uncertainty has been shown to be one of the most significant factors impacting on project performance.

One approach is to adopt the plan-driven methodology and invest heavily upfront. This approach is effective when the level of uncertainty is low. When the level of uncertainty is high, this approach increases the pre-committed project costs and the project duration, both of which lead to reduced level of process effectiveness. To reduce the level of uncertainty, constant feedback is needed from the project through prototyping or iterative development. This can only happen when the client and the project team learn and understand technologies and business needs through close communication and trial and error. Therefore, a pure plan-driven approach is not going to reduce the level of uncertainty as no feedback can be obtained before the planning has been completed and a project plan without feedback from trials will not be effective in high uncertainty environment.

Agile methodology is alternative that directly addresses level of process effectiveness through reducing the uncertainty level, the project duration and the level of pre-committed project costs. The emphasis on interactions, working software, customer collaboration and responding to change (Manifesto for Agile Software Development) allows timely and effective communication amongst project team and the client. In a web design projects, there are a number of practices that facilitates team communication, such as white site prototyping, face to face white board prototyping, architecture design via telephone communication, etc.

One core value of the agile methodology is project should small, with small teams and shorter duration, which reduces the level of pre-committed project costs and project duration. It also reduces the level of uncertainty by enabling feedback from smaller projects.

In conclusion, agile methodology's value-adding comes from its core values effective communication and starting from small for shorter duration. It is suitable for projects with high levels of uncertainty. In contrast, the plan driven approach, tends to increase project duration, pre-committed project costs and fails to reduce the level of uncertainty. It is only suitable for projects with low level of uncertainty.

References

Atkins, P. (1994). The second law, New York: Scientific American Library: distributed by W.H. Freeman.

Baskerville, R.; Levine, L.; Pries-Heje, J.; Slaughter, S. (2001), "How Internet software companies negotiate quality", Computer, Volume 34, Issue 5, May 2001 Page(s):51 - 57

Beck, K. and Andres, C. (2002) "Extreme Programming Explained : Embrace Change", 2nd Edition, Addison-Wesley

Beck, K.; Boehm, B. (2003) "Agility through discipline: a debate", Computer, Volume 36, Issue 6, June 2003 Page(s):44 - 46

Black, F. and Scholes, M. (1973). The Pricing of Options and Corporate Liabilities, Journal of Political Economy, 81, 637-659.

Boehm, B.; Turner, R.(2003), "Using risk to balance agile and plan-driven methods", Computer, Volume 36, Issue 6, June 2003 Page(s):57 - 66

Chen, J. (2005) "THE PHYSICAL FOUNDATION OF ECONOMICS, An Analytical Thermodynamic Theory", World Scientific Publishing Co. 2005

Chen, J. (2006 forthcoming) "An Analytical Theory of Project Investment: A Comparison with Real Option Theory", International Journal of Managerial Finance.

EEAP (2002) "Summary of workgroup discussions", Workshop on empirical evaluation of agile processes, XP/Agile Universe 2002, Available online [HREF7] Last accessed: 4 October, 2005

Fowler, M. (2005) "The new methodology", Available online [HREF8] Last accessed: March 2, 2006.

Highsmith, J. (2002) The Great Methodologies Debate: Part 2, Cutter IT Journal, January 2002, Volume 15, No. 1

Iansiti, M. and A. MacCormack (1997) "Developing products on Internet time", Harvard Business Review, Sep-Oct.,75(5): p108-117.

Majchrzak, A., C. M. Beath, R. Lim and W. Chin (2005) "Managing client dialogues during information systems design to facilitate client learning," MIS Quarterly, Vol. 29 Issue 4, p653-2672.

Manifesto for Agile Software Development, Available online [HREF9] Last accessed: March 3 2006

Oksendal, B. (1998). Stochastic differential equations: an introduction with applications, 5th edition. Springer , Berlin ; New York

Padberg F. and Muller M (2003) "The costs and benefit of pair programming". Proceedings of 9th international software metrics symposium, pp. 166-177, Sydney, Australia, September 2003.

Scrum, Available online [HREF10] Last accessed: March 21, 2006

Wastell, D. G. (1999) "Learning Dysfunctions in Information Systems Development: Overcoming the Social Defenses with Transitional Objects," MIS Quarterly (23:4), pp. 581-600.

Hypertext References

HREF1
http://www.civil.usyd.edu.au/people/liu_li.shtml
HREF2
http://www.usyd.edu.au/
HREF3
http://www.eng.uts.edu.au/~xiaoying/
HREF4
http://www.uts.edu.au/
HREF5
http://web.unbc.ca/~chenj/
HREF6
http://www.unbc.ca/
HREF7
http://sern.ucalgary.ca/EEAP/2002/
HREF8
http://www.martinfowler.com/articles/newMethodology.html
HREF9
http://agilemanifesto.org/
HREF10
http://www.controlchaos.com/

Copyright

Li Liu, Xiaoying Kong and Jing Chen © 2006. The authors assign to Southern Cross University and other educational and non-profit institutions a non-exclusive licence to use this document for personal use and in courses of instruction provided that the article is used in full and this copyright statement is reproduced. The authors also grant a non-exclusive licence to Southern Cross University to publish this document in full on the World Wide Web and on CD-ROM and in printed form with the conference papers and for the document to be published on mirrors on the World Wide Web.