How to finish a project

Finishing a project is not hard.

Finishing might be really boring, but it’s in no way difficult.

Here’s how to finish those projects:

  1. Do all the work.
  2. Publish what you did, like write a blog post or something.
  3. Promote it everywhere sensible.

I bet you have a project which wants only three or four hours to call done. Why not just do it?

Skimmers versus divers

I’m a much better diver than skimmer.

Divers do better going deeper into topics, finding productivity tied to a certain level of mastery.

Skimmers are more productive finding the fastest path across the pond, perhaps without even getting wet.

The difficulty in a team comes when divers take umbrage at the skimmer’s admitted lack of understanding, and the skimmer’s demanding that the divers “just get it done.”

There are times and places for both ethics.

And the same person may skim one topic to go deep into another. Or vice versa.

The danger from skimmers comes from being unwilling to really master their craft.

The danger to divers comes from being perceived as having breadth to match depth. That is, mastering one subsection of a topic doesn’t confer master of the whole topic, and that’s confusing to a lot of people. Especially skimmers.

The good, the bad and the ugly of Flow State

Flow state is something we’re all admonished to achieve as much as possible, as long as possible. Flow state is where the “real work” gets done.

Well, maybe.

The Good: When flow state produces desirable end results. For example, forward motion along a correct path to mastery.

The Bad: Losing track of the hours when immersed in flow… when working on something totally and completely irrelevant.

The Ugly: Without discussion of when flow state is important and when it’s a betrayal, people put the means before the ends.

It’s fine to take the slow path to mastery, enjoying the process – flow – along the way… as long as it’s the path to the right mastery.

Log your work: Using Trac to untangle unclear tasks

There’s an interesting hole in the task management and productivity literature. The situation is when you know more or less what needs to be done, but not exactly how to do it, and from where you’re starting, it’s not clear in what order and how long each particular task will be.

And the whole thing needs to be billed.

You have two choices. The first is do what everyone else does and just get ‘er done. The second is to write down everything you do – as you go – and sort it out later.

If you know you’re going to be doing the task in the future, or that you’re going to outsource it or pass it downstream, method two will pay you back.

Edgewall’s Trac is a pretty good tool for untangling a messy project. For example, I’m prepping the Blog Maintenance Challenge for pre-launch, and I have an extensive number of small tasks to accomplish. The normal thing to do is write out a task list up front, then check everything off. In this case, I’m not sure exactly what needs to be done at a task-based level.

Task-based productivity

Task-based productivity is the notion that at the scale where things actually get done, productivity is linear. The vast majority of people can do only thing at a time, and a task is one of those “things” that get done. Typically, a task should be something taking between 15 minutes to perhaps an hour and a half. If it takes longer than 90 minutes, consider breaking it into two tasks.

As it turns out, implementing what’s described in this blog post is almost multi-tasking.

It is doing two separate tasks in the same billing period, but these tasks are closely related by context.

Given you treat your task lists as intellectual property assets, when you’re faced with a messy set of “things to do,” creating a set of tasks will pay you back the second time you do them.

Untangling

It’s pretty simple:

  1. Open your task management system and create a ticket or issue or whatever you call it. In Trac, it’s a new “issue.”
  2. Fill out the ticket as best you can, including as many steps as possible.
  3. Now start the task. At each step, update your ticket (or issue, etc.)
  4. When you’re done, mark down the time it should take to complete the task. This may not be the same as billable time, but that’s a different blog post.
  5. Test, if applicable.

Now you have a linear, stepwise procedure for duplicating this activity in the future. You could even make a checklist out of it. Once you have the whole project written out in steps, you’re in a better position to bid for future work. You know, add up all the time for the steps, add in the overhead, multiply by hourly rate, $profit$!

Summary, and useful links

For what it’s worth, this blog post was written while untangling a set of tasks for the Blog Maintenance Challenge. Namely, developing a fast procedure for getting into and out of Paypal for increasing prices (the Challenge starts off at low price, increase price as material is added).

Is that triple tasking?

If you found this useful, check these out:

Are you logging your work? If not, why not? If so, what’s the biggest benefit you have found?

Tasking into hour long chunks

Hanging out on Twitter this morning, @jesseblayne made a remark about getting started. I replied with a more or less a blog post’s worth of info packed into 140 characters. This is that blog post.

First, some benefits:

  1. Writing makes you think, thinking helps you learn.
  2. Having a list of tasks you know took one hour is incredibly valuable, you know what your time is worth.
  3. Saves time over the long term. You do your thinking ahead of time allowing yourself to rapidly complete tasks.

I have a system that works really well for me, and could work really well for you. It requires a bit of work, but it’s not hard. And it requires a timer. The work is broken down into hour chunks, and this is non-negotiable. The whole system depends on being able to walk away from a task in an hour.

The system is multi-staged. There is a natural progression from forming an idea to executing it.

Let’s get started.

When I have an idea for something, or I need to get things done, here’s the typical sequence:

  1. I write, draw or jot down lists on scrap paper. I have a bunch of B5 paper left over from a previous project, or I’ll fold letter size paper in half, 5 1/2 by 8 1/2. Folding A4 in half is B5 is I recall correctly.
  2. These notes are then (or later) entered into a web application task list. I use the Trac system, same as WordPress (just coincidence, Trac is a good system.)
  3. The Trac tasks are triaged and refactored into ~1 hr chunks. For example, I’m working on a new chapter for Blog Post Engineering (Repurposing). This was initially entered into Trac as a single task, but that’s too long. I need to spend about 10 minutes and break out all the section of that chapter as separate tasks of about 45 minutes.
  4. Execute! Once the tasks are chunked down into small pieces, it’s easy to select something interesting to work on.

Write it down

There is something magical about writing things down. It makes us think at the same time as taking action. Synergy. There’s probably weird neurological changes happening, neurons firing, synapses connecting. Or whatever.

All I know is that when I write it down, I learn it better.

I suspect most bloggers are the same (or they wouldn’t be bloggers).

Enter into Trac tasking

I use the Trac system.

You can use anything you want. Basecamp is great system if you’re collaborating; I’m using it for a couple of projects.

The key thing is that following up your writing with a little data entry further locks the task into your mind. It makes you think about what you’re doing. In other words, the data entry itself isn’t all that important, it’s the thinking that’s most important, and entering the task into your todo list (or whatever) makes you think.

Triage and refactor into 1 hour chunks

This is what an hour’s work looks like to me:

  1. Review previous hour’s tasks, check for pointers to next tasks
  2. Review Trac tasking
  3. Do the work. This should take between 30 to 45 minutes.
  4. Document the work, triage and refactor as necessary. Documentation is best accomplished as you work. It makes it a lot easier to keep track of what got done, and you capture really important details along the way.
  5. Task out the next hour. Once your finished with the actual work, you should have 2 or 3 little tasks that get you started into the next hour of work. Write these at the end of your hour summary for review the start of the next hour.

Execute!

I cannot explain in words how phenomenally productive this system has been for me. Once the tasking is down at the hour level, I don’t have to think. I know I can pretty much tackle any task and an hour later, I’m done with it. Or if not done, I’ve made enough progress to feel really good about it.

I suspect it’s not really the exact system that matters. The important part is I’ve found a system that fits how I work, my attention span, allows me to balance the fun stuff (graphics and coding) with maintenance and testing.

Handling open-ended tasks

Sometimes, a task goes into the system that turns out to be a minor career.

For example, about a week ago, I needed to run rake db:migrate to synch up my data model with the MySQL database for a little Ruby on Rails project.

4 hours later, this has turned into figuring out which of 4 possible combinations of MySQL are installed on the Macbook. Not fun. This task still isn’t factored properly. When it is, there will be a blog post somewhere on how to figure out which of 4 MySQL installations one needs for which purpose.

Creating versus performing a process

I’ve had several screencast tasks hanging around in my todo list.

So I just spent an hour and scripted 3 of them. They will be much easier to make now that I know what I want to say. Each are written “out by the numbers.”

Sam Carpenter of CentraTel pounds repeatedly on the notion of linearizing your systems. This is a great notion. It works because it’s true, processes proceed one step at a time.

Which leads to the following observation: there is a cognitive difference between creating a process and following a process.

This is a no-brainer, really.

What’s more important is how these activities are monetized.

  1. Creating processes is a high dollar skill. It takes time, effort, and experience to create working processes.
  2. Following a procedure takes much less time, effort and experience.

By “monetizing,” I mean how these activities get invoiced.

Figuring stuff out should be invoiced at a high rate, provided the activity is novel (that is, you can’t outsource it). In other words, figuring out what to build is high dollar.

Actually building it is low dollar.

Whether the high dollar person needs to know all the details of the low dollar activity is a different discussion, and there are strong cases to be made on either. Ultimately, it depends on the nature of the work involved, and the expectations of who is doing the work and who is paying for it.

Think about your current blocker, that task you need to get done, but for some reason it’s not happening. Can you take a lateral approach?

Write down the very first thing that you need to do, even if it’s as simple as opening your web browser to log in to your project management system.

What’s your second step?

Morning Due Diligence — Making that first cup of coffee count!

Mmmm....

Mmmm....

What do you do in the morning? Surf the World Wide Web? Me too! Such a waste of time… or is it?

Since you’re surfing it anyway, surf it with a purpose instead of wasting time looking for Paris Hilton’s latest antics (we miss you Paris!). Use that time to check up on your personal and business status. Check bank account balances and sales figures. If you’re a software developer, do a pass through yesterday and last night’s commits.

A really cool way to make this easy is to set up Firefox (or any other tabbed browser) to automatically open all the web pages necessary for due diligence through a single bookmark, or even better, make the morning due diligence your home page.

Here are the pages that my “Home” page launches in Firefox:

[Read more...]

OpenOffice vs MS Word: Which is better?

I’ve purchased every edition of MS Office from before Office 95 through Office 2003.

I’ve rarely used any of them. They have always been “required” purchases because everyone else uses them. This isn’t “peer pressure” because I don’t really care how other people format documents. Well, maybe it is peer pressure… of the most intense sort: use Word or go home.

What I usually use is LaTeX.

But LaTeX isn’t really that good for laying out – fast – publications such as ebooks and the like.

I take that back. LaTeX is superb at ALL typesetting tasks… but learning a new layout style in LaTeX is time consuming, and personally, I need to get with the WYSIWYG world because it’s what everyone else is using. Very difficult to outsource document preparation in LaTeX, not that many people do it. I’m sure I would find it much easier to learn WYSIWYG document preparation is I liked. But I don’t. I loathe it. It’s infuriating.

In any case, OpenOffice fills the breach.

The problem is that OpenOffice is painfully slow.

It’s so slow that the fanboys blame the users: “You must have a virus on your computer.”

No. It’s like this: OpenOffice is painfully slow.

What these evangelists don’t get: when OpenOffice is the most painfully slow application on my computer, that’s called a “clue.” The clue is… it’s not my computer that’s slow.

Why am I using it?

Several reasons:

  1. Document format is open. While I don’t have any desire to muck around in OpenOffice’s XML, it’s nice to know I could if I needed to. In fact, if the file got “corrupted” somehow, I could fix the XML easily using a validator such as tidy. I’m sure I have Word files hanging around somewhere that won’t ever open again.
  2. Image handling is much nicer than MS Word. Word sucks in your images, turns them into bitmaps, and you’re stuck. It really sucks. There may be a way in Word 2003 to get around this problem, but if there is, it’s complicated and obscure enough to NOT be useful. OpenOffice reads your images from disk. This means that if you want to use dummy images to lay out a document, you can easily swap images later, OpenOffice won’t mind. Won’t even know.
  3. It’s free. Costs no money. This is probably the least important reason for me. If Word would handle images how I want instead of locking me into how Word wants images, I’d probably switch. If the Word file format was open (open for real), I’d switch immediately. The problem here is that Microsoft’s insistence of “openness” doesn’t equal usefully open. Just examine Word’s HTML output if you want an example. It’s horrible.

Why I loathe OpenOffice:

  1. It’s slow. Really, it is. I’m working on a 70 page document right now, and it’s just not responsive at all. Sure, it would help if I weren’t teaching myself how to do visual layout. All these formatting experiments resulting in “Not Responding,” but is that really the way to inspire users?

    Let me put it another way… I’ve had time to write this entire blog post interstitially, while waiting on OpenOffice to do whatever it does. As I write these very words, I’m trying to scroll through the document… and it’s bogged down, “Not Responding.” That’s no good. And yes, I’m using the Navigator widget too. I really am:

    Unacceptable.

    Unacceptable.

For final lay out, I’ll have to switch everything to Word and tweak it all again.

Other options in this space don’t matter. Word is what’s used, and that’s that. Go try and outsource document preparation. Professionals want your work in Word. Not in OpenOffice. Not in Google Docs. Word.

I can tell you partly why this is, too.

When you outsource to Eastern Europe, China, India and like places, you’re going to working with people who – with almost 100% certainty – don’t pay license fees for software. They use ripped copies of Office, InDesign, Photoshop, everything we pay Big $$$ in the West. I know this from experience.

This has been my experience to date. Tell me I’m wrong, I’ll link to you, maybe even send you some business if you’ll work with me in OpenOffice and Scribus.

Otherwise, I may just head off to Office Depot and get the latest copy of MS Office. I hate to have to do that, but I need to get some work done, not spend my time waiting. My time is worth money. A few hours wasted time covers the cost of MS Office, hands down.

OpenOffice just segfaulted on me. I can’t recall the last time I had ANY program segfault.

The upshot:

  • OpenOffice handles things “The Right Way,” but it’s too slow to be used for serious work on long documents.
  • MS Word locks you into all kinds of bizarre structure and behavior, but it’s very fast in comparison to OpenOffice.

Parting shot: These results are for me, on my computer. Your results may be different, for you, on your computer. But I’m not you and I’m not using your computer.

What To Do When You Have Too Much To Do

I have too much to do.

My usual recourse (another cup of coffee) isn’t working.

One thing I could do is write out a list of everything on your mind, the sort it out using Covey’s or Blanchard’s methods. Eben Pagan recommends this technique as part of his Wake Up Productive info course on productivity. He uses a different sorting arrangement than Covey or Blanchard though.

But I’ve already done that. My Todo list is tyrannizing me!

By the way, it’s not that productivity tools DON’T work, it’s that people don’t use them. Productivity tools work great when you actually use them. Here’s a hint: if you postpone using a productivity tool until you’re too tired to think, it’s not going to work.

You have to use productivity tools when you’re fresh and well-rested…

…then you will have the vision and energy to follow through when you’re nearly spent… and can barely see the keyboard on your computer because you didn’t notice it was getting dark outside and you haven’t yet turned on the lights.

When you’re at the end of your rope, that’s a hint to go do something else.

One technique I use is to maintain emotional context while dissipating emotional tension and stress by doing something completely unrelated, which doesn’t require using the same part of my mind.

Shift your focus to dissipate stress

For example, if I’m working through a sticky programming problem, I might take a break and do some of the following. While these can be considered “wasting time” in some contexts, it’s important to understand that I don’t like doing these things either! I do them because they are chores that need doing as well, but won’t burden my mind.

  • Upload recent pictures to flickr.com, this gets them backed up and off my laptop. I always have tons of pictures laying around. I’m weeks behind in my uploads. It’s a total chore!
  • Take the next step in setting up a private Trac system so I can learn to use it easier in the future. This may result in a blog post along the “tutorial” line. The Trac documentation is fairly involved, but it’s hard to find simple information describing how to do simple things.
  • Set up a git-based project. Git is becoming the tool of choice for collaborative development, I need to get with the program!

Sometimes, you just have to get away from computers completely.

Spend more time in meatspace

In my case, I’m to take advantage of of the warm, sunny weather and finish a surfboard repair for my friend Walter. I’ll have my trusty paper notebook by my side to jot down ideas as they come to me.

Here’s more things that mostly don’t involve computers:

  • Fold laundry. Seriously, it’s a chore, it needs to be done, and about anything else is more fun. Almost guaranteed to get your idea machine running again.
  • Clean the fridge (no, really, I do). Currently being a bachelor means I enjoy the luxury of living how I like, but I have to pay the consequences as well.
  • Stay in motion. Brad Pitt: Be the shark, always be moving. Do something physical to free up your energy.
  • Hot tar roofers starting at 7 am are a hint to either take the day off, leave for parts quieter, or just don’t attempt to accomplish anything overly involved.

But how well do all these distractions work for focusing your mind? Sounds like an oxymoron… use distraction to increase focus… I smell a future blog post!

Results from experience

All of these techniques above have worked for me repeatedly, and they may work for you. I’m sure I’ll be able to add to this list in the future.

What are your special tricks? Let us know below.

How Yoga Improves Productivity While Using Computers

Focus.  Stillness.  Both learnable skills.

Focus. Stillness. Both learnable skills.

I noticed something this morning as I was waiting for OpenOffice to stop “Not Responding.”

Instead of checking email, RSS, or whatever else I do for distraction when some program on my computer (or the network) chokes, I simply waited.

Yep.

Just waited quietly for OpenOffice to do whatever it needed to do.

Then got on about my business.

Don’t think waiting didn’t annoy me. It did. I wants what I wants, and I wants it now. And I have a super-low tolerance for ill-behaved, kludgy or slow software.

But since I started doing bikram yoga, these bothersome annoyances distract me less and less. I’m able to wait attentively. And that feels good.

Other ways to beat distraction

If sitting and quietly waiting is too difficult for you, try doing something else. Something that won’t break your attention away from your task.

For example, if you always keep paper and pencil handy, you can jot down little throwaway notes to yourself. You don’t have to look at these notes again, but act of writing may serve to lock something in your brain that you will act on later. When I go back through tasks lists, I usually find 1/3 of the tasks just “got done” somehow, without any reference to the task list.

If you have a parallel task that could use some attention, working on that while you’re waiting is an effective use of time. By parallel task, I mean a task that is within the same logical (or emotional) context of the task you’re waiting on. Multi-tasking isn’t difficult, provided you remain in context. If you would like to know more about effective multi-tasking, or about the problem of context-switching, leave a comment.

I’ve written on software distraction before. Compiling is probably the worst distraction. There’s even a category here on There Is NO Box on “stuff-to-do-while-compiling.” But such an article is for later… (hint: write documentation/blog post, or test code).

Why waiting works

It turns out that waiting is more efficient and less distracting… than finding something else to do… like reading email. Once your attention is broken, it can be very difficult to reacquire it! So don’t break it.

Obviously, if something is really messed up, you will have to stop what you’re doing and handle it. But when it’s just the usual… try NOT distracting yourself for a change! You will get more done.

I’m not advocating you sign up right now for some sort of yoga class. I am suggesting that if you are easily distracted, try waiting it out next time. You might just get more done in the long term.

What’s your technique?

How do you handle distraction when dealing with buggy software, slow networks and obsolete computers? Do you practice a yoga-like stillness? Or wander off in search of Instant Gratification? Or try hard not to hurl the machine out the window. By the way, I once knew a man who did hurl his laptop. It was a Mac too. It turned out to be a big pain in his butt in the end.