Agile BI: Accounting for progress. Tom Breur Data Vault Automation Utrecht, 6 Oktober 2011

Size: px
Start display at page:

Download "Agile BI: Accounting for progress. Tom Breur Data Vault Automation Utrecht, 6 Oktober 2011"

Transcription

1 Agile BI: Accounting for progress Tom Breur Data Vault Automation Utrecht, 6 Oktober 2011

2 Our highest priority is to satisfy the customer through early and continuous delivery of valuable software Agile Manifesto, 2001 Kent Beck, Mike Beedle, Arie van Bennekum, Alistair Cockburn, Ward Cunningham, Martin Fowler, James Grenning, Jim Highsmith, Andrew Hunt, Ron Jeffries, Jon Kern, Brian Marick, Robert C. Martin, Steve Mellor, Ken Schwaber, Jeff Sutherland, Dave Thomas 2

3 Counter intuitive Agile practices People are more productive if nobody tells them what to do Pair programming leads to more (effective) production code Business partners must be full-time engaged (co-located) with the development team 3

4 Counter intuitive Agile practices Only the business has the right to choose what gets done An efficient team must have slack, must have people sitting idle, with nothing productive to do, on a regular basis Etc. 4

5 Software inventory Work-in-Progress is a liability not an asset Tom Breur,

6 Simplified development Error Reports Idea Develop Test Working Code 6

7 (More) realistic development Idea Analysis Design Code Error Error Error Working Code Acceptance Test System Test Unit Test 7

8 Agile manufacturing Theory J-i-T TQM/QA T-o-C Lean Six Sigma Focus Inventory Quality & Conformance Bottlenecks Inventory, Quality & Conformance Quality & Variance 8

9 Throughput Accounting metrics THROUGHPUT Rate of cash* generated through delivery of working code into production, not merely code complete INVENTORY Quantity of ideas for client-valued functionality queing for input to, inprocess through, or waiting for output, from the system *Assuming a constant level of Investment INVESTMENT The sum of money invested in the system of software production plus the sum spent to obtain the ideas for client-valued functionality input to the system (gathering requirements) OPERATIONAL EXPENSE The sum of money spent in the system to produce working code from ideas for client-valued functionality (marginal expense to create production code) 9

10 ROI in Throughput Accounting ROI = Unknown (T) Pretty hard to guess (OE) Didn t bother to measure (I) 10

11 NP in Throughput Accounting (more) Net Profit (NP) = T (less) OE 11

12 ROI in Throughput Accounting (more) ROI = Throughput (T) Operating Expense (OE) (less) Investment in Inventory 12

13 ROI in Throughput Accounting (more) Net Profit (NP) = (more) T - OE (more) ROI = (more) Throughput (T) Operating Expense (OE) Investment 13

14 Focus on Throughput Focus on T, I, or OE? Throughput is unlimited, it can grow forever Focusing on cost has a logical (yet unattainable) lower bound namely zero Throughput focuses on the customer externally Cost focuses on the team internally 14

15 Investment Minimizing Investment (I) drives ROI up Minimizing Investment also reduces OE, by reducing carrying cost of capital And, most importantly Lower I means lower inventory, which leads to reduced Lead Times, hence earlier delivery of value (Agile Manifesto principle #1) 15

16 Cost vs Throughput Accounting Cost Accounting Inventory is an asset Efficiency = function/ dollar (hours) labor is a variable cost People sitting idle are discarded! Throughput Accounting Inventory is a liability Efficiency = function/ direct costs (idle or not) labor is a fixed cost People sitting idle are a part of the system! 16

17 Cost vs Throughput Accounting Cost Accounting Most Focus Operating Expense Throughput (Production) Inventory Inventory Production Operating Expense Least Focus Throughput Accounting 17

18 Agile & Data Vault (very) few other architectures allow incremental build at such low marginal cost Deliver early in (very) small increments (very) few other architectures allow mistakes in your model, that you can recover from inexpensively Deliver early (long) before you have settled on the final business model 18

19 Conclusion By providing appropriate metrics (=Throughput Accounting), complex adaptive systems (Agile projects) will display the desired emergent properties Agile BI is not about delivering faster (or cheaper) efficiency Agile BI is about delivering in arbitrarily smaller increments to end-users hence gathering feedback about effectiveness 19