Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

Overwhelmed With Work?

DZone's Guide to

Overwhelmed With Work?

If your Agile process is feeling a little sluggish, using the Kanban technique can help you set priorities and optimize work flow.

· Agile Zone
Free Resource

Speed up delivery cycles and improve software quality with TestComplete. Discover the most robust automated testing tool for end-to-end desktop, mobile, and web testing. Try TestComplete Free.

Have you ever felt inundated with too much work? You have been delegated a multitude of tasks, everything has been pushed onto you, and you just don’t know what you should be working on, so you just keep switching between tasks and get nothing done.

The reason nothing gets done is because you keep switching between tasks, in other words, multitasking. So how does this prevent you from getting things done? Well, let’s keep this simple. Say we have 3 tasks to do: A, B, and C. Each task takes 10 units to complete. A unit could be minutes, hours, days, weeks, it doesn’t matter. For this example, we’ll use days.

Now let’s say we do A, B, and C in sequential order. What is the lead time to complete A? 10 days. What is the lead time to complete B? 10 days. C? 10 days again.

Nice and simple.

Now let’s say we do a split, so we do half of each task. Let’s say that the first half is development, and the second half is testing. Deployment to production is negligible. So we stick with 10 days to complete a task.

So we do all our development up front: 5 days for A, 5 days for B, and 5 days for C. Then we do our testing: 5 days for A, 5 days for B, and 5 days for C.

Now, what is the lead time? For completion of A, it is now 20 days. We have doubled our time! For B, it is also 20 days, and the same with C. Okay, the overall time is still 30 days, but let’s say there is an issue during the first 5 days of B so that it takes 6 days. Now, it takes 21 days to complete A. A is now overdue. But not only is A overdue, B and C are overdue as well. The more delays, the bigger the cascading effect.

This is a basic example, but there are other things you need to consider with multitasking, like context switching. Changing between tasks means a mental dump and load for the next task. Then when you switch back, you have to remember what you had previously done, and then continue on. This context switching takes time. If the two tasks are completely different, then the switching time is less. If they are similar, then the switching time is longer. For those tasks that take minutes or hours and that require a high level of concentration, and most IT work does require a high level of concentration, being “in the zone” when working is when you are at your most productive. Getting in the zone takes time, and breaking that concentration drops your productivity. In most cases quite significantly.

So in the modern workplace, why is there multitasking? Quite simply, people get assigned more than one task at a time. You know the drill. Your boss needs something done, looks to you and asks if you can do it. You say yes because you are only working on one task. It happens again and again and now you are juggling 3 or more tasks. Then you look at your colleague and you see that they are only working on one task, or worse yet, they are twiddling their thumbs.

This seems to be standard practice in many organizations, but what is the alternative? It’s simple: instead of pushing, try pulling. You have your backlog of work. No one is assigned a particular task. If you are free, you take the next task in the line. This methodology allows you to work on one task at a time and focus, and also provides an even distribution of workload among people.

In Agile, this is represented by the Kanban board, a technique that originated with Toyota. In Japanese, it literally means “signboard.” In order to limit inventory in Toyota, cards were used to indicate when something was used. For example, say you have a tub of bolts used to attach a door to a car. There would be 2 tubs. The first tub held the bolts to attach the door, and the second was there for when the first tub ran out. A card is attached to each tub. When you run out of bolts, you start taking some from the second tub. The card on the first tub is then used as an indicator for someone to get you another tub of bolts. Taking bolts from inventory then triggers a purchase order to buy a new load of bolts. Toyota has got this down to a fine art where they get several deliveries per day of parts, such as bolts, to be used within that 24 hour period.

Anyway, back to Agile. Since IT work is non-tangible, cards are used as an avatar. The Kanban board is a signboard or visual indicator of the progress of the work. People “pull” the cards from “to do” to “doing” while limiting themselves to only one card in this column, then they “pull” the card to “done” which then triggers the “pulling” of the next card off the “to do” column. If something is blocked, then this can trigger a second card to be pulled from “to do,” but keep in mind, this should be the exception rather than the norm. During the retrospective, the team should investigate and discuss how to prevent a blocked card from happening again.

Now, a question. How do you limit the amount of work done if you have tasks that take 10 days, as in our example? What happens when something more urgent comes in? Well, the first mistake I made with my example was to use tasks that took 10 days. Ideally, you should have tasks that take only 1/2 to 1 day. That way if something more urgent comes along, there is only a half to 1-day wait.

But what about an emergency? If something goes down, we can’t wait half a day to a day to get things back up and running. Well, this is an exception. In the case of an emergency, it's all tools down and the emergency takes priority. Everyone who needs to be involved gets involved. Fix the issue, then once everything is back to normal you resume the process.

Release quality software faster with TestComplete. Discover how to decrease testing times and expand test coverage with the most robust automated UI testing tool. Try free for 30 days.

Topics:
kanban ,multitasking ,agile

Published at DZone with permission of Holger Paffrath. See the original article here.

Opinions expressed by DZone contributors are their own.

THE DZONE NEWSLETTER

Dev Resources & Solutions Straight to Your Inbox

Thanks for subscribing!

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

X

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

{{ parent.tldr }}

{{ parent.urlSource.name }}