Junio 2018
 << < > >>


¿Quién está en línea?

Miembro: 0
Visitante: 1

rss Sindicación

09 Oct 2015 - 17:33:10

The Economics Of Software Development

The development of software in the presence of uncertainty is a well developed discipline, a well developed academic topic, and a well developed practice with numerous tools, database, and models in many different SW domains.

Economics is the study of how resources (people, time, facilities) are used to produce anddistribute commodities and how services are provided in society.Engineering economics is a branch of microeconomics dealing withengineering related economic decisions.Software Engineering Foundations: A Software Science Perspective,Yingxu Wang, Auerbach Publications.

Software engineering economics is a topic that addresses the elements of software project costs estimation and analysis and project benefit-costratio analysis. As well these costs, and the benefits from expending those costs, produce tangible and many times intangible value. Thetime phased aspects of developing software for money, means we need to understand theschedulingaspects of producing this value.

All three variables in the paradigm of software development for money - time, cost, and value - are random variables. This randomness comes from the underlyinguncertainties in the processes found in the development of the software. These uncertainties are always there, they never go away, they are immutable.

Economic Foundations of Software Engineering

There are fundamentalprinciples and methodologies utilized in engineering economics and theirapplications in software engineering that form the basis of decision making gin the presence of uncertainty. Theseformal economic models includethe cost of production, and market models based onfundamental principles of microeconomics. The dynamic values of moneyand assets, patterns of cash flows, can be modeled in support of managements need to make decisions in the presence the constant uncertainties associated with software development

Economic analysis methodologies for engineering decisions include projectcosts, benefit-cost ratio, payback period, and rate of return can be rigorouslydescribed. This is the basis of any formal treatment of economic theories andprinciples. Software engineering economics is based on elements ofsoftware costs, software engineering project costs estimation, economicanalyses of software engineering projects, and the software maintenance cost model.

Economics is classified into microeconomics and macroeconomics.Microeconomics is the study of behaviors of individual agents and markets. Macroeconomics is the study of the broad aspects of the economy, for example employment,export, and prices on a national or global scope.

A universal quantitative measure of commodities and services ineconomics is money.

Engineering economics is a branch of microeconomics. There are some basic axioms of microeconomics and engineering economics.

Demands and supplies are the fundamental behaviors of dynamicmarket systems, which form the context of economics. Not enough Java programers in the area, cost for Java programmers goes up. Demand for rapid production of products, cost of skilled labor, special tools and processes goes up. COBOL programmers in 1998 to 2001 could ask nearly any price for their services. FORTRAN 77 programs here in Denver can get exorbitant rates to maintenance scheduling software help maintain the Ballistic Missile Defense System when a local defense contractor was awarded the maintenance and support contract for Cobra Dane.

Making Decisions in the Presence of Uncertainty

Making decision is about Opportunity Costs

Opportunity Costs are thosecostresulting from the loss of potential gain from the other alternatives then the one alternative chosen by the decision maker.

Every time we make a decisions involving multiple choices we are making anopportunity cost based decisions. Since most of the time these costs in in the future and are uncertainty, we need to estimate thoseopportunity costs as well as the probability that our choice is the right choice to produce the desired beneficial outcomes.

Here's an example from a tool we use, Palisade software's Crystal Ball. There are similar plug in for Excel (RiskAmp is affordable for the individual).


Another useful tool in the IT decision making world is Real Options. Here's a simple introduction to RO's and decision making.

In the end there is an immutable principle

In the presence of uncertainty, making decision about actions today that impact outcomes in the future requires some mechanism for determining those outcomes in the absence of perfect information. This absence of information creates risk. Decision making in the presence of uncertainty and resulting riks means

These decisions typically have one or more of the following characteristics: [1]

The Stakes The stakes are involved in the decision, such as costs, schedule, delivered capabilities and those impacts on business success or the meeting the objectives. Complexity The ramifications of alternatives are difficult to understand the impact of the decision without detailed analysis. Uncertainty Uncertainty in key inputs creates uncertainty in the outcome of the decision alternatives and points to risks that may need to be managed. Multiple Attributes Larger numbers of attributes cause a larger need for formal analysis. Diversity of Stakeholders Attention is warranted to clarify objectives and formulate performance measures when the set of stakeholders reflects a diversity of values, preferences, and perspectives.

Reducible and Irreducible Uncertainty

All project work is probabilistic driven by underlying statistical processes that create uncertainty. [2] There are two types of uncertainty on all projects. Reducible (Epistemic) and Irreducible (Aleatory).

Aleatory uncertainty arises from the random variability related to natural processes on the project - the statistical processes.Work durations, productivity, variance in quality. Epistemic uncertainty arises from the incomplete or imprecise nature of available information - the probabilisticassessment of when an event may occur.

There is pervasive confusion between these two types of uncertainties when discussing the impacts on these uncertainties on project outcomes, including the estimates of cost, schedule, and technical performance.

All The World's a NonLinear, Non-Stationary Stochastic Process, Described by 2nd Order non-Linear Differential Equations.

In the presence of these conditions - and software development is - we need to understand several maintenance scheduling software things for success. What are the coupled dynamics? What are the probabilistic and statistical processes that drive these dynamics? And how can we make decision in their presence?

Predictive Analytics of Project Behaviors

In the presence of uncertainty, the need topredictfuture outcomes is critically important. One of the professional societies I belong to has a presentation o this topic. Here's a small sample of a mature process for estimating future outcomes given past performance. If you backup the URL to'll see all the briefings on the topic of cost, schedule, and performance management used in the domains I work.

Screen Shot 2015-09-17 at 8.07.02 AM

[1] Risk Informed Decision Making Handbook,NASA/SP-2010-576 Version 1.0 April 2010.

[2] "Risk-informed decision-making in the presence of epistemic uncertainty," Didier Dubois, Dominique Guyonnet,International Journal of General Systems, Taylor & Francis, 2011, 40 (2), pp.145-167.

Admin · 10131 vistas · Escribir un comentario

Vínculo permanente hacia el artículo completo


Este artículo no tiene Comentario por el momento .....

Escribir un comentario

Estatuto de los nuevos comentarios: Publicado

Se mostrará tu URL

Por favor introduce el código contenido en las imágenes.

Texto del comentario

   (Salvar el nombre, el mail y la URL en los cookies)