Governing Agile Delivery

Governing Agile Delivery

Agile development starts with small teams tackling small problems. After some initial successes the organisation gets more ambitious, and tries to get more teams tackling bigger problems. At some point these endeavours run headlong into finance and governance structures from a different era, designed with huge projects in mind, and it usually doesn’t end well. In this talk Dan explains where our existing governance and funding models came from, why they aren’t a good fit for agile delivery methods, and what we can do about it. There will be maths.

08145ecb1ce091d9dd3c328ea2a707fb?s=128

Daniel Terhorst-North

September 28, 2017
Tweet

Transcript

  1. Governing Agile Delivery Dan North @tastapod

  2. What do we need governance for? 1. To understand what

    we are spending our money on. 2. To understand how we are doing. Governance is about managing risk. @tastapod
  3. How does delivery usually work? Initiation •Definition and Scoping •Tendering

    and Procurement •Budget approval Planning •Work breakdown •Resourcing •Scheduling Execution •Analysis •Design •Development •Testing Release •Deployment •User acceptance •Transition to Live @tastapod
  4. How do we govern this? Initiation •Proposition review •ITT •Contracts

    •Budget review •Payment schedules Planning •Project review board •PMO sign-off •Financial controls •Review schedule Execution •Steering group(s) •Stage gate reviews •Documentation •Sign-offs •Hand-overs Release •Change Advisory Board •Release documentation •Implementation plan •Go/No-go •User sign-off @tastapod
  5. Why do we do it like this? Each stage gate

    is supposed to give us assurance - because there is usually a lot at stake! We make big investments - or as some may say, big bets. We plan and budget on an annual basis We often make multi-year commitments @tastapod
  6. Multi-year commitments are risky! We fear things going wrong: -

    Cost overruns - Schedule overruns - Delivering the wrong thing - Operational instability - Supplier instability We believe we can front-load the risk. We just need to plan in enough detail. What could possibly go wrong? @tastapod
  7. Governance models are designed “top down” Portfolio • Steering group

    • Exec committee Programmes • PMO • Programme board Projects • Project manager • Programme board @tastapod
  8. Agile methods are “bottom up” Team-scale: 7 ± 2 people™

    Interdisciplinary, or cross-functional Working in small time boxes Releasing software frequently Collaborating closely with the user Planning in small time boxes, based on feedback Funding is usually incremental Agile is about teams delivering small slices and acting on feedback @tastapod
  9. Agile methods are “bottom up” CEO ? Team Team Team

    Team Team Team Team Team ... @tastapod
  10. Agile* Adoption* Patterns* – Richard Durnall * Not agile, not

    adoption, not patterns, but still… 1. The people break 2. The tools break 3. The governance breaks 4. The customer breaks 5. The money breaks 6. The organisation breaks @tastapod
  11. Agile doesn’t have an opinion about large programmes Agile methods

    emerged to address delivery in the small. Delivery at scale is a substantively different problem. 80 ≠ 8 x 10 Multiple agile teams can collaborate on the same programme of work. - Needs strong technical direction - Needs strong product management - Needs strong (Lean) programme management Guiding principles: “Freedom within a framework” @tastapod
  12. Governance is about managing investment risk @tastapod

  13. Return on Investment is a blunt instrument It says nothing

    about when the return occurs, or how much is at risk. Risk-Adjusted Return on Capital (RARoC) is more useful. Agile delivery has (initially) worse RoI, but much better RARoC. @tastapod
  14. Risk profile of traditional delivery @tastapod £ Value at Risk

    (VAR) Uncertainty Release
  15. Risk profile of agile delivery @tastapod VAR Frequent Small Releases

    Self-funding! £
  16. Governing agile delivery We need to rethink our underlying assumptions:

    - Flow of value is more important than utilisation of workers. - Busyness is not an indicator of progress, results are. - Feedback is vital to reducing uncertainty. Lead time is the only game in town! @tastapod
  17. How can we reduce lead time? 1. Reduce batch size

    - which reduces variability to boot! 2. Keep work within the team - including inspections and reviews - including specialist knowledge and skills 3. Identify information you need to govern, then - Eliminate, Simplify, Automate - until your process becomes self-evidencing @tastapod FedRAMP by 18F
  18. Wrapping up Governance is about managing risk. Iterative delivery methods

    reduce risk and uncertainty But your governance needs to change to benefit from this. All software development carries uncertainty. You can’t eliminate uncertainty, but you can surface it early. @tastapod
  19. Thank you dan@dannorth.net https://dannorth.net https://twitter.com/tastapod @tastapod