How to apply Agile in traditional business projects
So you’re a project manager working in a non-agile environment, wondering how you’re going to shoehorn some much-needed agility into your current projects. Here’s a short list of suggestions to get the ball rolling guaranteed to make your projects more successful without too much tweaking.
1. Involve the whole team in planning and estimations
Involve everyone who is doing the work in estimating the amount of effort required to do it. Not only will this provide a more realistic estimate, but involving the team also encourages them to take ownership of their estimates and acquire valuable project intelligence early on in the process.
Make sure you consider both worst- and best-case overall estimates and provide ranged estimates for each project. The smaller the work units or tasks, the easier they’ll be to estimate. Only estimate the next phase of work in detail, the remainder can be high level. This avoids wasting time and energy if things change (and as an Agile coach you know things always change!).
2. Create a project burn-up chart
A project burn-up is a very useful tool to track progress and forecast completion in a visual way. Most importantly it takes scope change into account. You can read up about burn-up charts here: http://www.clariostechnology.com/productivity/blog/whatisaburnupchart
3. Become a servant leader
Instead of driving for results, be an enabler to the team. Trust the team to do what is needed. Spend your efforts on removing obstacles to progress or providing tools, information and resources to help the team deliver.
4. Ensure daily collaboration and co-location
Short daily meetings are invaluable for team coordination and uncovering issues early. A project team all working together in one location or ‘war room’ fosters better quality work and faster delivery.
5. Encourage user, customer and stakeholder feedback
Do UAT at regular intervals throughout the project to get feedback and avoid surprises that require costly rework, and a UAT phase that overruns. Keep stakeholders informed at regular intervals and incorporate customer feedback. Tied to this, delivery must be incremental, and there must be an easy way to accommodate changes, resulting from feedback, with the least admin possible.
6. Do the riskiest things first
This is so that you know as early as possible if something is not going to work and you can change approach without spending too much money and time.
7. Reflect and learn regularly
Build in time to reflect on how the project is going, noting lessons learnt throughout the project and not only at the end. This step could be built into an existing progress meeting.
8. Only document what is really necessary
Most people don’t read beyond two pages, so keep documents simple and short. Question the purpose of the document before you write it, and only create it if it has a purpose. Documents must be supported with face-to-face discussions to ensure that the written meaning is the same for all readers and to garner feedback.
9. Avoid overtime
Avoid overtime as far as possible, specifically prolonged overtime. It has been shown that prolonged overtime results in poor quality work and sickness, which in turn nullifies the overtime investment, with no gains in the long run.
10. Question the Why
At all times, ensure you understand why you are doing something, whether it be the project as a whole, or a task someone has asked you to do. Only do what is necessary, as anything else could be wasteful. By knowing the reason for doing something, it may uncover another better, faster, simpler way of achieving the same result.
This is by no means an exhaustive list, and I can already think of a few more (‘Prioritising on value’, ‘Using a Kanban board to visualise work’, and ‘Limiting the amount of work in progress’ come to mind). I encourage you to share your suggestions and add to this list either privately by email or in response to this article in the comments section below.