DEFINING THE IMPLEMENTATION ORDER OF SOFTWARE

PROJECTS IN UNCERTAIN ENVIRONMENTS

Eber Assis Schmitz, Antonio Juarez Alencar, Marcelo C. Fernandes and Carlos Mendes de Azevedo

Institute of Mathematics and Electronic Computer Center, Federal University of Rio de Janeiro, Rio de Janeiro - RJ, Brazil

Keywords:

Minimum Marketable Feature, Incremental Funding Method, Project Management and Business Performance.

Abstract:

In the competitive world in which we live, where every business opportunity not taken is an opportunity handed

to competitors, software developers have distanced themselves, in both language and values, from those who

deﬁne the requirements that software has to satisfy and come up with the money that funds its development

process. Such a distance helps to reduce or, in some cases, completely eliminate the competitive advantage that

software development may provide to an organization; transforming this value creation activity into a business

cost that is better kept low and under tight control. This article proposes a method for obtaining the optimal

implementation order of software units in an information technology development project. This method,

which uses a combination of heuristic procedures and Monte Carlo simulation, takes into consideration the

fact that software development is generally carried out under cost and investment constraints in an uncertain

environment, whose proper analysis indicate how to obtain the best possible return on investment. The article

shows that decisions made under uncertainty may be substantially different from those made in a risk-free

environment.

1 INTRODUCTION

In the last decades Information Technology (IT) has

become an important component of business strategy.

Therefore, it should come as no surprise that in the

American service industry alone IT is responsible for

more than half of capital investment. In this day and

age, IT has become the informational infra-structure

of many organizations, helping the generation of new

services and products, the creation of innovativeman-

agerial structures, to access new markets and establish

new forms of speeding up the delivery of services and

goods (Scott, 2006).

However, in the course of time, the practice of

software development has become increasingly dis-

connected from those who deﬁne the requirements

that software have to satisfy and fund the software

development process. While IT professionals are gen-

erally concerned with software development method-

ologies, its related supporting tools, classes of objects

and use cases, business oriented personnel are preoc-

cupied with product marketable features, project cash

ﬂows, competitive advantage and, ultimately, return

on investment (Denne and Cleland-Huang, 2003).

This should come as no surprise as business related

subjects are seldom part of the regular computer

science or computer engineering curriculum at both

undergraduate and graduate level (Joint Task Force,

2005; Verhoef, 2005).

This disconnection, in both language and value,

has two important consequences for software devel-

opment. First, as IT professionals become more tech-

nical and less business oriented, software develop-

ment tends to be perceived by high management as

a business cost, that is better kept low and under tight

control. Second, the acceptable payback time of IT

projects is likley to become much shorter, making

it very difﬁcult to develop long term projects, even

though they might be strategically relevant. All of

this, obviously, affects the way IT is used in the strate-

gic context, transforming, in many circumstances, a

value creation activity such as software development

in a mere outsourceable part of business (Denne and

Cleland-Huang, 2003).

23

Assis Schmitz E., Juarez Alencar A., C. Fernandes M. and Mendes de Azevedo C. (2008).

DEFINING THE IMPLEMENTATION ORDER OF SOFTWARE PROJECTS IN UNCERTAIN ENVIRONMENTS.

In Proceedings of the Tenth International Conference on Enterprise Information Systems - ISAS, pages 23-29

DOI: 10.5220/0001670200230029

Copyright

c

SciTePress

Although, it is generally accepted that software

development should be managed interactively as a re-

sult of smaller functional ready-to-use parts, little at-

tention has been given on how software development

should be funded. While agile methods such as Scrum

and Extreme Programming (XP), do favor the con-

struction of such parts, the full value that the right

combination of these parts brings to business are still

not fully unleashed (Germain and Robillard, 2005).

This article proposes a method for identifying the

optimum implementation order of software units in

an IT project. Such an order helps to place software

at the center of business strategic decisions, mak-

ing it possible to develop complex information sys-

tems from a relatively small investment. The method,

based upon a combination of heuristic procedures and

Monte Carlo simulation, takes into account that soft-

ware development takes place in an uncertain envi-

ronment, being subjected to cost and risk constraints.

2 CONCEPTUAL FRAMEWORK

Typically, the buying process of any product by con-

sumers has four main components: (1) there is a need

that has to be satisﬁed, (2) there is at least one product

that is perceived as satisfying that need, (3) there is

money available to pay for the product, and (4) con-

sumers are willing to pay what they have asked for

(Kotler and Armstrong, 2007). While simple prod-

ucts have a reduced set of features for which people

are willing to pay, software may have a large collec-

tion of such features (Little, 2004).

According to Denne and Cleland-Huang (Denne

and Cleland-Huang, 2003; Denne and Cleland-

Huang, 2004; Cleland-Huang and Denne, 2005) soft-

ware minimum marketable features, or MMFs for

short, are software units that have an intrinsic mar-

ketable value. These software units create market

value to business in one or several of the following

areas:

• Competitive differentiation - the software unit al-

lows the creation of service or product features

that are valued by customers and that are different

from anything else being offered in the market;

• Revenue generation - although the software unit

does not provide any unique valuable features to

customers, it does provide extra revenue by offer-

ing the same quality as other products in the mar-

ket for a better price;

• Cost savings - the MMF allows business to save

money by making one or more business processes

cheaper to run;

• Brand projection - by building the software unit

the business projects itself as being technologi-

cally advanced; and

• Enhanced customer loyalty - the software unit in-

ﬂuences customers to buy more, more frequently

or both.

Moreover, the total value brought to a company

by a software consisting of several interdependent

MMFs, each one with its own cash ﬂow stream and

precedence restrictions is highly dependent on the or-

der of implementation of the MMFs.

Although an MMF is a self-contained unit, it is

often the case that an MMF can only be developed

after other project parts have been completed. These

project parts may be either other MMFs or the archi-

tectural infrastructure, i.e. the set of basic features

that offers no direct value to customers, but that are

required by the MMFs.

The architecture itself can usually be decomposed

into self-contained deliverable elements. These el-

ements, called architectural elements, or AEs for

short, enables the architecture to be delivered accord-

ing to demand, further reducing the initial investment

needed to run a project. For instance, in a web-based

software system, the graphic interface library that al-

lows software units to share a common graphic iden-

tity is an architectural elements, as it has no value to

customers, but common sense indicate that no soft-

ware unit should be developed before it is built.

Figure 1 presents the precedence graph of a set

of MMFs from an example taken from Denne and

Cleland-Huang (Denne and Cleland-Huang, 2003).

Note that A, B, ···, D are software-building activi-

ties and that an arrow going from A to B, i.e. A → B,

indicate that the work on MMF A has to be completed

before the work on B can start.

A B C

D

E

Start Finish

Figure 1: The precedence graph of a set of MMFs.

Table 1 shows the net Cash-Flow Stream (CFS) in

US dollars of each MMF in Figure 1. For instance

consider MMF A. It requires an initial investment of

$50 thousand to be built. Once it is completed it gen-

erates a net revenue of $45 thousand per time period

for a total of eight periods. MMF E, on the other hand,

requires a higher investment of $60 thousand and gen-

erates a net revenue of $30 thousand per time period.

ICEIS 2008 - International Conference on Enterprise Information Systems

24

Because it is improper to perform mathematical

operations on monetary values without taking into ac-

count an interest rate, in order to compare the business

value of different MMFs one has to resort to their dis-

counted cash-ﬂow. Table 2 shows the sum of the dis-

counted cash-ﬂow of each MMFs in Figure 1, consid-

ering a discount rate of 2.4% per time period. Such a

sum is the the net present value (NPV) of all cash ﬂow

elements of an MMF considering that its development

starts at period n ∈ [1..7]. For instance, according to

the information presented in Table 2, if MMF A is de-

veloped in the ﬁrst period, it yields a net present value

(NPV) of $231 thousand, i.e.

NPV

A,1

=

−50

1+

2.4

100

1

+

45

1+

2.4

100

2

+···+

45

1+

2.4

100

8

= $231 thousand

If A is developed in the second period, it yields a

NPV

A,2

of $189, in the third $149 and so on.

Obviously, not all MMFs can be developed in the

ﬁrst period. The precedence graph presented in Figure

1 indicates that only MMF A and D can be developed

at that time. Because in this example each MMF re-

quires exactly a period to be developed, MMF C can-

not be developed until the third period. Furthermore,

each particular sequence of MMF yields its own re-

turn on investment. For instance, sequence DABCE

yields an NPV of $799 thousand, i.e.

NPV(DABCE) = NPV

D,1

+ NPV

A,2

+ ·· · + NPV

E,5

Table 1: CFS of a set of MMFs in thousands of US dollars.

Period MMF

A B C D E

1 -50 -40 -20 -50 -60

2 45 60 35 50 30

3 45 60 35 50 30

4 45 60 35 50 30

5 45 60 35 50 30

6 45 60 35 50 30

7 45 60 35 50 30

8 45 60 35 50 30

Table 2: NPV of cash-ﬂow streams starting at different pe-

riods.

Period MMF

A B C D E

1 231 334 198 262 128

2 189 278 165 216 101

3 149 223 133 170 74

4 109 169 102 126 48

5 70 117 71 83 23

6 32 66 41 40 -2

7 -5 16 12 -1 -26

= $262+ $189+ ···+ $23 = $799,

while sequence ABDCE yields $804 thousand.

MMF identiﬁcation and ordering is possibly the

most important step in the software development pro-

cess in this day and age. The advantages of dividing

a software project into MMFs are numerous:

• Large and complex systems can be developed

with a relatively small investment,

• Return on investment in software development is

maximized, together with return on investment in

IT related areas and projects,

• Demand for shorter investment periods and pay-

back time is addressed,

• Faster time-to-market of software products and

also of products that depend upon software devel-

opment,

• Bring ﬁnancial discipline into the software devel-

opment project, and

• Position the software development process as a

value creation activity in which business analysis

is an integral part of it.

Although dividing a software project into MMFs

and AEs is still an open problem, (Rashid et al., 2003)

have given the ﬁrst steps in the right direction by sug-

gesting how software module and architectural ele-

ments may be derived from requirements.

In formal terms a network of MMFs is an

acyclic directed graph G = (V, E), where V =

{M

1

, M

2

, ··· , M

n

} is the ordered set of MMFs and

E = {(M

i

, M

j

)|1 ≤ i ≤ n and 1 ≤ j ≤ n} is the set of

edges, showing the development dependency relation

that hold among MMFs. For reasons of simplicity we

do not include the two dummy MMFs Start and Fin-

ish, which take no time to be completed and yield no

net present value, representing the start and ﬁnishing

point of the development of a software as a whole.

For a given total software life cycle T and a discount

interest rate α, each element M

i

∈ V is characterized

by the following parameters:

• CFS

i,t

– the value of cash ﬂow element of M

i

at

period t, and

• NPV

i,t

– the present value of the cash-ﬂow stream

of M

i

starting at a given time t, and

• D

i

– the number of time periods required to de-

velop M

i

,

where 1 ≤ t ≤ T and 1 ≤ D

i

≤ T.

A valid sequence VS is an ordered set of MMFs

satisfying the following restrictions

• All MMFs belong to the sequence and are listed

exactly once,

DEFINING THE IMPLEMENTATION ORDER OF SOFTWARE PROJECTS IN UNCERTAIN ENVIRONMENTS

25

• Only one MMF can be in the implementation pro-

cess at any given time period,

• The process of developing an MMF can only start

after its precedent MMFs are completed,

• The ﬁrst MMF must start at time zero and

• Apart from the last, there is no time delay between

the end of one MMF and the start of the next one.

In our example, there are ten valid sequences:

ABCDE, ABDCE, ABDEC, ADBCE, ADBEC,

ADEBC, DEABC, DAEBC, DABEC and DABCE.

Given an MMF precedence graph, one is inter-

ested in ﬁnding a valid sequence v

1

·· ·v

n

, for v

1≤i≤n

∈

V, such that

NPV

v

1

,1

+

n

∑

i=2

NPV

v

i

,

∑

i−1

j=1

D

v

j

is maximized.

The problem of ﬁnding the valid sequence that de-

livers the maximum NPV was shown to be in the cat-

egory of NP-hard problems by Denne and Cleland-

Huang (Denne and Cleland-Huang, 2003), which also

showed several heuristics to ﬁnd polynomial-time ap-

proximations to the optimal solution.

3 CASH-FLOW STREAM

PATTERNS

The estimated beneﬁts generated by a software

project composed of several MMFs is most usually

expressed as a ﬁxed net present value. See Table 2.

Unfortunately, in most projects in the real-world one

does not know for certain the value of each cash-ﬂow

element. Those have to be estimated by experts, who

use past project information, their own opinion or a

combination of both to express the uncertainty related

to cash ﬂow elements in the form of Probability Den-

sity Functions (PDFs) (Vose, 2000). See (Hubbard,

2007) for a discussion on how these estimates may

be obtained in real-world projects. See (Vose, 2000)

for an introduction to the concept of uncertainty in

project management.

Most frequently these estimates are presented in

the form of ordered tuples of three points deﬁning tri-

angular PDFs, i.e. the minimum value it is believed

that the real value may take (Min), its most likely

value (ML) and the maximum value (Max) (Kotz and

van Dorp, 2004). Table 3 presents three point esti-

mates for the set of MMFs in Figure 1.

Note that in these circumstances CFS

i,t

is a ran-

dom variable, and so it is NPV

i,t

, the net present value

of the sum of the discounted cash ﬂow elements of

MMF M

i

starting at time t, and also the total beneﬁt

generated by a sequence of related MMFs.

Finding the sum of random variables represent-

ing the set of discounted cash-ﬂow elements can be

a very difﬁcult task. If these elements are statistically

independent, then their sum can be approximated by

Laplace’s Central Limit Theorem (CLT), which states

that a sum of n independent random variables will ap-

proach a normal probability density function, as the

value of n increases (Thomas and Duffy, 2004).

A more complex case occurs when the cash-ﬂow

elements are related to one another, i.e. when they

are statistically correlated. This correlation can ap-

pear both among elements of the same CFS as among

elements of different CFSs. In this case, since one

cannot use the CLT approximation to determine the

sum of cash-ﬂow elements, this problem becomes too

complex to be resolved by analytical means. Nev-

ertheless, good computational approximations can be

obtained using sampling procedures like the Monte

Carlo method (Robert and Casella, 2005).

Figure 2, for instance, shows the Cumulative Den-

sity Function (CDF) of the NPV of all valid sequences

of the MMFs presented in Figure 1. The graphic pre-

sented in the picture was built from a sample of 5,000

observations generated by a Monte Carlo simulation

model. According to the information shown in the

graphic, under the criteria of probabilistic dominance,

the sequence ABDCE provides the best investment

alternative since its PDF dominates all the other se-

quences, i.e. for any given probability it will always

yield a better net present value.

0,00

0,10

0,20

0,30

0,40

0,50

0,60

0,70

0,80

0,90

1,00

500

525

550

575

600

625

650

675

700

725

750

775

800

825

850

875

900

925

950

975

1000

Thousands of US dollars

Comulative Probability

ABCDE

ABDCE

ABDEC

ADBCE

ADBEC

ADEBC

DEABC

DAEBC

DABEC

DABCE

Figure 2: CDF of valid sequences.

Table 3: Uncertain cash-ﬂow elements of a set of MMFs.

MMF Investment Period Earnings

Min ML Max Min ML Max

A -48 -50 -55 40 45 50

B -30 -40 -50 50 60 70

C -15 -20 -25 30 35 40

D -48 -50 -54 40 50 60

E -40 -60 -70 25 30 35

ICEIS 2008 - International Conference on Enterprise Information Systems

26

Due to the exponential nature of the problem, the

method of sampling all valid sequences is unfeasi-

ble. For a set of n MMFs one may have do exam-

ine n! sequences. Therefore, an approximative heuris-

tic may have to be used. Denne and Cleland-Huang

(Denne and Cleland-Huang, 2003) suggest the use of

an heuristic algorithm which they have named “Incre-

mental Funding Method” (IFM). Also, because it is

not always the case that one comes across a dominat-

ing sequence when solving the problem of ﬁnding the

sequence of MMFs that yields the best return on in-

vestment, one needs a procedure for decision making

under uncertainty.

Both the heuristic algorithm and the generation of

data for the process of decision making under uncer-

tainty are addressed by the method described in the

next section.

4 THE METHOD

The method for obtaining an approximate solution to

the optimal order of execution of a software project

consists of the following steps:

1. Partition the product to be developed into a set of

n MMFs.

2. Deﬁne the precedence relations among the

MMFs.

3. Estimate the PDF of each cash-ﬂow element asso-

ciated with each MMF.

4. Calculate the number of scenarios (NS) that must

be generated in order to obtain an estimate of the

probability of a given sequence being chosen by

the heuristic procedure, such that the error of its

the estimated CDF is kept below a certain value

under a required conﬁdence level (Knuth, 1998).

5. Repeat the the procedure below NS times:

(a) obtain one scenario consisting of sampled val-

ues for each cash ﬂow element of each MMF.

(b) apply an heuristic procedure for ﬁnding and

recording the sequence which maximizes the

NPV of the scenario.

6. Let SVS be the set of sequences generated in step

5. Obtain the PDF and CDF of the NPV of each

selected sequence by running a second set of NS

scenarios for each element of SVS. It is important

to notice that, in some cases, it may be necessary

to select a subset of SVS in order to reduce the

number of candidate sequences.

7. Apply a decision criteria for selecting the pre-

ferred sequence given a set the NPV of the se-

lected sequences. Two basic approaches can be

utilized: the direct choice and certainty equiva-

lent(Holloway, 1979). The direct choice utilizes

the CDF and the PDF of the NPV of each se-

quence in order to understand the uncertainty and

evaluate the risk. Outcome and probabilistic dom-

inance can used in this case.The certainty equiv-

alent approach establish an equivalence between

uncertain events and a certain value. This process

simpliﬁes decision making by the removal of un-

certainty.

5 AN EXAMPLE

According to Benjamin Franklin (1706 - 1790), one

of the Founding Fathers of the United States: “A good

example is the best sermon”. As a result, this section

starts with an example of the algorithm presented in

Section 4.

5.1 Partition the Product

Consider a software S that can be divided into six

MMFs. Also, allow for the existence of three soft-

ware units that are essential for the implementation of

one or more of those MMFs, but that returns no rev-

enue.

5.2 Deﬁne the Precedence Relation

Figure 3, borrowed from (Denne and Cleland-Huang,

2003), shows the precedence graph of the MMFs and

AEs . In that ﬁgure A, B, ·· · , F are MMFs and 1, 2

and 3 are AEs.

1 A B

3

F

Start Finish

C

2 D

E

Figure 3: The precedence graph of the MMFs and AEs of

software S.

5.3 Deﬁne the PDF of Cash Flow

Elements

Table 4 presents the average present value of dis-

counted cash ﬂow of the MMFs of software S, con-

sidering a discount rate of 2.4% per time period. In

this example, each cash-ﬂow element bears an uncer-

tainty of 25%. Therefore, if MMF A is implemented

DEFINING THE IMPLEMENTATION ORDER OF SOFTWARE PROJECTS IN UNCERTAIN ENVIRONMENTS

27

in the ﬁrst period it requires an initial investment be-

tween

−250 thousand (−200− 50)

and

-150 thousand (−200+ 50).

Table 4: The mean value of the cash ﬂow elements.

Period MMF

A B C D E F

1 245 2,142 2,298 1,080 876 1,238

2 239 1,941 2,030 935 692 1,119

3 233 1,745 1,769 793 512 1,003

4 228 1,554 1,514 654 337 889

5 223 1,367 1,265 519 165 778

6 217 1,185 1,021 386 -2 670

7 206 1,007 784 257 -165 564

8 189 833 563 131 -325 461

9 167 664 368 20 -457 360

10 139 498 199 -77 -563 261

11 106 336 56 -159 -643 165

12 67 196 -63 -227 -698 71

13 24 77 -158 -282 -729 -21

14 -25 0 -229 -323 -735 -80

15 -78 -78 -277 -346 -484 -138

The same procedure can be applied to deﬁne the

discounted cash-ﬂow of the AEs, using the same dis-

count rate of 2.4% per period.

5.4 Sample Cash Flow Streams

With the support of a Monte Carlo simulation tool

a sample of the discounted cash ﬂow containing

5,000 observations is generated, using the look-ahead

heuristic proposed by Denne and Cleland-Huang

(Denne and Cleland-Huang, 2003).

It is important to note that because software S

yields a total of nine software units, potentially there

is a total of 362,880 = 9! MMF sequences whose NPV

has to be calculated. The heuristic reduces the num-

ber of sequences to four. The results are presented in

Table 5.

Table 5: Results of the Monte Carlo Simulation with a 25%

uncertainty.

Sequences Statistics

Freq. Min Max Mean Std.

Dev.

1ABC3F2DE 4,800 2,325 3,009 2,649 96

2DE3F1ABC 172 1,931 2,523 2,253 87

3F1ABC2DE 22 1,651 2,305 1,933 82

2DE1ABC3F 6 2,983 2,983 2,652 93

5.5 Obtain the CDF of the Selected

Sequences

Because the number of sequences is rather small (4

sequences), all are selected. A new 5,000 sample is

collected to reach the required error margin, within a

conﬁdence interval, for the CDF of the NPV for the

implementation sequence. Figure 4 shows these re-

sults.

0,0

0,1

0,2

0,3

0,4

0,5

0,6

0,7

0,8

0,9

1,0

Comulative

Probability

Thousandsof US dollars

1ABC3F2DE

2DE3F1ABC

3F1ABC2EF

2DE1ABC3F

Figure 4: CDF of selected sequences.

5.6 Apply Decision Criteria

It should be noted that sequence 1ABC3F2DE,

which presents the best results under the mean

value (see (Denne and Cleland-Huang, 2003)),

and 2DE3F1ABC are outperformed by sequences

1AEC3F2DE and 2DE1ABC3F, which yield equiv-

alent value to business and are the optimal choices

under the uncertainties facing the project. A Wald-

Wolfowitz run test, with a 95% conﬁdence interval,

does support these claims (Hill and Lewicki, 2005).

6 CONCLUSIONS

This article presents a method for maximizing the ﬁ-

nancial return on investment in software projects. The

method considers that investment is maximized if the

software is divided into smaller software units, where

some of them have marketable value and others do

not. However, as the latter is essential for the devel-

opment of the former, the investment necessary to de-

velop such units inﬂuences the return on investment

yielded by the software and must be taken into ac-

count.

The method, which is based upon Monte Carlo

simulation, extends the ideais presented by (Denne

and Cleland-Huang, 2003; Denne and Cleland-

Huang, 2004; Cleland-Huang and Denne, 2005), al-

lowing for uncertain cash-ﬂow streams, which are

ICEIS 2008 - International Conference on Enterprise Information Systems

28

so common in software projects and can actually be

found in many other kinds of projects.

The case study presented in the article shows that

results obtained taking uncertainty into account can

be very different from the ones assuming a known

cash-ﬂow stream. Therefore, the investment made on

software must take uncertainty into account, specially

in the turbulent and globalized world where software

development takes place these days.

REFERENCES

Cleland-Huang, J. and Denne, M. (2005). Financially in-

formed requirements prioritization. In Proceedings of

the 27th international Conference on Software Engi-

neering, pages 710 – 711, St. Louis, MO, USA. As-

sociation for Computing Machinery (ACM) and ACM

Special Interest Group on Software Engineering (SIG-

SOFT), ACM.

Denne, M. and Cleland-Huang, J. (2003). Software by Num-

bers: Low-Risk High-Return Development. Prentice

Hall.

Denne, M. and Cleland-Huang, J. (2004). The incremental

funding method: Data driven software development.

IEEE Software, 21(3):39–47.

Germain, E. and Robillard, P. N. (2005). Engineering-based

processes and agile methodologies for software devel-

opment: a comparative case study. Journal of Systems

and Software, 75(1-2):17–27.

Hill, T. and Lewicki, P. (2005). Statistics: Methods and

Applications. StatSoft, Inc.

Holloway, C. A. (1979). Decision Making Under Uncer-

tainty: Models and Choices. Prentice Hall.

Hubbard, D. W. (2007). How to Measure Anything: Finding

the Value of “Intangibles” in Business. John Wiley &

Sons.

Knuth, D. E. (1998). The Art of Computer Programming:

Seminumerical Algorithms. Addison Wesley.

Kotler, P. and Armstrong, G. (2007). Principles of Market-

ing. Prentice Hall, 12

th

edition.

Kotz, S. and van Dorp, J. R. (2004). Beyond Beta: Other

Continuous Families Of Distributions With Bounded

Support And Applications. World Scientiﬁc Publish-

ing Company.

Little, T. (2004). Value creation and capture: A model of the

software development process. IEEE SOFTWARE.

Joint Task Force (2005). Computing curricula 2005: The

overview report. Technical report, The Associantion

for Computing Machinery (ACM), The Association

for Information Systems (AIS) and The Computer So-

ciety (IEEE-CS). Information available in the In-

ternet at www.acm.org/education/curricula.html. Site

last visited on October 28

th

, 2007.

Rashid, A., Moreira, A., and Ara´ujo, J. (2003). Modu-

larisation and composition of aspectual requirements.

In Proceedings of the 2

nd

International Conference

on Aspect-oriented Software Development, pages 11

– 20, Boston, Massachusetts, USA. Northeastern Uni-

versity, ACM.

Robert, C. P. and Casella, G. (2005). Monte Carlo Statisti-

cal Methods. Spinger-Verlag, 2

nd

edition.

Scott, D. (2006). I.T. Wars: Managing the Business-

Technology Weave in the New Millennium. BookSurge

Publishing.

Thomas, J. S. and Duffy, D. E. (2004). The Statistical Anal-

ysis of Discrete Data. Springer-Verlag, 1

st

edition.

Verhoef, C. (2005). Quantifying the value of IT-

investments. Science of Computer Programming,

56:315–342.

Vose, D. (2000). Risk Analysis: A Quantitative Guide. John

Wiley & Sons, 2

nd

edition.

DEFINING THE IMPLEMENTATION ORDER OF SOFTWARE PROJECTS IN UNCERTAIN ENVIRONMENTS

29