Upgrade to Pro — share decks privately, control downloads, hide ads and more …

The challenges delivering an agile development service in a highly governed organisation

The challenges delivering an agile development service in a highly governed organisation

A 10min "lightning presentation" I gave on the challenges of agile delivery in a large bureaucratic organisation, and some strategies for success.

Shaun Hills

July 24, 2015
Tweet

More Decks by Shaun Hills

Other Decks in Programming

Transcript

  1. 2 Hierarchies https://www.flickr.com/photos/lucgaloppin/5295086040/ Highly governed organisations tend to be hierarchical:

    • Authority-based (there's someone governing) • Defined in terms of lines of reporting, interfaces between teams, and areas of responsibility Challenges for agile teams. Hierarchies: • Don't promote a sense of shared responsibility for an outcome • Delegate decision-making upwards, rather than encouraging it at a low level • Tend to focus on lines of responsibility (whose job is it), rather than personal interactions (who can get it done) & collaboration
  2. 3 Different velocities https://commons.wikimedia.org/wiki/File:Tractor-OnTheRoad01.jpg • Hierarchy/compartmentalisation, lack of shared responsibility

    often means agile teams have dependencies on other areas of the organisation • Also lots of other processes that may need to be slotted into e.g. portfolio office, programme management processes. • The agile team can end up in a situation where its burndown line is decreasing. But the other team's line is decreasing less quickly, not at all, or maybe they're waterfall. • This decreases the velocity of the project by more than the average velocities of the two teams. • What's also insidious is that the agile team might then cut quality to deliver faster, but this will accumulate unimplemented features or technical debt for the next iteration.
  3. 4 Change and uncertainty https://www.flickr.com/photos/pathfinderlinden/5614594515 • Organisations are often highly

    governed because they work in areas of (perhaps perceived) high risk e.g. healthcare, defence. • They tend to be risk-averse. • They like predictability. • They focus on compliance – with process, with standards, with policy. Challenges for agile teams. Such organisations: • Embrace change control, rather than change • Are actually suspicious of change – "why didn't we get it right the first time?" • Focus on processes and exhaustive documentation to manage change and risk (wasted effort) rather than accepting that change is inevitable and focusing on delivery.
  4. 5 Big Design Up Front https://commons.wikimedia.org/wiki/File:Bell_x-1_Sound_Design_Studio_Big-Gilbert_Courtois.jpg • Because of the

    aversion to change, and the difficulty of making changes to areas controlled by other teams • Highly governed organisations tend to embrace BDUF • This front loading applies to project management methodologies as well as requirements analysis, system design etc e.g. PRINCE2 devotes a lot of effort to ensuring that requirements are fully understood & the project is viable and worthwhile before proceeding. The assumption is it's cheaper to make changes in the planning phase. Challenges for agile teams: • Front-loaded requirements and processes are the opposite of incremental improvement, minimum viable product, and adapting to changing requirements.
  5. 6 Getting things done https://www.flickr.com/photos/dullhunk/9730894552 • In a highly governed

    organisation, management is often in a position of authority (someone is doing the governing...) • However in an agile team the role of management is to remove impediments, not tell people what to do. • Highly governed organisations also often have a very standardised approach (for reasons of risk, inertia etc) to tooling & processes • Challenges for agile delivery: • The agile team is responsible for its estimates, and working out the best tools and methods to use. This may be incompatible with the organisation. • Ben Balter – "19 reasons why technologists don't want to work at your government agency" • Role of the manager differs from what might normally be understood in a highly governed organisation.
  6. 7 Ways to succeed https://www.flickr.com/photos/psd/9588038559 I've talked about problems. Here

    are some ways to help agile projects succeed: • Don't do the stuff on the previous slides! Break down/ignore hierarchies, manage external dependencies, encourage product owners to embrace change, recognise & avoid BDUF, give the team responsibility & the right tools & clear the decks • Have an impediment list, and a plan for solving them. Consider communicating the list widely but politely. • Abstract the agile work away from non-agile work elsewhere in the organisation. Hard on the manager... • Inspire confidence & educate the organisation. Don't spend a lot of time talking about the superiority of the methodology; show actual results. Don't be a cargo cultist.
  7. 8 Process makes you more efficient. But innovation comes from

    people meeting up in the hallways or calling each other at 10:30 at night with a new idea, or because they realized something that shoots holes in how we've been thinking about a problem. It's ad hoc meetings of six people called by someone who thinks he has figured out the coolest new thing ever and who wants to know what other people think of his idea. And it comes from saying no to 1,000 things to make sure we don't get on the wrong track or try to do too much. – Steve Jobs Questions?