Two Parallel Processes of Project Success - Both Value and Delivery are Needed
Glen Alleman MSSM
Vetern, Applying Systems Engineering Principles, Processes & Practices to Increase the Probability of Program Success for Complex Systems in Aerospace & Defense, Enterprise IT, and Process and Safety Industries
A popular phrase in some parts of the Agile community 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 Creation 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 unclear why those advocating the first approach don't understand this, but the principles of MicroEconomics of software development demand that we know both Cost and Value produced.
Microeconomics
Microeconomics is the study of the implications of individual human decisions, specifically how those decisions affect the utilization and distribution of scarce resources. It shows how and why different goods have different values, how individuals make more efficient or productive decisions, and how individuals best coordinate and cooperate in 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 addresses the elements of software project cost estimation and analysis and project benefit-cost ratio analysis. These costs and the benefits from spending those costs produce tangible and, often, intangible Value. The?time-phased?aspects of developing software for money also require understanding the?scheduling?aspects of creating this value.
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 studies 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 - 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 exceed budget allocations, underdeveloped functions with poor quality, or a failure to complete a project on time. Overestimating costs may result in too many resources being committed to the project or, during contract bidding, a loss of a contract and a loss of jobs.
Making technical and management decisions in the presence of these uncertainties to deliver the needed value at the time necessary for the cost?requires a?closed-loop control?process. Where?targets?are set, work is performed, feedback is received, and corrective actions are taken, it?steers?toward?the target. With that?target,?the error bands on the target, and the processes used to steer, Closed-Loop Control is effective—constantly?chasing a moving target and understanding what?could?result versus what?should?result.?
So, back to the original quote: It's missing ? of the processes needed for business success. This is not a good approach for keeping the paychecks coming.
领英推荐
Making Decisions in the Presence of Uncertainty?
Making decisions in uncertainty when 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 make an opportunity cost-based decision. Most of the time, these costs are still being determined. In the future, we need to estimate those?opportunity costs?and the probability that our choice will produce the desired beneficial outcomes.
Here's an example of a tool we use: Palisade software's Crystal Ball. Similar plugins for Excel exist (RiskAmp is affordable for the individual).?
The Fallacy of the?We Focus on Value, Not Delivery?
While that quote may sound pleasing to the ears of developers, spending their customer's?or employers'?money, those paying for that delivery?have other needs to keep those paychecks coming.
When these questions are ignored?- and the first quote used -?we focus on value production, not delivery,?and then ? of the equation for success?is also ignored. That quote demonstrates a lack of understanding of how business works. In the end, business is about the balance sheet. Sure, the company must produce the products and services that the market wants. However, those products and services must be priced according to how the market will pay. Since the business has to make money, the balance sheet's bottom line is calculated (basically) from the Top Line Revenue minus the 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 of producing 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 to stay in business. It's a quote from those spending other people's money with seemingly no understanding of where their paycheck 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.
Retired
8 个月I may be misunderstanding the term “value production”, but consider this: value is determined by the customer, not the producer, in this discussion, an agile development organization. Producing a product—say, a software system (possibly of systems)—has no value until it’s delivered, installed, verified, and in use by a customer. That customer then determines if the money they spent has provided the expected value. Producing but not delivering is essentially meaningless.