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 satisfied, (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-
fluences 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 flow 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