From Push to Pull: Changing a Digital Agency From a Push System to a Pull System
Raise your hand if you like being told what to do at work? Not too many hands out there.
I’m going to assume the majority of you like to choose what you work on any given day. Even if it’s not your favorite task, at least you have the choice of when you work on it. By embracing Scrum and Lean over the past three months, we’ve changed Metal Toad from a push system—where sales and upper management told developers and project managers what to do without regard to current capacity—to a pull system where cross-functional (developer & project manager) teams tell sales when they are ready for more work. When the project starts, teams get to choose what work they are doing each two-week sprint and individuals choose what tasks they are tackling each work day. Living the “pull” concept of building in response to actual demand.
Project managers at Metal Toad are tracking the overall project schedule and resourcing the development teams’ availability in a homegrown piece of software based on each developer’s skill. This tool keeps sales and upper management aware of available capacity. When capacity is low, sales pumps the brakes and is able to sell projects with start dates that the team can actually handle. There is nothing worse than having too much work to do all with the same deadline. Stress becomes unbearable and quality (not to mention morale) suffers.
Our tool allows us to make better promises to our clients. If a client is looking for a Drupal 8 project to ship in the next month, we can visually see if we have a team available to accomplish that or not. If it will not be possible, we can tell them when we can do it—pulling the project in when we are ready. Conversely, if the tool is predicting that a particular skill set will be sitting idle in two months, the sales team knows exactly what kind of projects they can sell. If we have capacity in the Python/Django space, we can target clients with those back ends.
Individualization Inside Sprint Commitments
When the team does sprint planning, they are committing to a backlog organized and prioritized by the project manager and the product owner. This backlog likely contains tasks for several clients with tasks prioritized by each client’s upcoming deadline. This collaborative backlog building and sprint commitment usually means there is something in it for everyone. Is every single task going to be the fun one to work on? Probably not, but the beauty is that one person’s trash is another’s treasure.
Once the sprint starts, individuals self select (a.k.a. pull) the tasks they want to work on by assigning those tasks to themselves. At Metal Toad, we empower individuals to pull the work, in turn making them more productive, more contented, more pleasant to be around, and motivated to keep going—to the point where they are able to bring in even more tasks from the backlog which keeps our velocity high.
It Just Works Better
A pull system vs. a push system is unique at a digital agency. Most assume that an agency will take whatever work comes its way at any given moment. Like many other agencies, Metal Toad started out that way; and have since learned that not only is it unsustainable, but it often made for an unhappy and stressed workplace. Promises to clients were broken and, in some cases, we even lost their trust.
Switching from a top-down push to a bottom-up pull process did not happen overnight. We planned this transition for four months before we implemented it and another two months before we really started seeing the benefits. There comes a time in a company’s maturity when you need to respectfully ask your clients and partners to wait their turn and, though it may come as a surprise, people cannot contain their excitement when we say, “We’re ready for you now!”