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. 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
  2. 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
  3. 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
  4. 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
  5. 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
  6. 7.

    Governance models are designed “top down” Portfolio • Steering group

    • Exec committee Programmes • PMO • Programme board Projects • Project manager • Programme board @tastapod
  7. 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
  8. 9.

    Agile methods are “bottom up” CEO ? Team Team Team

    Team Team Team Team Team ... @tastapod
  9. 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
  10. 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
  11. 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
  12. 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
  13. 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
  14. 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