Six Myths about Ontologies: The Basics of Formal Ontology
Software engineering in the context of production economic
1. Software engineering in the context of production economics
I.
Introduction
The information technology industry driven mainly by software engineering has quickly
gained grounds around the world in the recent years, imposing incontestably itself as one
of the fastest growing industries and an essential economical growth catalyst to reckon
with in the future. In an attempt to better comprehend the concept of software
engineering in the context of production economics, it is crucial to define and deduce the
relationship between the following key terms: production, economics, software
engineering and its sub disciplines, and finally to provide an overview of economic
analysis techniques and their applicability to software engineering and management
mainly in the field of software quality, software cost estimation, business process
reengineering, software architecture, software requirement, software marketing and
project management.
II.
Definitions
Production: In economics, production is the act of creating output, a goods or service
which has value and contributes to the utility of individuals [1]. At the same time any
effort directed toward the realization of a desired product or service is a "productive"
effort and the performance of such act is production. The relation between the amount of
inputs used in production and the resulting amount of output is called the production
function. In general the production can be divided into three stages:
Primary producers directly extract natural resources.
Secondary producers process resources to turn them into intermediate goods.
Tertiary producers provide final goods or services to the consumer.
Economics: the study of how people make decisions in resource-limited situations. This
definition of economics fits the major branches of classical economics very well.
Macroeconomics: the study of how people make decisions in resource-limited situations
on a national or global scale. It deals with the effects of decisions that national leaders
make on such issues as tax rates, interest rates, and foreign and trade policy.
Microeconomics: the study of how people make decisions in resource-limited situations
on a more personal scale. It deals with the decisions that individuals and organizations
make on such issues as how much insurance to buy, which word processor to buy, or
what prices to charge for their products or services [2].
Moumie Soulemane View On Software Engineering
Page 1
2. Economic principles: usually mentioning the term economy strikes some fears and
complexities in the mind of common people but when broken into small ideas or
principles it becomes easy and simple. Here are the nine principles of economics:
People choose: economics is about choosing from alternative ways to use scarce
resources to accomplish goals.
Every choice/action has a cost: “There is no such thing as a free lunch” to an
economist, it is really not the economic way of thinking.
Benefit/cost analysis is useful: Every choice we make involves benefit/cost analysis
either implicitly or explicitly; it is the primary tool of economic reasoning.
Incentives matter: Incentives motivate people to action.
Exchange benefits the traders: The Principle of Exchange states that two parties
with equal information will voluntarily exchange only if they gain more than they
give.
Markets work with competition, information, incentives, and property rights:
“Market failures” usually occur when one of the four conditions does not exist. When
they do exist, markets are efficient.
Skills and knowledge influence income: Applying the Principle of Exchange,
employers will hire workers if the employers expect to gain more than they give.
Monetary and fiscal policies affect people’s choices.
Government policies have benefits and costs.
Software engineering: is concerned with developing and maintaining software systems
that behave reliably and efficiently, are affordable to develop and maintain, and satisfy
all the requirements that customers have defined for them. It can be divided into 10 sub
disciplines as follow:
Software requirements
Software design
Software construction
Software testing
Software maintenance
III.
Software configuration management
Software engineering management
Software engineering process
Software engineering tools and methods
Software quality
Software engineering economics
From what precede, we see that the microeconomics branch of economics deals more
with the types of decisions we need to make as software engineers or managers at each
step of those sub-disciplines of software engineering in order to obtain an economically
viable output or product. Clearly, we deal with limited resources. There is never enough
time or money to cover all the good features we would like to put into our software
Moumie Soulemane View On Software Engineering
Page 2
3. products. Throughout the software life cycle, there are many decision situations involving
limited resources in which software engineering economics techniques provide useful
assistance. Taking the example of the following five (05) parameters of software
production processes: t1= time spent in producing, t2=time spent in learning, t3=time
spent in waiting, t4=time spent in getting instruction and t5= time spent in fixing
produced materials or previous works. If in a firm we hire programmers with
complementary capabilities, t1 will decrease sharply however hiring programmers with
duplicate capabilities suddenly increases t3, t4 and t5. Therefore taking into account the
effect of each action taken on these five parameters may allow a software firm to avoid
the diseconomy of scale.
Fig 1: Economy/Diseconomy of scale
Fig 2: Basic production economy
As shown in [2], the opportunity to improve software project management
decision making through improved software cost estimation, planning, data collection,
and control brings us back full circle to the original objectives of software engineering
economics: to provide a better quantitative understanding of how software people
make decisions in resource-limited situations.
Finally we can say the a judicious use production economics techniques and
principles in software engineering may improve the software development productivity,
optimize decisions making and make informed tradeoffs of our investments in this ever
growing and challenging field.
References:
[1] Kotler, P., Armstrong, G., Brown, L., and Adam, S. (2006) Marketing, 7th Ed. Pearson
Education Australia/Prentice Hall.
[2] Barry W. Boehm. Software Engineering Economics. Prentice-Hall, Englewood Cliffs, NJ,
1981.
Moumie Soulemane View On Software Engineering
Page 3