- A General System
- Detail Complexity Versus Systems Complexity
- Throughput Accounting for General Systems
- A System of Software Development
- A More Complex Software Development System
- The System Goal
- Financial Metrics for General Business Systems
- Financial Metrics for Software Development Systems
- Predicting the Future
- Framing the Problem
- Understanding Software Production in the Value Chain
- Throughput Accounting Versus Cost Accounting
Understanding Software Production in the Value Chain
The financial metrics presented are a numerical construction. They are designed to allow a normalized view of the value added by the software engineering activity in the full value stream of the business. For the purposes of devising useful management metrics, the sum of money spent on creating ideas and communicating those ideas is being treated as an investment. All upstream activity is treated as an investment, and all downstream activity as a direct cost against Throughput.
It is important not to get carried away with whether this is real. For example, worrying about whether the software development business would pay the marketing department for requirements or sell the output to the field service organization for deployment is not a useful exercise. These are not important issues. The purpose of management accounting is to produce numerical data that can be used to make appropriate management decisions for investment and operation of the business. The financial metrics serve this purpose, and they create a normal form that can be used to assess different types of software production systems against one another. This mechanism will be used in Section 2 to demonstrate how Agile software development methods financially outperform traditional software development lifecycle methods.