By Richard Kidd
This is the first of a two-part series.
Waterfall vs Agile. You have to choose one or the other for your project, right? In my experience, the answer is definitely no. It is possible and often quite beneficial to incorporate Agile into a traditional approach. If you have worked mostly in waterfall environments and struggle with fire fighting, poor communication and/or poor quality, then applying Agile techniques may be a useful option for you. This post will introduce you to three Agile methods that are very likely to improve your project.
A common misconception about Agile is that it requires you to fully adopt the Scrum methodology to make it work. Scrum works really well on software and even non-software development projects, but it requires significant buy-in and a big transformation across your entire team. These things are not always possible.
Another approach, often known as Kaizen, promotes gradual small changes, which can be very positive and impactful. Slowly adding elements of Agile into your project over time reduces the negative impact associated with introducing too much change all at once. This approach will increase your chances of success, as only a small portion of your process will have changed – you can revert back if necessary. (Look for a Kaizen post on this blog soon.) Here are three Agile techniques that are relatively easy to apply within waterfall environments using Kaizen.
Retrospectives are an easy and effective way to get started with Agile. Traditional project management teaches us to perform a “big bang” lessons learned meeting at the end of a project. This may not be the best approach, as each project has its own unique, non-repeatable qualities, so the lessons learned from one project may not apply to your next. Instead, I have found it much more useful to borrow the retrospectives approach from Agile – that is, to learn our lessons while the project is still going on. Hold a lessons-learned sit-down with your team and/or stakeholders after each phase or iteration of the project. Doing this will support continuous improvement throughout the project rather than waiting to make improvements for the next project.
During this meeting, be sure to solicit both positive and negative feedback about the last iteration, sometimes referred to as the “3 up, 3 down” approach - each team member offers three things that went well and three things that didn’t. This approach ensures that the meeting does not end up being too positive or too negative, and all useful feedback is put on the table. Also, be sure to not try and solve issues at this meeting; it is tempting, but the point of the meeting is information gathering. Consider reviewing the previous meeting’s takeaways in the next retrospective. This is a great way to measure progress on your improvement efforts.
All projects can benefit from increased communication. In Agile, the team holds a “stand-up,” a daily 15-30 minute meeting to discuss team progress and roadblocks. Everyone at this meeting is “standing up” to encourage team members to keep things brief and to the point. This easy-to-incorporate Agile element is especially useful in busy virtual environments.
Just like any meeting, it is important to have clear goals for the stand-up going in. The meeting should be attended by all members of your team who are responsible for the day-to-day value stream and possibly even your clients. Keep the meeting to 30 minutes max – this is a frequent/daily meeting, and it needs to be efficient or you will risk losing team support. Each team member should address:
1) What he/she did yesterday
2) What he/she is doing today
3) Any risks or impediments he/she is currently facing
Managers or leads should be careful not to try and solve impediments during this brief meeting. Discussions about impediments can be tabled and addressed after the stand-up.
You will find that stand-ups will greatly improve communication on your team. If daily meetings don’t work for you, experiment to find the best frequency for your project. In our next post we will discuss incorporating a team Kanban board into this meeting.
Manage your WIP
Managing your work in progress (WIP) is one of the best ways to improve productivity. Multi-tasking is scientifically impossible, and constant task switching causes you to be distracted and inefficient. If you find yourself dealing with the latest request or fire of the moment all day, using a WIP can be very helpful.
The goal here is to ensure that you are always working on the most important task at any given time, which greatly increases your output and efficiency. Having a WIP limit can be difficult at first, requiring you to say no at times, but the end game here is to be more focused and productive. I always remind myself of this when I hit a road bump using this system. Remember that if you can work from your WIP 80% of the time, and spend 20% fighting fires, this is still a significant improvement.
It will take some work to determine how many tasks can be in your WIP. One or two is generally best. Start out each day with a work plan for what you want to get done. Prioritize your list, pull in the first item, and start working on it. Do not start a new task until the first task is done or you hit a stopping point that cannot be avoided. Also, prior to moving a task to your WIP, be sure that it is ready to be worked on and is broken down into smaller, manageable tasks - this decreases risk, allows for better estimation of future tasks, and keeps you motivated, as you will be constantly delivering and finishing tasks.
Also, have a set time for e-mail and limit mobile device notifications. I know this seems like a tall order - it will take some training and getting used to, both for you and your colleagues. If someone comes to you with “unplanned” work, you should really ask yourself if this is higher priority than what is in your prioritized work plan for the day. This will be a judgment call at times. Chances are the unplanned work can wait until tomorrow, and simply telling your colleague that you will take a look at it may be enough to get you focused again. Consider adding the work to a later work plan when you and the task are ready.
WIP is very easy to implement but takes some practice to get used to and master. Give it a try for a couple weeks and you will see what an effective system it is. In Part 2 of this series, we’ll talk about how to use WIP to supercharge your team’s productivity.
Let us know if you have any other easy ways to be more Agile in the comments!