Estimation is pretentious rationalism, where rationalism does not serve us well (extremistan)(sic) Take only risks you can survive.
Pretentious rationalism is defined as a type of ultimate explanation—announced at one time as final truth—which is termed a system. This is a term used by Taleb in the context of macroeconomic models. The use of estimating in software development project mandates those estimates be updated with actual performance data to have any credibility in the construction of the Estimate to Complete and Estimate at Completion. These estimates can not the ultimate truth since the underlying processes that create the uncertainties (aleatory and epistemic) are stochastic in nature - stationary or nonstationary. And updates to the estimates are needed when the system evolves to its next state. This new state now has actual values that have influenced the stochastic processes to produce the probabilistic and statistical value of the future states.
Software projects are not Macroeconomics systems, they are microeconomics systems.
-
Macroeconomics is the study of the economic behavior of individual units of an economy (such as a person, household, firm, or industry) and not of the aggregate economy (which is the domain of macroeconomics). Microeconomics is primarily concerned with the factors that affect individual economic choices, the effect of changes in these factors on the individual decision makers, how their choices are coordinated by markets, and how prices and demand are determined in individual markets. The main subjects covered under microeconomics include a theory of demand, the theory of the firm, and demand for labor and other factors of production. Each of these theories operates in the presence of uncertainty, driven by the underlying statistical and probabilistic processes.
The goal of microeconomics is to analyze the decision-making mechanisms and their outcomes that establish relative prices (or costs) among goods and services and then to allocate these limited resources among alternative uses and the decisions made on those uses. That is, analyze the trade-space for the best decisions in the presence of uncertainty. This analysis, like the analysis in Macroeconomics, involves making estimates of the aleatory and epistemic uncertainties of the system under study.
-
Macroeconomics is the study of the behavior of the whole (aggregate) economies or economic systems instead of the behavior of individuals, individual firms, or markets (which is the domain of Microeconomics). Macroeconomics is concerned primarily with the forecasting of national income, through the analysis of major economic factors that show predictable patterns and trends, and of their influence on one another. These factors include the level of employment and unemployment, gross national product (GNP), the balance of payments position, and prices (deflation or inflation). Macroeconomics also covers the role of fiscal and monetary policies, economic growth, and determination of consumption and investment levels.
The three primary macroeconomic policy goals are economic growth, low unemployment, and low inflation. Economic growth is an increase in a country's standard of living.
Perhaps those making the conjecture that Macroeconomic theories are applicable to the development of software may want to start with The Economics of Iterative Software Development: Steering Toward Better Business Results, Walker Royce, Kurt Bittner, and Mike Perrow, Addison-Wesley, 2009.
The Fallacy
The fallacy is the confusion between Macro- with Micro-economics appears common in some parts of the software development domain, where Taleb's book Black Swan is applied to the uncertainties of project development efforts.
Perhaps those making conjecturers about software development using materials from MACROeconomics of national and global markets would be better served with some background on the economics of software development.
- Economics of Software Development
- Microeconomics of Decision Making in the Presence of Uncertainty
- Microeconomics of a Project-Driven Organization
- The Economics of Software Quality
- The Economics of Iterative Software Development
- Managing the Development of Software-Intensive Systems
- Estimating Software-Intensive Systems: Projects, Products, and Processes