There's a popular phrase in some parts of the agile community that goes like this...
We focus on value production, not delivery
This willfully ignores the principle of all business decision making in the presence of uncertainty...
Software development is a Value Creaton activity, but Value cannot be determined unless we know the cost to produce that value and when that value will be available for use by those who of paid for that Value.
It's not clear why those advocating the first approach don't understand this, but the principles of MicroEconomics of software development demand we know both cost and value produced.
Microeconomics
Microeconomics is the study of the implications of individual human decisions, specifically about how those decisions affect the utilization and distribution of scarce resources. Microeconomics shows how and why different goods have different values, how individuals make more efficient or more productive decisions, and how individuals best coordinate and cooperate with one another. Decision making about tangible outcomes in the presence of scarce resources. For software development, those scarce resources are people, time, and money.
Software engineering economics is a topic that addresses the elements of software project costs estimation and analysis and project benefit-cost ratio analysis. As well, these costs and the benefits from expending those costs produce tangible and many times the intangible value. The time-phased aspects of developing software for money, means we need to understand the scheduling aspects of producing this value as well.
Showing up late with the right product or service is not a formula for success. Showing up late and over budget does not produce the needed Value. So in the original quote, focusing on value, not on delivery, willfully ignores the core principles of business success.
All three variables in the paradigm of software development for money - time, cost, and value - are random variables. This randomness comes from the underlying uncertainties (Epistemic and Aleatory) in the processes found in the development of the software. These uncertainties are always there, they never go away, they are immutable.
Making decisions in resource-limited situations at the national or global scale is macroeconomics. Macroeconomics is the study of how people make decisions influenced by tax rates, interest rates, foreign policy, and trade policy. Software development is Micro, not Macro.
When we hear quotes like anti-fragile and black swans and they are not qualified for a domain, those are MacroEconomics words. Software development is not Macro, it's Micro.
Projects operate in a world of limited resources, and their uncertainties - both reducible and irreducible - that create risk, and the emerging attributes of all project work. This is the foundation for estimates. Estimates, with accuracy and precision values, are needed to make credible decisions. These estimates are critical to both developers and customers. Underestimating software development costs could result in management approving proposed systems that potentially exceed budget allocations, or underdeveloped functions with poor quality, or a failure to complete a project on time. Overestimating costs may result in too many resources committed to the project, or, during contract bidding, result in losing a contract and loss of jobs.
Making technical and management decisions in the presence of these uncertainties to Deliver the needed Value at the needed Time for the needed Cost, requires a Closed Loop Control process. Where targets are set, work is performed, feedback received, corrective actions taken it steer toward the target. Without that target and the error bands on the target and the processes used to steer, Close Loop Control is ineffective - constantly chasing a moving target, with an understanding of what could result, versus what should result.
So back to the original quote, it's missing ½ of the process needed for business success. Not a good approach for keeping the paychecks coming.
Making Decisions in the Presence of Uncertainty
Making decisions in the presence of uncertainty for writing software for money is about Opportunity Costs
Opportunity Costs are those cost resulting from the loss of potential gain from the other alternatives then the one alternative chosen by the decision maker.
Every time we make a decision involving multiple choices we are making an opportunity cost based decisions. Since most of the time, these costs are in the future and are uncertain, we need to estimate those opportunity costs as well as the probability that our choice is the right choice to produce the desired beneficial outcomes.
Here's an example of a tool we use, Palisade software's Crystal Ball. There are similar plugins for Excel (RiskAmp is affordable for the individual).
The Fallacy of the We Focus on Value, Not Delivery
While that quote may sound good to the ears of developers, spending their customers or employers money, those paying for that delivery have other needs to keep those paychecks coming.
- What will it cost to get the value?
- When will that value arrive?
- What's the probability that the needed value contains the needed business capabilities being paid for?
When these questions are ignored - and the first quote used - we focus on value production, not delivery then ½ of the equation for success is also being ignored. That quote demonstrates lack of understanding of how business works. In the end, business is about the balance sheet. Sure the business must produce products and services wanted by the market. But those products and services have to be priced in a way the market is willing to pay for. Since business has to make money, the bottom line of the balance sheet is calculated (basically) from the Top Line Revenue minus Cost of Goods Sold to produce Retained Earnings. It is more complicated than that, but that's the basic idea.
The Cost of Goods Sold includes the Cost to produce the Value that generates the top line.
For any value-based decision to be made in the presence of the uncertainties of software development, we must know the cost to produce that value.
So the original quote is missing ½ the information needed for the business to stay in business. It's a quote from those spending other people's money with seemingly no understanding of where their paycheck actually comes from. It comes from the retained earnings of the business after selling the goods and services at a price minus the cost to produce those goods or services
Cost and Schedule to deliver that Value is part of the success needed to pay those delivering the product.