There a popular notions in the agile development world that authors like Hayek and Taleb speak to how software development works. Let's look at one example. You Can’t Understand Agile Without Understanding Hayek. Let's look at Hayek's paper. "The Use of Knowledge in Society," F. A. Hayek, The American Economic Review, Vol. 35, No. 4, September 1945, pp. 519-530.
Let's look at the thesis of Hayek in light of software development and the decisions that must be made when spending other people's money in the presence of uncertainty. Below is from the paper, but download the paper and read the whole thesis. Hayek was a social scientist. He was not a program manager of engineered to order software intensive system of systems. His ideas have not held up well. Hayek and Modern Macroeconomics. So I'd suggest not spending your customers money before doing some more research.
What is the problem we wish to solve when we try to construct a rational economic order?
On certain familiar assumptions the answer is simple enough. If we possess all the relevant information, if we can start out from a given system of preferences and if we command complete knowledge of available means, the problem which remains is purely one of logic. That is, the answer to the question of what is the best use of the available means is implicit in our assumptions. The conditions which the solution of this optimum problem must satisfy have been fully worked out and can be stated best in mathematical form: put at their briefest, they are that the marginal rates of substitution between any two commodities or factors must be the same in all their different uses.
This, however, is emphatically not the economic problem which society faces. And the economic calculus which we have developed to solve this logical problem, though an important step toward the solution of the economic problem of society, does not yet provide an answer to it. The reason for this is that the "data" from which the economic calculus starts are never for the whole society "given" to a single mind which could work out the implications, and can never be so given.
The peculiar character of the problem of a rational economic order is determined precisely by the fact that the knowledge of the circumstances of which we must make use never exists in concentrated or integrated form, but solely as the dispersed bits of incomplete and frequently contradictory knowledge which all the separate individuals possess. The economic problem of society is thus not merely a problem of how to allocate "given" resources-if "given" is taken to mean given to a single mind which deliberately solves the problem set by these "data." It is rather a problem of how to secure the best use of resources known to any of the members of society, for ends whose relative importance only these individuals know. Or, to put it briefly, it is a problem of the utilization of knowledge not given to anyone in its totality.
First some questions:
- Is the economic data for the project available in a single mind? - probably not. But that data is likely available in a collection of artifacts. In our domain this is the Performance Measurement Baseline, which is a time-phased budget plan for accomplishing work against which contract performance is measured. It includes the budgets assigned to scheduled control accounts and the applicable indirect budgets. The PMB is developed and evolves as the project develops and evolves. This is the basis of the Agile Product Roadmap and Product Release Plan (either cadence or capability based).
- Is the character of the problem determined precisely? - Of course not. But margin, management reserve, analysis of alternative is standard project management process of dealing with the indeterminate elements of projects. This is also the core principle of Agile - evolutionary emergence of the needed requirements to fulfill the needed Capabilities.
- Is there knowledge of what resources can be applied to solving the problem? - On projects yes. The Organizational Breakdown Structure (OBS) is usually on baseline. People don't come a go at will. People have defined skills and capabilities. People - hopefully - don't have conflicting politics about what the project should be doing.
Is there vague and unfolding knowledge, driven by externalities, of what the project should be accomplishing, with uncertain and variable funding? With members of the project team having differing views of the outcomes from those paying for the project?
If so, the project has already failed, the members of the project team are on a death march (Yourdan) and should start looking for work elsewhere, before it gets canceled.
So like the other misrepresentations of seminal works, the agile community adopts this attractive ideas with little or no consideration or understanding of their principles. And most of all it those principles are applicable to software development or if those principles are even applicable in today's understanding of who the world works. Macroeconomics is the dismal science - treat it as such when developing software.
- Software development is not Macroeconomics, it's Microeconomics.
- Black Swans only exist on projects when there are unknowables. If there are unknowables, the project is doomed from the start. If it's knowable, doesn't means it's known, but standard Risk Management has the means to deal with knowns and know unknowns - both reducible and irreducible.
- If you're project doesn't have a plan - having Balls isn't going to help. You'll go into the ditch just has fast. Product Roadmaps, Release Plans are core principles of Agile. When you hear this You don't always need a plan Bro... it's from someone who is NOT accountable for spending other people's money in the presence of uncertainty.
So whenever there is some conjecture that someone outside the software development domain has a principle that can be applied to Agile, test that idea first before spending any time and money acting on it. Especially if that time and money is not yours.