This document discusses agile BI and throughput accounting. It advocates focusing on throughput rather than costs when measuring performance. Throughput is defined as the rate of cash generated by delivering working code to production. Inventory is described as a liability rather than an asset under throughput accounting. Agile and data vault architectures allow incremental development at low cost, enabling early delivery of value to customers. Proper metrics based on throughput accounting can help agile projects display emergent properties of complex adaptive systems.
Tom Breur - Agile Business Intelligence - accounting for progress - keynote data vault conference 20111006
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”
www.xlntconsulting.com 2
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
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
www.xlntconsulting.com 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.
www.xlntconsulting.com 4
7. (More) realistic development
Idea Analysis Design
Working
Code
Error Error Error
www.xlntconsulting.com 7
Code
Acceptance
Test
System
Test
Unit
Test
9. Throughput Accounting metrics
THROUGHPUT
Rate of cash* generated through
delivery of working code into
production, not merely code
complete
*Assuming a constant level of Investment
www.xlntconsulting.com 9
INVENTORY
Quantity of ideas for client-valued
functionality queing for input to, in-process
through, or waiting for
output, from the system
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)
10. ROI in Throughput Accounting
ROI =
Unknown (T) – Pretty hard to guess (OE)
Didn’t bother to measure (I)
www.xlntconsulting.com 10
11. NP in Throughput Accounting
(more) Net Profit (NP) = T – (less) OE
www.xlntconsulting.com 11
12. ROI in Throughput Accounting
(more) ROI =
Throughput (T) – Operating Expense (OE)
(less) Investment in Inventory
www.xlntconsulting.com 12
13. ROI in Throughput Accounting
(more) ROI =
(more) Net Profit (NP) = (more) T - OE
(more) Throughput (T) – Operating Expense (OE)
www.xlntconsulting.com 13
Investment
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
www.xlntconsulting.com 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)
www.xlntconsulting.com 15
16. Cost vs Throughput Accounting
Cost Accounting
Throughput Accounting
Inventory is an asset
Inventory is a liability
Efficiency = function/
Efficiency = function/
dollar (hours) labor is
direct costs (idle or not)
a “variable” cost
labor is a “fixed” cost
People sitting idle are
People sitting idle are a
discarded!
part of the system!
www.xlntconsulting.com 16
17. Cost vs Throughput Accounting
Cost Accounting
Operating
Expense Inventory Production
Throughput
(Production) Inventory Operating
www.xlntconsulting.com 17
Expense
Most Focus
Least Focus
Throughput Accounting
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
www.xlntconsulting.com 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
www.xlntconsulting.com 19