Brian Wernham’s book, “Agile Project Management for Government,” (published by Maitland & Strong, 2012) describes how agile leadership reduces the risks of failure in Government projects. I think that many of Wernham’s suggestions could serve as a guide for running any technology project.
The book contains several case studies of successes and failures of projects from the US, UK, and elsewhere. In successful projects prioritized results were delivered earlier, and in much smaller increments than for traditional projects using the waterfall approach, where each step of a project must be completely finished before proceeding to the next.
As Wernham explains, “The agile approach focuses on what is really important: meeting deadlines and getting feedback on what works and what doesn’t before too much money is spent.” Wernham identifies nine specific agile leadership behaviors:
1. Satisfy the customer. The highest priority is to satisfy the customer through early and continuous delivery of information. “There is a broader spectrum of people that have an interest in the system, and we must make sure we address their concerns because they have influence over the people funding our work.”
2. Harness change to your advantage. Welcome changing requirements, even late in development. Agile processes harness change for the customer’s competitive advantage. By assuming that change is inevitable, it tries to seek out that change at an early stage, to facilitate it quickly, and with minimum resistance.
3. Be Incremental. Deliver (a working solution) frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale. “Transparency of progress is enabled by regular demonstration of parts of the working solution, early integration of different parts to make sure they work together, and incremental implementation at regular intervals.”
4. Get the business and technical people together. Business people and developers must work together daily throughout the project. A key aim “is to make sure that the solution being built will be practical, and will bring business benefits. Identify potential problems as early as possible, with corrective action being taken immediately.”
5. Create trust through leadership and through the process. Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done. “Agile leadership behavior engenders motivation and trust – both within project teams, and with the key stakeholder that can make or break your projects.”
6. Work face-to-face. The most efficient and effective method of conveying information to and within a development team is face-to-face conversation. “Case studies have shown that this is perhaps the most difficult aspects to implement successfully.”
7. Set targets and reward real progress. “Targets motivate people. They need to be relevant and measurable. Most importantly, the development team needs to aim at delivering value to the stakeholders, not just the delivery of ‘clean code.’ Targets need to be collaboratively arrived at, unambiguous, transparent, and they should engender trust by being safe from gaming.”
8. Give your team space. “The team should be able to maintain a constant pace indefinitely … continuous attention to technical excellence and good design enhances agility …The best architectures, and designs emerge from self-organizing teams… at regular intervals, the team reflects on how to become more effective, then tunes and adjusts it behavior accordingly.”
9. Pursue simplicity. The agile approach creates a tendency toward light, targeted use of technology to provide key benefits: by removing marginal features, by eliminating the tendency to add unnecessary design features, and by focusing on the immediate concerns of stakeholders.
This book debunks the myth that government project cannot be agile and develop technology fast and effectively - this is a must for any tech developer interested in making large-scale projects work in government.
Sam Davis, Editor-in-Chief