GTD versus Agile: two of a kind?

Last year I embraced the Getting Things Done methodology of David Allen. “Be a collector of good ideas, but don’t trust your memory – Jim Rohn” is the main philosophy of Getting Things Done (GTD). Within GTD all tasks you want to accomplice, you write down at one central place. At regular intervals you empty this list. Seems a lot like Agile? Yes. This is exact a version of our backlog. But since there are two methods, having two different names, there should be some difference. Or not? Can I use Agile to perform all the tasks within life and also the higher level ones like your long term goals? And what about the other way around? Could GTD be used to organise a software project? Let’s have a look at the different area’s both methods tries to get grip on.

Tasks

Both methodologies focus on completing things (or Getting things done :-) ). It lies within the nature of humans to complete tasks; you will gain pleasure from it and wanting to complete more and more tasks. Although GTD focusses on multiple projects, you can see all projects together as your “life project”. This life project can embrace small goals, like losing weight. But also things like organizing a move to a new house. These goals are similar to the user stories we have in Agile. An epic contains several user stories. GTD doesn’t have this distinction. All tasks belong to one project.

Both within Agile and GTD you define goals or tasks that are measurable. For example losing 10 kilograms within one year. When you make it measurable, you can verify when it’s done. You then have several subtasks in order to obtain this goal. One of these steps could be looking for a gym. So no difference here between Agile and GTD.

Where Agile stores all things that needs to be done in its backlog, GTD uses project lists. For each project you have a list of tasks that need to be done. Before the tasks are moved to the various projects, you gather the tasks in an inbox. This inbox should be emptied regularly. When you empty the inbox you decide for each task to move it to a project, delegate to another person, or put it on your action-list. Within the sprint (which is a short time) you just pick-up from your action-list a task you can perform.

Agile lacks however some triggers to get informed when a task gets due. Within GTD you can use a tickler file to warn you a task needs to be done. I think this is a great thing within the system of GTD.

Actors

Agile focusses on several actors, which all have their special role within the proces. The product owner can decide which user story should be finished first. GTD focusses on only one actor and that is you. You can decide what user story (or project) is more important in your life. GTD is all about getting control in your life and what you think is important.

Prioritize

Tasks within Agile are estimated by the time you need to perform to complete them, by GTD you use the place where you are and the level of energy you have to fulfill this task. To be productive, this is more efficient within managing your life. When you have on your action-list that you should fill in your administration, but you are tiered from a long working day, it should be better to pick up a task that requires less energy. Agile doesn’t take care of these properties.

Also within Agile you estimate tasks beforehand. Each time you pick up a task you see how much time needs to be spend in order to complete the task. Within GTD you don’t estimate tasks. You just start with the task if you feel confident and have energy for it. If the task is to big to complete in a certain time, just as Agile, you split up the task in a number of separate tasks.

Improvements

GTD claims it process is optimal. Agile you can implement in your project the way you want. To improve the process within Agile, at each end of this sprint, you look back and analyse what went wrong in the process and what went well. You can tweak each sprint your process and become better in it.

Definition of done

At the end of an Agile sprint, typically about 2 to 3 weeks, you present to the product owner what you have accomplished. The product owner than can see whether the user story met his standards or not. GTD has a cycle of one week. At the end of each week you look back on your list of projects and examine what the status is of each of the projects.

Nice to haves

Most of the people have dreams about things they want to accomplice one day. These are the nice to haves in a software project. Within GTD you simply put this on your “sometime/maybe” list, in Agile there is no easy place to put this in. When you do your weekly review in GTD, you look each week again in this list and decide if you still want this. People can change, so do long-term desires.

Conclusion

The main difference between Agile and GTD is that the first one focuses on more than one stakeholder, where GTD focusses on one stakeholder. For example when is a task done? In Agile the product owner decides. Within GTD it’s you that say’s the task is done.

The second difference is that GTD lacks time estimations, which most of the project leaders want when working on a software project. GTD doesn’t really care how long it takes to complete a task. If it is to big, you chunk it down just like Agile.

I think looking at these two main differences, Agile can definitely be used within the focus of planning your life and GTD in software projects. Maybe something to try in your next software development project?

Posted in Agile by Bruno at March 30th, 2014.
Tags: ,

Leave a Reply