Agile Contracts? AgilePrague 2012 Johannes Brodwall, Principal Architect Steria
Part I
Motivation
Agile Manifesto Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan
Agile Manifesto Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan
Does «contract» make a difference?
Supplier Customer Hold on, I expected a much fancier UI for this. ?
Most common contracts: Fixed price Time and material
Supplier Customer Hold on, I expected a much fancier UI for this. Crap
Supplier Customer Hold on, I expected a much fancier UI for this. No problem, we’ll work some more
«Time and material» creates the most happiness
(Source: My best and worst projects)
«Time and material» creates the most happiness (Also for customer!)
So why care about the rest?
Do you pay taxes?
How should your government handle: We’re running out of money for pensions We need to change the rules! The current system is huge
How should govt spend your money? A big, state-run project? Hire a random company to do it all? Just pay consultants until it’s done? “Just be agile”?
Can Agile help?
Customer collaboration over contract negotiation: Contracts hurt Big tax-funded projects are inevitable Agile can help – but insufficient
Part II
PS Agile
Typical Norwegian public sector project: «We need to replace huge system X…
Typical Norwegian public sector project: «We need to replace huge system X… … we’d like to use Scrum»
PS2000: «Target price»
(Target price: Set a budget, report cost. Supplier & client splits difference)
PS agile: «Colocated» «Sprints» «Sprint reviews» «Product owner» «Product backlog»
… but also «Negotation phase» «Requirement phase» «Acceptance test phase»
Whence PS2000?
Contract standard from Norwegian Computing Association
2001: PS2000 with target price
2009: PS Agile
Norwegian trends: Active community Meetups about contracts Scrum certifications Large and diverse consultancy industry
Some project highlights
In progress LARM: Domain:Electricity reserve power Application:Operator UI Internal Integration Project size:2 scrum teams plus support Organization:Supplier + Customer teams Colocated at customer site Team size:7 per team Duration:3 years (1,5 years left) Sprint length:3 weeks (customer present) Releases:3 times per year Contract:Target pricing for whole scope
? Bid Apr, 2010 Negotiation Aug, 2010 Mar, 2010 Elaboration Nov, 2010 Release 1 Sprint May, 2011 Acceptance Production Sept, 2011 Elabor ation Sprint SIGNED
Smart move: Reliable product backlog using scenarios
Big win: First release in use 1 year after contract, containing most used screen
Big loss: Feature creep of individual user stories
Completed PERFORM: Domain:State pension fund Application:Case worker UI External Integration Process flow Project size:12-14 scrum teams plus support Organization:Three suppliers with 3-6 teams Colocated at customer site Team size:10 per team Duration:3 years Releases:3 times per year Sprint length:3 weeks, with shared demo Contract:First release: Time & materials Subsequent: Target pricing per release
Smart move: Contract on price per release First release on T&M «Competing» suppliers
Big win: Delievered what was needed Government is happy Users are happy
Big loss: Full time requirement spec Hostile architecture team
Customer collaboration over contract negotiation
Reality: We must compete We must commit
Part III
Wishful contracts
The source of our troubles
Fabulation Speculation Bungling Yelling Worrying 2 year - development Use
Fabulation Speculation Bungling Yelling Worrying 2 years - development Use Contract Price Scope Deliverable Ok?
The problem
Fabulation Speculation Bungling Yelling Worrying 2 years - development Use Contract Price Scope
A way out?
Pure fabriaction IMAGINE: Project size:Some scrum teams with independent users and product owners Organization:Colocated at customer site Team size:6-8 per team Duration:3 years Sprint length:2 weeks, with shared demo Releases:Every month Bidding:Performance competition Contract:Target estimate per user story
Pricing: Unit pricing
Menu: Simple GUI: 20 kNOK Complex GUI: 50 kNOK GUI that customer decides how looks: 100 kNOK (Or 2, 5, 20 story points)
Supplier Customer I need a screen shot for X. We want something simple. Ok. 2 kEURO
Supplier Customer Do you have anything to show for it? We’ve spent half the budget Nothing that is tested yet Okay, I’m pulling the plug
Supplier Customer Stop! We’ve spent the budget
Supplier Customer But I wanted rounded corners, and gradients! No problem, but that means it’s no longer «simple» Oh, never mind.
(I hate having this sort of discussions)
Supplier Customer But I wanted …! Oh, I guess we have to do it, then No way! Change order! Hmm…we didn’t consider that when we gave the price
Bidding: Competitive delivery
Supplier Customer Project reference Resumes Hourly rates Supplier Pre- qualification
Supplier
6-10 weeks
Supplier Analysis Coding Delivery Analysis Coding Delivery Analysis Coding Analysis Delivery Supplier
Analysis Coding Delivery Analysis Coding Delivery Analysis Coding Analysis Delivery Supplier
Another model
Pure fabriaction Supplier Commitment: Δ ☺ Δ $ IMAGINE:
Questions and discussions
Conclusion
Customer collaboration over contract negotiation
We need an answer for large investments
Norway’s answer ain’t half bad
But
We can do better
Thank you