the effects come from 20% of the causes”, or some
variant of these. The law was first observed by
Italian economist Vilfredo Pareto in the late 19th
century, regarding distribution of wealth. This rule
of thumb has been empirically observed in many
natural phenomena that follow a particular
configuration of the power law distribution
(Newman, 2004).
The function depicted in Figure 2 might follow a
Pareto distribution, but in general we should not
expect a perfect mathematical relationship between
project cost and RE effort.
4.4 Production Functions
In economics, a production function relates the
achievable output of a system to the level of inputs
consumed (Boehm, 1981). A production function is
nondecreasing and nonnegative. Typically (though
not necessarily), a production function will be S-
shaped with three major segments (see Figure 8):
(a) An investment segment, in which inputs
are consumed without a great deal of
resuting output.
(b) A high payoff segment, in which
relatively small incremental inputs result
in relatively large increments in output.
(c) A diminishing returns segment, in which
additional inputs produce relatively little
increase in output.
The last segment represents software gold-plating,
i.e. features which make the job bigger and more
expensive, but which turn out to provide little help
to the user or maintainer when put into practice.
Figure 8: A typical production function for software
product features, adapted from (Boehm, 2001, p. 162).
Production functions are closely related to our thesis
that More is not necessarily Better. Only, as we have
argued before when discussing Figure 2, investment
in RE has a strong impact (big slope) just from the
start. As for the third segment, RE can also become
gold-plating: one can always do more RE for a
project, and no doubt it will improve the technical
quality of the product, but the payoff will be
progressively lower.
4.5 Logistic Functions
Production functions are related to the logistic
function (Kingsland, 1995) discovered by Pierre
François Verhulst in the mid-19th century, in
relation to population growth in a context of
competence for resources: the initial stage of growth
is approximately exponential when resources appear
to be unlimited, but then the growth slows as
saturation begins, and finally growth stops when
resources are exhausted.
5 CONCLUSION
As we have seen, our thesis that “more is not
necessarily better” is a well-known property of
economical systems. However, we think it is worth
to recall it because this principle is not so well
known by software engineering practitioners. Both
extremes are bad: the one that does not recognize the
value of requirements engineering, and the other that
wastes resources in being too formalistic or
exhaustive. Unfortunately, the frustrating results of
overexertion could increase the diffidence of
practitioners towards “big theories” in requirements
engineering.
REFERENCES
Boehm, B.W., 1981. Software Engineering Economics.
Prentice-Hall.
Braude, E.J., 2001. Software Engineering. An Object-
Oriented Perspective. John Wiley and Sons.
Brooks, F.P., 1975. The mythical man-month, Essays on
software engineering. Addison-Wesley.
Honour, E.C., 2004. Understanding the Value of Systems
Engineering. INCOSE International Symposium
14(1):1207-1222.
Kingsland, S.E., 1995. Modeling nature: episodes in the
history of population ecology. University of Chicago
Press.
Martin, J., 1984. An Information Systems Manifesto.
Prentice Hall.
Newman, M.E.J., 2005. Power laws, Pareto distributions
and Zipf's law. Contemporary Physics. 46(5):323–351.
SKY 2016 - 7th International Workshop on Software Knowledge
68