diff options
author | Lars Wirzenius <liw@liw.fi> | 2023-10-31 19:40:35 +0200 |
---|---|---|
committer | Lars Wirzenius <liw@liw.fi> | 2023-11-06 08:57:20 +0200 |
commit | bfb56ad43fb63f46dc247e6d5382fdeb1e4772cd (patch) | |
tree | c5c382638c1c8989bd4e06eca64fc27a5b296a02 /index.mdwn | |
parent | ca00525a42de0fc909becc68a677cd6a167a856d (diff) | |
download | gtdfh.liw.fi-bfb56ad43fb63f46dc247e6d5382fdeb1e4772cd.tar.gz |
rewrite the whole site
Signed-off-by: Lars Wirzenius <liw@liw.fi>
Sponsored-by: author
Diffstat (limited to 'index.mdwn')
-rw-r--r-- | index.mdwn | 621 |
1 files changed, 598 insertions, 23 deletions
@@ -1,23 +1,598 @@ -GTD For Hackers -=============== - -* [[!traillink Introduction]] -* [[!traillink quickie-overview text="Quickie overview of the GTD system"]] -* [[!traillink inboxes text="Inputs and inboxes"]] -* [[!traillink projects-next-actions text="Projects and next actions"]] -* [[!traillink doing text="Doing things"]] -* [[!traillink calendars text="Calendars and reminders"]] -* [[!traillink journalling - text="Journalling and other ways of keeping track of things that have - happened"]] -* [[!traillink files text="Keeping track of files"]] -* [[!traillink someday-maybe text="Stuff you maybe want to do someday"]] -* [[!traillink waiting-for text="Waiting for things to happen"]] -* [[!traillink daily-routine text="The daily routine"]] -* [[!traillink review text="The weekly review"]] -* [[!traillink read-and-review text="Read and review folders"]] -* [[!traillink automation text="Automation and checklists"]] -* [[!traillink getting-started text="Getting started"]] -* [[!traillink ungood text="Things that did not work for me"]] -* [[!traillink Conclusion]] -* [[!traillink References]] +[Bullet journal]: https://bulletjournal.com/ +[GTD]: https://en.wikipedia.org/wiki/Getting_Things_Done +[Inbox Zero]: https://en.wikipedia.org/wiki/Merlin_Mann#Writing +[Zettelkasten]: https://en.wikipedia.org/wiki/Zettelkasten +[ikiwiki]: http://ikiwiki.info/ + + +# Introduction + +Getting Things Done, or [GTD][], is a personal productivity system +originally developed by David Allen, and now maintained by the company +he founded. In 2001 Allen published a book, also called "Getting +Things Done", to describe the system, and it was an Internet +sensation, enough to be called a cult. + +This document is a description of my personal implementation of GTD, +based on the books by Allen, and tons of online discussions. If it +helps the reader, great, but I primarily write this so to clarify my +own thinking. + +The GTD system is one of many. Other well known ones include the +[Bullet journal][], [Inbox Zero][] ("GTD, but for email only"), and +[Zettelkasten][] (good for researchers). It doesn't matter what system +you use, or that you any system. The only thing that matters is that +you're happy. For me, GTD helps. + +I started using GTD in the summer of 2006, while I was working as an +independent consultant, and found it hard to keep the commitments I'd +made to others, and do all the things I needed to do to run my +business. I would sometimes wake up in the middle of the night in +panic, wondering if I'd paid this bill or done that thing a customer +had requested. I felt that I was juggling too many eggs, and that the +floor was getting messy. + +After doing some research online, I happened to find out about GTD. I +read more, including the first edition of the book. I hesitated a +little, it seemed like a lot of work, but I took the plunge and +started implementing it for my life. It has been worth it. + +To be honest, applying GTD to your life is indeed quite a bit of work. +Less than I feared, but it does require an effort to get started, and +to keep it up, but it has helped me get my life under control. I +haven't woken up in panic thinking I'd forgotten to do something +important any more. + +Will GTD make your life better? Maybe. It might not. You know yourself +and your life better than I do, and it's your decision to make. You +won't lose much if you try, though. + + +# On productivity + +Productivity is whatever you say it is. GTD is a personal system, +after all. You decide. + +For me, to be productive means that I feel I do all the things I need +to do to to feel happy, satisfied, and fulfilled, and either achieve +my personal and professional goals. That's very wishy-washy, but let +me break it down in concrete statements: + +* I have written down some personal values and goals. I feel I live + according to my values, and either reach my goals, or feel that I + make progress on reaching them. + - I am in a loving, caring, fulfilling, mutually supportive + relationship with my wife. + - I have a list of software projects that I develop and maintain as + a hobby. I implement new features, fix bugs, publish new releases, + etc. + - I do things that improve the world in my opinion. +* Professionally, I make a comfortable living, and my employer or + client is happy with what I do for them. + - I do work that I feel is ethical, worthwhile, and meaningful. + - I meet the goals agreed to with my employer or client. + - I learn new things and become better at what I do, professionally. + - I help others become better, too. + +That's my list. Yours might be different. You might not care about +productivity at work. You might measure everything using money. Your +decision. Whatever you decide is OK. + +To me, being productive is important because it helps me be happy. For +me, work is a big part of my life, and so "being productive at work" +is important to me. Again, you might be different, and that's OK. + +An important measure of being productive, for me, and being in control +of my life and commitments, is how easy it is for me to not do things, +and feel OK about that. Can I drop everything and go for a walk? Can I +go have lunch or dinner or watch a movie with my wife? I can do those +things when I know what I've committed to and what I need in the near +future. If I'm very tired during the day, I take a nap, because it +helps me be more awake later, but I sleep better if I worry less. + +I feel most productive when I can just do the things. In online +discussions, this is sometimes described as "cranking the widget". I +know what I need to do, and I know how to do it, and I merely need to +do it. It might be writing a code module, writing a section in an +outline for a document, or filling the dishwasher. + +I find that one of the things I get from GTD is the idea of separating +the planning from the doing. First I plan: "I need to write this +program, what does it need to do exactly? What's the next concrete +thing I can do to make that happen?" Later, when I'm ready to actually +start doing, I do the concrete thing, whatever it happens to be. By +separating the planning and the doing I can concentrate on one thing +at a time. I don't need to think about, or worry, about all the other +things I could be doing. This helps me concentrate, and if I can +concentrate on only the one thing at hand, I get it done faster, with +less total effort, and with fewer errors. + +If I feel like watching a movie, instead, I know what I need to get +done in the near future, and if there's nothing urgent, I can immerse +myself in the movie. That, too, is easier if I don't need to worry +about other things. + + +# A terse summary of GTD + +This is the shortest summary of GTD I have come up with: + +* Messages, notifications, communications, physical things, + interruptions, etc, that come to you, are either dealt with + immediately, if necessary, or go into one of a defined set of + inboxes. +* When you have time and desire, you process one or all items in one + or all inboxes. When you process an item, you remove it from the + inbox. +* Processing means you decide to do something about the item, discard + it, delegate it to someone else, or defer it until later. + * Do: whatever the item requires you to do, if it's quick, do it at + once. I limit this to things that take at most a couple of + minutes. + * Defer: make a note to do whatever needs doing, somewhere you will + check later. + * Delegate: ask someone or something else to do it. + * Discard: delete the email, recycle the paper, whatever is + appropriate to remove it from your life. +* Occasionally, possibly regularly, review your entire GTD system and + make sure everything is in good shape. This means processing + everything in all inboxes, checking on delegated things, and + checking your notes on deferred tasks. + +Of these, the review is probably the most important part. It's what +keeps the system together. I certainly am not diligent and disciplined +enough to get every detail right every time. Things fall through +cracks, and a review (I do it about weekly) helps me find things, and +also to patch up cracks that things fall into often. + +# GTD in more words + +In this chapter I describe the basics of the GTD system in enough +detail that if you want to implement it for yourself, you can start +doing that. + +The core elements of GTD are: + +* one or more inboxes +* several lists +* a calendar +* a filing system +* a waste basket, trash can, or recycling bin + +I won't go into detail on how to discard things, as I'm certain you +know about that already. From a GTD point of view, the only important +aspect is that you actually remove from your life things that you +don't need or want to store. + +The core lists in GTD are: + +* next actions +* active projects +* what you're waiting for to happen or for someone else to do +* what you may want to do some day, but not now + +You can implement the lists in whatever way you like. I use text files +in git. Actually they're markdown, so that [ikiwiki][] can render a +web site from them, but that's not actually important. You can use pen +and paper, a generic list management application, a GTD application +specifically, a ticketing system, a whiteboard. Whatever works for you +is fine. + +## Inboxes + +An inbox is where incoming things land. An email mailbox where new +mail arrives automatically is a prime example. You can also have a +physical box where you dump snail mail, or anything someone hands you, +or post-its you write to remember to do something. + +Not everything has to go into an inbox. Sometimes things are urgent, +or you have the time and energy to deal with them immediately, and you +can just deal with them as they arrive. If there's a fire in the +kitchen, you deal with that immediately. If someone asks you what time +it is, you answer at once. If you get offered a cup of tea, you either +drink it then, or refuse it. There's no point in a putting a cup of +tea in an inbox to be processed a few days later. + +I process items in an inbox several times a day (email), once a day +(snail mail), or when I do my GTD review (most things). I sometimes +process just one or two items, when that's all I have time for. + +In online discussions, some people are quite strict about inbox +processing. They may say that you have to always process everything in +an inbox, and you must do it every day. I have not found it necessary, +or useful, to be that strict. Whatever works for you is fine. + +I have a bunch of inboxes. + +* a markdown file called `inbox.mdwn` +* a note taking application on my phone +* a couple of email accounts +* several chat systems +* notifications on social media or phone apps +* several ticketing systems +* the desk in my home office (for snail mail) +* the couch in my home office (for clean laundry to fold and put away) + +The exact list is not important here, but I do need to make sure I +remember to check all of them. It's OK to have many inboxes, as +long as you know what they are. + +I treat ticketing systems as inboxes. I check all open tickets from +time to time, to see if there have been any changes, and I treat each +change as being in an inbox. This is, of course, easier for systems +that send me email, but it's workable for any ticketing system. + +Sometimes an open ticket not having changed is something I need to do +something about. That's usually obvious when I review the ticket, and +then I add the thing I need to do to `inbox.mdwn`, to be processed later. Or +I add a reference to the ticket to the inbox, if I need to think about +what to do. I capture the need to do something in my system. + +From a life management point of view, it's important to realize that +an inbox is not permission for others to tell you what to do. If it's +your employer, or your spouse, they may have that power, but in +general, anything that lands in your inbox is best treated as a +suggestion that you consider if something needs to be done. + +Even that can be too much. If you, say, have an open source project +with many users, they each separately feel like they have a right to +ask you do consider something. If that happens rarely, that's fine. If +you get many such requests a day, the cumulative load on you is +excessive. It's OK to filter what gets into your inbox, in whatever +way works for you. Maybe an email filter, or a trusted party. Your +time and your attention are yours, and you should decide how you +spend them. Arrange things so that you are in control. + +## Next actions + +When I've decided that I will do something, but can't do it at once, +because it takes too long, I add it to the list of next actions. Later, +when I'm actually doing things, I pick a item from the list, and do +that. + +For this to work well, I describe the action in sufficient detail that +I remember everything relevant, possibly days later. I find it helps +to write the next action for a future me who has just returned from a +short, but extremely exciting adventure, and needs a little help to +remember the mundane aspects of my life. I don't need to write an +essay, but I do include enough context to trigger my brain to remember +the rest. + +I also find it helps me do things if I write a sentence that starts +with a verb representing a concrete physical action, but also only +describes how to start doing, rather than describing a complete, +polished, perfect end result. Perfection is scary and de-motivating. + +Good examples: + +* Draft an outline for a rewrite of "Getting Things Done for Hackers". + - note "draft" rather than "write": a draft can be incomplete, and + may need further work +* Write a list of at least three ideas of birthday presents for my + wife. + - note how three is a small number, but it's enough to get me + started, and once I'm going, I can go on + - also note how this is about collecting ideas, not choosing a + present + +I find that an action needs to be possible to complete in one sitting. +Thus, "write a novel" is way too big, but "draft a list of five ideas +for names for characters in a novel" is fine. + +It's also necessary for me that a next action is ready to be +done. It can't depend on something else that needs to happen +first. I can't format a new hard drive until I've bought it, and I +can't buy it until I've researched current hard drive reliability +statistics. The first action is to find those statistics. + +I use the following check list to make sure my next actions are well +formed: + + * a _physical_ action ("write", not "think about") + * thinking is part of planning! + * but "draft outline of a plan for..." is an action + * it's clear what I need to do (which widget to crank) + * duration at most 15 minutes, preferably, or at least less than 60, + definitely + * I'm committed to doing it + * does not depend on anything, can be done immediately + * it's clear when it's done + * it's clear which projects the action belongs to, if any + +A list of next actions can be as short or long as you like. I find it +works best for me if it's long enough to have at least one item for +each active project, but short enough that it's easy to pick something +to do. By the time I need to use regexps to search for something, I've +gone overboard. + +In practice, less than one hundred items works for me, but less than +twenty is better. A list longer than about ten is long enough that I tend +to want break it into sub-lists, to make it easier to navigate. In GTD +parlance this means assigning next actions into contexts. The original +David Allen GTD book has contexts such as "at phone" and "at +computer", which make no sense to me. That was a simpler time. + +You can use whatever contexts you like, and you can vary them as +needed. Some of the contexts I use include "working", "hobby time", +"out and about, running errands", "home alone", and "zombie". The +"home alone" context is for doing things to our home network, or home +servers, when my wife's work isn't disturbed by me, say, reinstalling +the home router. The zombie context is for when I don't need to be +particularly awake or alert or able to think clearly, but need to do +things like taking out the trash, doing dishes or laundry, or checking +my spam folder for legitimate mails. + +One extra context I have is "started" for things that take a long +time. As an example, "run the automated test suite 1000 times in a +row" might take all day, but not require my attention except to +occasionally check the test suite is still running. + + +## Projects + +In GTD, a project is anything that requires more than one action to +achieve, but is very likely possible to finish in less than 12 months. +This is a simple, clear definition, and usually meshes well with other +contexts. + +I find it useful to describe a project goal by starting it with "when +this is done" and describing the world after the project has ended. I +have learned, from others and from my own experience, that this aligns +my brain to think about the project end goal, rather than the process +of getting there. + +I further find it useful to describe acceptance criteria for deciding +that the project is finished. This is the difference between "stay at +my mother-in-law's overnight" and "drive north for six hours, then +take a left, and knock on the door". By concentrating on "what", it's +easier to re-think the "how" when something doesn't go as planned. + +Example: + +> _When this is done:_ I have written a novel, and at least three of +> my close friends have read it and not suggested character or plot +> changes. + +When planning what to actually do to advance a project, to choose next +actions, I find it useful to think about the next few steps only. +These are usually fairly obvious, but that depends on the project. A +project to buy a new hard drive is easy; a project to construct a new +Zeppelin is not. The harder a project is, the more things it contains +that you've never done before, the more careful planning of each +action, and the route to the end, needs to be. + +For projects requiring specialist knowledge, consult specialists. + +Also remember that when you set a goal for yourself, you get to adjust +it as you like along the way. Maybe a goal to write a novel turns into +a producing a play. That's allowed. + +## Waiting for + +I add an item to my "waiting for" list when I ask someone else to do +something. I also add to the list when I'm expecting something to happen. +I have two "waiting for" lists: one is a markdown file, the other is +an email folder. When I order something online, to be delivered, I move +the order confirmation email in my "waiting for" folder. This makes it +easy to check that it actually arrives. + +Effectively delegating tasks to others requires keeping track of what, +to whom, and checking that they do them. Even the most competent +people can misunderstand what is requested, or make mistakes, take +longer than intended, fall ill, or suffer from the loss of a loved +one. Checking on progress helps everyone collaborate better: if the +task turns out to be too big, help can be recruited; if someone is +ill, a substitute can be arranged. + +This turns out to be particularly effective when you delegate upward +in a hierarchy, by asking your manager to do something. Managers, too, +appreciate help in remembering their commitments, as long as it's done +politely. + +## Some day, maybe + +I have many things I may want to do, but not right now. So many +things. For example, I might want to learn French some day, or write a +novel, or visit +[Guédelon](https://en.wikipedia.org/wiki/Gu%C3%A9delon_Castle). Some +of these are so desirable to me that I'm unlikely to ever forget, but +for most things, it helps to write them in their own list, the +"someday/maybe" list. + +The "someday/maybe" list can be just a wish list. It can also contain +things others have asked you to do, when you have time. It can contain +things that someone has hinted they'd really like to get as a gift. +Mine also has ideas for programs I might want to write, or features to +add to existing programs. + +This list runs the risk of growing too large. At its largest mine grew +to over 7000 items. (grep is useful.) That's too large to be useful. +("Learn French" was there three times.) I find it helpful to trim it +down if it grows too large. Trimming is helpful not just to make it +easier to find anything, or to get rid of duplicates, but also because +the longer the list is, the heavier a psychological weight it is. +After all, learning every language and visiting every castle in France +is quite a long list, and not likely to ever shorten much. It might be +freeing to have just one language and one castle. + + +## Calendar + +Things that should happen on a particular day, or at a particular time +on that day, go into a calendar. Calendars are a magnificent invention +to help ensure you don't commit to doing two things at the same time. +(Calendar software is a manifestation of an elder evil who sucks your +soul dry.) + +You can use calendar software, or a paper calendar, a handwritten +list, or whatever works for you. + +I used to live a very simple life, with few time based commitments. I +kept everything in my head, except birthdays. This ended when I +started having meetings or other interactions at work. I cannot +recommend ending up in a situation where you have to explain that you +forgot a meeting, or remembered its time wrong. + +## Filing system + +Inevitably, I need to keep, and retrieve, documents for a long time: +receipts, invoices, contracts, pay slips, manuals, etc. Some of these +have an expiry date, but it might be far in the future. Anything tax +related I need to keep for about a decade. A manual I need only as +long as I have the hardware. + +Filing systems are traditionally an area where many geeks who start +using GTD go overboard. Hanging folders? Manila folders? What size? +Filing cabinets? Archival document boxes? Label makers? Alphabetical +or date order, or some classification system? The possibilities are +endless. + +I keep my paper filing system simple. I have a few archival boxes that +I label with the kind of document they contain. I use a label maker, +because my handwriting is illegible. For digital files, I have a +folder `Archive2` where each file is named with an ISO 8601 date, and +some keywords to hint at the contents. (It's `Archive2`, because the +original, `Archive`, turned out to be hard to organize. It had an +intricate sub-folder structure.) + +Once again, whatever works for you is fine. Start simple, and when your +GTD system is working otherwise, if you feel like it, spend the +necessary effort to implement the perfect filing system. Make Miss +Lemon proud. + +## Pending and support + +It's awkward and tiresome to fetch documents from the main filing +system, and return them, for things you need often because they're +relevant to your active projects. I have a separate stash for such +documents, which I call "pending and support". I have an email folder +with that name, and I use my work desk surface for physical documents, +and my home directory for digital files. It's messy, but it works for +me. + +## The review + +For me, clearly the most important, the most energizing, the most +meta-productive part of using GTD is the review. I try do one every +week, but that varies. If I skip the review for a month I get angst, +and have difficulty concentrating. My brain loses all confidence that +I can support it by keeping track of things externally and tries to +remember everything without help. + +The purpose of the review is to make sure I haven't forgotten to +process any inbox items, that I've made progress on all projects, and +that I have a clear set of things I can do in the near future. In +short, that everything is in order, and nothing is neglected. The +review is also a time of contemplation, thinking, planning, and +envisioning a bright future. + +Doing a review tends to calm my subconscious, and make me feel +energetic. If I do my review in the morning, I am often in my most +productive mode the rest of that day. This is why I avoid doing it on, +say, a Friday evening, as the temporary energy boost would be lost while I +sleep. + +My review sometimes take hours, but I tend to take breaks to have tea +on the balcony with my wife, and other important things. If I'm +feeling it is urgent, I can usually do a reasonably thorough review in a +couple of hours if it's not been more than a couple of weeks since the +previous one. + +My checklist for conducting a GTD review is ("iteration" is the +interval between reviews): + + * Write a journal entry summarising the past iteration. + * Review, and dump any thoughts into an inbox: + - journal entries for the past iteration + - calendar for the past iteration + - calendar for the next month + - waiting-for: + - in GTD files + - personal email + - work email + - pending-and-support: + - personal email + - work email + - review someday/maybe + - empty head of things: any pressing thoughts or worries that + haven't yet been captured into the GTD system + * Process all inboxes: do, delete, delegate, defer, discard. + * Review projects. Make sure each has at least one next action. + * Review next actions list. Are they all of good quality? + * Re-process all inboxes: do, delete, delegate, defer, discard. + - new things keep arriving + +This isn't the perfect review process, but it works well enough for +me. + + +# Higher level GTD + +The full GTD system described by David Allen covers life management at +higher levels than the mundane "do these things to achieve these +goals". I'm not describing the higher levels in detail, but in short: + +* what's your purpose in life? what are your principles? + - why do you exist? + - who are you? +* what is your vision for the medium to long term future? + - what does success look like for you, in the long term? +* what areas of your life are you particularly focused on? + - what parts of your life do you need to maintain, or improve, or + pay attention to? +* what are you goals for the next year or two? + - these generate projects, which are shorter + +These make sense to review annually. However, you should probably not +worry about these until your everyday is under control. + +The second edition of Allen's GTD book describes these better than the +first one. + +# Advice + +Here I give some advice about implementing a GTD system. + +* Don't use software, or write your own software, as part of your GTD + implementation, until after you've been doing it manually for a + while, and have a deep understanding how you want your system to + work. + - I did not write two outline applications, or a ticketing system, + or a thing to nag me about things. You can't prove I did. + - software is usually inflexible, and a GTD system will have corner + cases, edge cases, and special cases that require flexibility + - start with pen and paper + - after various other software approaches I have ended up with + markdown files in git, edited with Emacs; this seems to be + convenient and low-tech for me + - git helps me keep my GTD system in sync between work and personal + laptops, and helps guard against catastrophic editing mistakes +* It can, however, be helpful to automate aspects of your life or GTD + system. Having recurring calendar entries is helpful. Having a + monitoring system to remind you about inboxes you've not touched may + be overkill. +* Use checklists for things you need to remember, or do repeatedly, or + that you may need to do in a hurry under great stress. +* Consider building a [personal knowledge + base](https://en.wikipedia.org/wiki/Personal_knowledge_base), or at + least keep a journal. +* You can start big, or small. You can start applying GTD to only part + of you life, and expand that as you get comfortable with the system. + Or you can pile all your incomplete stuff onto a desk and let GTD + take over your life. + + +Finally, productivity hacking your life, and improving your GTD +system, is a fun hobby. It does not seem to be a way to be +significantly more productive, and it can prevent you from having tea +on the balcony. I recommend only hacking your life for increased +productivity when it improves your life. + +Below is an image of my first inbox, when I first started implementing +a GTD system for myself. + +![My first inbox: my kitchen table](first-inbox.jpg)\ + +# Acknowledgments {.unnumbered} + +Thank you to Greg Grossmeier and Heiko Schäfer for feedback on this document. |