Synthesizing GTD and Agile practices
May 28, 2013
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.
As 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