Over a million developers have joined DZone.

Don't Push! Pull Work Items for Better Results

Learn the difference between push and pull methods in agile workflows.

· Agile Zone

Reduce testing time & get feedback faster through automation. Read the Benefits of Parallel Testing, brought to you in partnership with Sauce Labs.

In all resource materials associated with Agile, the approach is often related to as utilizing a pull method. What does this mean and why is it important?

Dont Push. Pull work items for better results

Grab Tasks When You're Ready

Kanban works on an idea of establishing a workflow, a system in which the process stages are represented by different columns of tasks, through which the tasks get moved as the work progresses in the workflow.

One of the fundamental ideas behind Kanban is allowing for the items / tasks to be grabbed by the team members as they become available after completing previous tasks, hence a pull method.

So, the difference between using a pull and a push system of work assignment is in the optimization of the way items are distributed among the team. In a traditional push system, the work items, as assigned to different people, create separate queues of tasks. Meanwhile having work unassigned and available for pull equals easier prioritization of items.

A team is able to target the priority items in pull model implementations, because the people work together on the high priority issues, therefore it gets easier to keep the end product in focus, rather than the personal work item preferences.

The Push Model Risks

A risk in having items assigned to specific people lies in loosing grip on where specific tasks have landed and in having them stuck in queues while people take leave or get overwhelmed with work. Meanwhile, if the tasks are queued in a common backlog, chances are that if an item is of a high priority, someone will pull it quicker than it would have happened while it was assigned to someone. The more people draw items from one backlog, the better a potential priority-check rate, than if specific people pulled work from assigned backlogs.

Easier Collaboration

The pull method approach also promotes collaboration and therefore helps in achieving better results, since in situations when tasks are assigned individually, the team is not likely to opt for cooperation - which may often be the best way forward. That's because individually assigned work calls for the team to stick to assignments in order to retain their task accountability.
It's been often noted that accountability is better perceived as regarding a complete working item, rather than a perfectly done set of not necessarily associated tasks, all the more reason to go with pull method.

Staying Agile

An invaluable aspect of applying the pull method is staying able to adapt to change quickly and efficiently.
An alteration in the priorities, a small or large focus shift will not produce an upheaval within the team, as their plans can be modified easier with no personal backlogs. Also, because of the same reasons, any necessary changes in the team size for specific projects can be done quicker, since team members have no long item backlogs to fulfil. Teams are more scalable this way.

It could then be said, that sticking to the pull method benefits the team in more than one way. It's also not just a question of following Kanban as it's meant to be, but of optimizing the work of the team to the maximum level, for best possible results.

The Agile Zone is brought to you in partnership with Sauce Labs. Discover how to optimize your DevOps workflows with our cloud-based automated testing infrastructure.

kanban,project management,collaboration,risk management,agile

Published at DZone with permission of Anna Majowska, DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

The best of DZone straight to your inbox.

Please provide a valid email address.

Thanks for subscribing!

Awesome! Check your inbox to verify your email so you can start receiving the latest in tech news and resources.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}