Most agile projects that I have worked on have had very little repetition in them. Each day brings new work, new problems. Each iteration is working on something different. So what happens if there are tasks that repeat? What if you have to do the same thing every day or every week or every iteration? How does this fit in with agile work methods?
In some agile methods, there are certain things that are already repetitive such as the iteration planning meeting, the daily status meeting and the retrospective. These things are process overhead. As overhead goes, they’re not too bad! Agile methods usually treat them as a special kind of work: they are not work that shows up in the work item backlog nor in the task backlog for an iteration.
In our lives we have to deal with many repetitive tasks: cleaning the fish tank, mowing the lawn, renewing our vehicles license plates, brushing our teeth. Many of these things are “just there”: you know you have to do them, you do them and you don’t bother tracking how much time they take, nor specifically scheduling them.
In Agile Work, with one of the disciplines being to “Eliminate Waste“, there is some tension between our normal approach to repetitive tasks and the high-visibility approach of agile.
We could put all our repetitive tasks on the backlog. For example, if we have a weekly status meeting to report on progress to management, this could be put on the backlog. The problem is, that the meeting doesn’t provide any value to the organization and the backlog is really meant for valuable items.
We could have a separate mechanism for tracking repetitive tasks. This might be a calendar, it might be a per-iteration checklist.
We could find ways to automate or eliminate the repetitive tasks. This works very well in an IT environment or in an environment where machines could do the work. But it can’t work for repetitive communication tasks where the details are constantly changing.
We could leave them essentially invisible…
I’m curious though: have any of you been on projects where you have had to explicitly deal with this? What did you do? Did you distinguish between value-added and non-value-added repetitive tasks and if so, how?