Synthesizing GTD and Agile practices

Another guest post by André Vargas on how he compares Getting Things Done to Agile methodologies. A fascinating dive into the world of SCRUM and GTD.

ScrumAs an agile practitioner and program manager for complex software systems, I have always been attracted to tools and systems that make my life less stressful and more productive. From early in my career I followed the principles of GTD because it helped me manage my personal workload and as far as managing my teams’ workflow, l have similarly leveraged the power of Agile methodologies such as SCRUM to make my teams be as effective as possible.

Because I am always searching for what can be improved in anything I do, I thought it would be a fun exercise to explore how GTD compared with agile methodologies like SCRUM and if there were practices from each methodology that could be combined to improve productivity. What I realized is that without even consciously thinking about it was that I had already created a sort of GTD/Scrum synthesis in my approach to project management and it was working.

To demonstrate what I mean, I have taken the GTD process summary posted here on May 18th in “How to reduce stress in your life” and share with you how I have applied the principles of GTD to our Scrum approach and vice versa:

High Level GTD – Collect, Process, Organize, Review and Do

High Level SCRUM – Product backlog, Sprint Backlog, Sprint planning, Sprint and Retrospective

GTD – Capture all the stuff in your life that isn’t in the right place. (open loops)

SCRUM – All requirements, user stories, project to-dos, wish list items etc. are always collected in our product backlog. A good match, both systems are great at collecting the things that need to be done. It also has a soothing effect on business stakeholders as they know we capture everything, and take their feedback very seriously, even if their requests are not implemented right away. Here, we reduce our business stakeholders’ stress!

GTD – Eliminate all the stuff that isn’t yours or you don’t need right now.

SCRUM – At a personal level, you know how to eliminate stuff or delegate it, with program delivery, most of the work is ours and requested by business stakeholders, and elimination of items is more an exercise of prioritization and budget, although the items remain in the backlog unless obsolete. We use a lot of impact assessments and trade off analysis to discuss with the business, what needs to be done, thus always striving to work in the most important “stuff.”

GTD – Create a “Trusted System” that supports your working style and values.

SCRUM – There are many scrum-trusted systems out there, from basic posters with post-it notes to sophisticated cloud tools and enterprise systems. In our program we use TFS 2010 with the Scrum Template. Personally, for my GTD processing I use Evernote.

GTD – Put your stuff in your Trusted System to get it out of your head.

SCRUM – We record every request from the business and every issue or bug on our TFS system. Interestingly, getting stuff out of my head, as the program manager, sometimes gets me into trouble! I trust the system. I know everything is there, but sometimes, I am caught off guard by a business stakeholder randomly asking me about that one item most important to them, and I don’t have it in my head! Oh well, typically I respond that I will look up all the details and get back to them, but this is one, where I almost feel I need some in my head even though I prefer not to have to.

GTD – Review your system periodically to ensure you have everything.

SCRUM – This is a big one that I have expanded the scrum process with GTD. In our scrum process, we do sprint planning every 2 weeks, however, not all team members work at the same velocity, thus dependencies and sequencing of work can be impacted causing release risk. We have daily standings to update each other of status, but it does not work as a review like the sprint planning does or the daily review does in GTD. Therefore we have introduced item reviews twice a week to ensure we are all maximizing team productivity.

GTD – Do your stuff in a way that honors your time, your energy, and the context of any given moment.

SCRUM – GTD’s focus is one of personal productivity, and scrum is more of an agile team performance system. Everybody works differently, so the way we optimize our time in our scrum process, is based on business benefit and implementation complexity of the work to be done. The team takes on the items which are high in priority and easiest to implement (low hanging fruit) first, enabling tasks are always worked on as high priority, then we take on the high priority complex items. We negotiate with the business to always be working on high priority items so we move back to the backlog lower priority items. The way I process my personal to-dos does have inspiration from our prioritization method, so I do think of benefit and complexity when deciding next actions during my processing. Where possible, I have shared my GTD process with team members, so that they, within the scrum process, can best optimize their time. In particular, our business analysts benefit most from GTD as they are at the center of everyone’s needs, from business stakeholder’s requirements, user support, developers, testing and release management. Their time is always at a premium, so GTD helps them be more productive. Two GTD golden nuggets here that I have used are in terms of language. We use a subject of “Waiting for” when we need someone to respond quickly to an important issue, the psychological power of these two words is amazing and really keeps the team attentive to each other’s needs, no one likes being a bottleneck others are waiting for. The other one is “Next actions.” It is amazing to me the number of emails, and discussions between team members that seem to not have an action to them. I typically reply all with just a simple question” “Next Actions?” and suddenly, the thread translates into items for the backlog, solution steps, all of which gets the team moving again.

GTD – Iterate and refactor in a continuous improvement cycle.

SCRUM – I am a big fan of continuous improvement, in our scrum process, we conduct sprint retrospectives at the end of each sprint. It always amazes me and makes me happy that there is always items we could have done better, and we do act on those as they become internal items in our TFS system to improve during the next sprint.

I hope you have enjoyed the post, have you suggestions on other golden nuggets we can use from GTD in scrum or vice versa?

Early in my career, I learned that the key to reducing stress was to “download’ the to-dos that were swirling around in my brain to a concrete, paper list. Having that list let me shut off my worry; once it was on paper it was no longer in my head so I could truly enjoy my out-of-work life. Over time my list evolve from scattered loose-leaf papers to a big red book of all my stuff (my trusted system) until eventually I found GTD, my trusted system today. – André Vargas

How to reduce stress in your life

StuffI received a lot of positive feedback on a previous post The Basics of GTD, so here is a slightly different overview of GTD and why it relieves stress.

It all starts with “stuff”…

We all have “stuff” in our heads and it shouldn’t be there. David Allan defines “stuff” as: “anything you have allowed into your psychological or physical world that doesn’t belong where it is, but for which you haven’t yet determined the desired outcome and the next action step.” (page 17 of Getting Things Done) and when we have stuff in our heads, it causes untold stress and anxiety.

Stuff has no “home” and, consequently, no place to go, so it just keeps rattling around in your head causing subconscious stress. David calls this stuff “open loops” and we are all too neurotic to stop thinking about it, and we certainly don’t have time to actually do everything we keep in our heads.

So we sprint from fire to fire, reacting to the “latest and loudest” praying we haven’t forgotten anything, sapped of our creativity and the flexibility to adapt our own schedule to the needs of our friends, family or ourselves. In this situation our “stuff” has taken over our brain like a virus, dragging down every process it touches and rendering us spent and virtually useless.

Here is an overview of how GTD addresses all the stuff in your head. The process is – Collect, Process, Organize, Review, and Do.

  1. Capture all the stuff in your life that isn’t in the right place. (open loops)
  2. Eliminate all the stuff that isn’t yours or you don’t need right now.
  3. Create a “Trusted System” that supports your working style and values.
  4. Put your stuff in your Trusted System to get it out of your head.
  5. Review your system periodically to ensure you have everything.
  6. Do your stuff in a way that honors your time, your energy, and the context of any given moment.
  7. Iterate and refactor in a continuous improvement cycle.

So, basically, you make your stuff into next actionable items that you can complete. Everything you keep has a clear reason for being in your life at any given moment—both now and well into the future. This gives you an amazing kind of confidence that nothing gets lost and you always understand what’s on/off your plate.

Also built-in to the system are an ongoing series of reviews, in which you periodically re-examine your now-organized stuff from various levels of granularity to make sure your vertical focus (individual projects and their tasks) is working in concert with your horizontal focus.

Really not that complicated and I guaranty it works. How do you manage your stuff?