The Washboard Anti-Pattern
This post is from LeadingAnswers: Leadership and Agile Project Management Blog by Mike Griffiths. Click here to see the original post in full.
Washboarding is an instability that occurs when vehicles move on dirt roads. What starts off with a small bump turns into a whole series of small bumps as vehicles travel the road. Washboard roads are more dangerous than smooth dirt roads and have to be driven at lower speeds. All these bumps are a pain in the rear (literally) and make you go slower.
We see the resourcing equivalent of washboard roads in projects too. Traditional projects staff early with business analysts to do the bulk of the requirements gathering and then bring in developers and finally QA people. These peaks and valleys of specialization not only look like a washboard road, but they have the same effect, they are a pain in the rear and make you go slower.
Because the BA’s, devs, and QA’s are not used evenly throughout the project, they are brought in for a short period and then transferred to the next project. People try to share BA’s, QA’s and other roles between multiple projects and pretty soon most people are working on multiple projects. This is very difficult to schedule efficiently because projects rarely sync up exactly or stay on plan. Worse, task switching between multiple projects is time consuming, prone to errors, less satisfying, and a slower way of working.
Just as preventing washboarding on a road is difficult once it has started, breaking the resource washboard anti-pattern can be difficult too. A concerted effort and decision to staff whole team projects needs to be made. Acknowledging that it is impossible (or at least extremely unlikely) that all the final requirements can be captured up front, keep the BA’s around. Engage the QA team early so they hear from the business firsthand what they should be testing for, and encourage developers to work with the BA’s and QA’s beyond coding. Whole team staffing breaks down silos and prevents throwing things over a wall to another group that is inefficient and error prone.
Bringing the whole team together at the beginning of the project allows them to work collectively on vertical slices of the solution through to completion. Multidisciplined teams can help each other to minimize resource constraints and since the team swarms around solving small increments, there is no task switching penalty when asking for help.
Just as the advantages of smooth roads over washboard is clear to everyone, so too are the benefits of dedicated, collaborative teams. Dirt roads and small bumps lead to road washboarding, as specializations, functional groups and matrix management leads to resource washboarding.
Executive management are the best bulldozers, they can mandate the change and pave the way as it were. If you do not have that level of commitment, break the bumpy cycle on the projects you can control. Recruit combined BA/QA staff and keep them throughout the project, get all roles in the design sessions, and business discussions, resist task switching and prioritize projects. Then see how much faster you can go.