Tech Life Entropy Always Wins

Trickle Theory

Buried.

Back at the start-up, we were shifting gears. After six months of talking about shipping a product, we needed to ship a product and nothing gets everyone’s attention like a deadline. The good news was that QA had been doing its job and there was a pile of work in our bug database. The bad news was that no one had looked at the database in months.

We had a Rent-a-VP at the time, and as temporary executives go, he was sharp. He quickly deduced our goal — “Ship a Quality Beta” — but he also quickly discerned that we had no idea about the quality of the product because of our pile of untriaged bugs.

He called a meeting with me, the QA manager, and the tech support manager. His advice: “Triage every single bug in this fashion and tell me how many bugs we’ve got to fix in order to ship this Beta.” And then he left.

Every single bug. 537 bugs. You gotta read the bug, possibly reproduce it, and then make an educated team decision. Let’s assume an average of five minutes per and you’re talking about… crap… 45 hours of bug triage. It’s an impossible task. I’ve got features to fix, people to manage, and I haven’t seen the sun on a Saturday in two weeks.

Let’s take a brief segue and talk about the huge value that exists in a bug database. In just about every company I’ve worked at, the only source of measurable truth regarding the product is the bug database. Marketing documents get stale. Test plans become decrepit. Test case databases slowly mutate into the unusable personal to do list of QA. The bug database is the only source of data regarding your product.

I know this. I know that once I’ve effectively scrubbed the bug database, I’ve got the single most informed opinion regarding the product.

But.

537 unscrubbed bugs? 40+ hours of bug drudgery?

Please. I’ve got a product to ship.

My normal approach when faced with an impossible task is analysis because analysis gives you data, which in turn allows you to make a confident decision. So, I do what I did above: carefully estimate how long it will take to complete… 5 minutes x 537 = impossible. This fair estimate freezes me with fear. How in the world am I going to get my other five jobs done whilst scrubbing 40 hours of bugs? Once I’m good and lost in that fear, the impossible task, I’m no longer thinking abut getting the task done, I’m thinking about the fear.

My advice is: START.

“But Rands… I’ve got three hundred tests to run and one day to…”

Stop. Go run one test. Now.

“Wait, wait, wait. Rands. Listen. They need this spec tomorrow @ 9am…”

Shush. Quiet. Go write. Just a paragraph. Now.

Welcome to Trickle Theory.

Our Villain

My traditional first move when managing impossible tasks is to put the task on a to-do list.

“There! It’s on the list. AaAaaaaaah… didn’t that feel good? It’s on the to-do list, which must mean it will be done at some point, right?” Wrong. Putting the task on the to-do list does one thing: it avoids The Critic.

Every story needs a villain and in this piece our villain is The Critic. This is your internal voice which does careful and critical analysis of your life and he’s gained a powerful place in your head because he’s saved your butt more than once.

He’s the one who told you that offer from the start-up smelled too good to be true. You remember that company, right? The one that simply vanished three months after you declined that stunning offer letter. It was The Critic who said, “How in the world can they afford to give anyone this type of offer when I don’t even understand their business model?”

The Critic was the one who calmed you inner nerd and convinced you to not buy HDTV three years ago and he told you not to trust that fast talking engineering manager who emphatically guaranteed his team would be done on schedule. The Critic said, “People who talk fast are moving quickly to cover up the gaps in their knowledge.”

The Critic was right. The Critic gained credibility, but for this piece, he’s still the villain.

I know it feels great to get that impossible task on the to-do list. I know it feels like you actually did something, but what you’ve done is avoid conflict. You know that if you start considering the impossible task, The Critic is going to chime in with his booming voice of practicality, “RANDS, what are you THINKING? NO ONE ADDS FEATURES TWO WEEKS BEFORE A SHIP DATE!”

“Ok, alright, you’re right, but the boss wants it and when the boss gets something in his head it takes a lot of work to blah blah blah…” Now, you’re justifying, you’re worrying, and you’re arguing with The Critic when what you should be doing is starting.

Nothing Happens Until You Start

Let’s first break down impossibleness. For the sake of this article, there are two types of impossible tasks. First, there are impossibly dull tasks. This is work which requires no mental effort, but is vast in size. Bug scrubbing is a great example of this. At the other end of the spectrum are impossibly hard tasks. These are tasks like, “Hey Rands, we need a new product by Christmas. Yes, I know it’s October. Ready. Go!”

Oddly, attacking both boring and hard tasks involve the same mental kung-fu where your first move is starting.

Such silly, trivial advice… start. Still, take a moment and examine your mental to-do list or just look at your written one. How many terribly important tasks have been there more than a month? More than a year? Embarrassing, huh? It’s not that they’re not important; it’s just that you didn’t begin and you didn’t begin because the moment you think about starting, The Critic weighs in, “How will even start? You’ll never finish! You don’ t even know where to start.”

Begin. Go read the first bug. Don’t think about how many are left. Go to the next one and watch what happens. In just a few minutes, you’ll have made something resembling progress. Two more bugs and it’ll start to feel like momentum. Progress + momentum = confidence. The moment you see yourself tackle the smallest part of the impossible task, the quieter The Critic becomes because you’re slowly proving him wrong.

Iterate

The second piece of advice is simpler than the first, which is hard to imagine. Iterate. Once you’ve kicked yourself out of stop, iterate becomes a little easier, but if you’re truly tackling an impossible task, The Critic simply isn’t going to shut up.

“Wow, you’ve closed five bugs… Only 532 more to go, sport!”

Iteration and repetition aren’t going to silence The Critic. Progress will. A beautiful thing happens when you point your brain at an impossible task. Once you’ve begun and start chewing on whatever the task is, you’ll start to see inefficiencies and begin to fine-tune your process. This is how an engineer who tells you, “It’s going to take two weeks to write that code” comes back after the weekend and says, “It’s done”. He honestly believed that it was a two week task, but as soon as he started chewing on the problem, he realized he’d written similar code a year ago, which, with a half a Saturday of tweaking, provided the same functionality.

The same applies to small, duller impossible tasks. Above where I estimated it’d take 5 minutes of triage for each bug, I didn’t take into consideration that after about 50 bugs, I was going to be really good at scrubbing bugs. I’d start to identify people who generally wrote good bugs versus those who didn’t have a clue. I’d learn the problematic areas of the product and learn where I could make snap judgments regarding bug viability. What was a five-minute triage window for the first 50 bugs was one minute for the next 50 and that turned into an average of 15 seconds per bug for the second hundred when I really got rolling.

This means that my original estimate of needing 45 hours for bug scrubbage turned out to be roughly 7 hours. What I thought would take a week is actually going to take one solid day.

Do not believe that this gives you the authority to slice every single estimate by 5. Turns out that impossible tasks, upon consideration, actually are terrifically hard. Believe this; an individual tends to be very bad at work estimates until they’ve begun the work.

Mix-it-Up

Crap. You’ve been saddled with an impossible task and after a weekend of no sleep you have confirmed, yes, the task is impossible. In fact, you’ve started, you’ve iterated, and you still have no clue how to actually complete the task. Story time.

This spring I had a crew come up to clear some brush on the property. Now, the property is a pleasant combination of oaks, bays, and redwoods, but much of it had become overgrown and inaccessible. My first thought when I moved in was, “Hell yes, I’ve got clearing mojo!” My thought after one weekend of clearing, when I was partially successful at clearing up 50 square feet of 5 ACRES OF FOREST was, “Impossibly boring”.

This attitude gave me a unique curiosity when the crew of three men showed up, chain-saws in hand, to clear the land. They had no issue starting and they clearly had the iteration thing down, but they also demonstrated the last and most component to Trickle Theory: mix-it-up.

It went like this: one guy would cut and drag brush into the fire, another would cut trees down, and the third would trim fallen trees. This went on for a while and then they’d all switch. Now, drag guy was cut guy, cut guy was hauling wood guy and trim guy was stack guy. During lunch, I sat down and asked, “When do you guys switch jobs?”

“When we’re bored.”

Beautiful, beautiful Trickle Theory. How cool is this? If you’re working on an impossibly hard or impossibly dull task and you find yourself mentally blocked by boredom or confusion, stop and do something else. The benefits of stopping are stunning.

First, stopping smacks The Critic squarely across the face. See, he’s also the voice in your head saying, “Uh, if we don’t work hard on this, we’re screwed”. And the longer you sit there grinding out the impossible task when you don’t want to, the louder he gets.

Second, stopping to do something else is fun for you and your brain. It breaks the cycle of whatever tasks you’re doing and points your grey matter at a whole new problem and your brain loves new, it consumes new with vim and vigor, and that puts spring in your proverbial mental step.

Third, and most important, even though you are stopping, your brain is bright enough to keep background processing the impossible task. This is why we find so much inspiration in the shower; you’re stopping and letting your brain wander, and your brain is smart. Your brain knows how important it is to rewrite that feature in two days and your brain is always working on that feature whether you know it or not.

“Wait, wait, wait. Rands, let me get this straight. Your suggestion when I’ve got a looming impossible deadline is to stop working on my deliverables?”

What I’m saying is, when you’re facing an uphill mental battle with yourself regarding the impossible task, it’s time to choose another battle… that isn’t a battle.

Entropy Always Wins

My life appears to be an endless series of tasks which are geared to slightly tidy up my world. Viewed as a whole these tasks represent a lot of work. Viewed against the actual amount of entropy in play in my small part of the world, these tasks represent a futile effort.

Fact is, your world is changing faster than you’ll ever be able to keep up with and you can view that fact from two different perspectives:

1) I believe I can control my world and through an aggressive campaign of task management, personal goals, and a CAN DO attitude, I will succeed in doing the impossible. Go me!

-or-

2) I know there is no controlling the world, but I will fluidly surf the entropy by constantly changing myself.

Surfing entropy takes confidence. This isn’t Tony Robbins confidence, this is a personal confidence you earn by constantly adapting yourself to the impossible.

28 Responses

  1. Another way to break problems like that up: Sample. Start by reviewing every 10th bug. You get through the first pass quicker, and you can tell your boss, “based on sampling 10% of the bugs, we found N serious issues, and project 10xN.” He has the option of telling you to keep going, but the projection might give him enough info, sooner, for making some serious decisions.

  2. Zorkerman 18 years ago

    I hope you get to be my boss someday. 🙂

  3. MelonCandy 18 years ago

    Somehow, I feel this is something I should’ve been told before my fourth year of college. Made oodles of sense and logical-ness. I suppose I should go and tackle that to-do list I’ve had since January. I suppose.

  4. Very well said. For me, it’s always hardest to start. But once I can get over that static friction, the kinetic friction seems like a cake walk.

  5. Cowboy_X 18 years ago

    Just last week, I noticed that my co-worker had scrawled “it’s easy if you try” on his wrist with a ballpoint. I asked for his pen, and wrote “it’s easy if you just get started” on mine.

  6. nameishere 18 years ago

    You might want to fix existing bugs a bit more promptly.

  7. Henry Maddocks 18 years ago

    This is basically what “Getting things done” says.

  8. Sigivald 18 years ago

    Third, and most important, even though you are stopping, your brain is bright enough to keep background processing the impossible task. This is why we find so much inspiration in the shower; you’re stopping and letting your brain wander, and your brain is smart. Your brain knows how important it is to rewrite that feature in two days and your brain is always working on that feature whether you know it or not.

    I, personally, make it a policy to never intentionally think about work problems when I’m at home, except in the most exceptional circumstances.

    That said, due to background processing, I often have excellent ideas about software problems on the drive in to work, or while about to fall asleep. (Which I doubt I’d have if I spent time Trying To Solve said problems directly; I do that at work.)

  9. Hey Rands!

    I feel like a broken record that I am always pointing out your typos. I’ll refrain if you prefer. Today’s article has a grammatical / content error here:

    … but they also demonstrated the last and most component to Trickle Theory: mix-it-up.

    Thanks for the advice, opinion and perspective!

  10. Damn good article, Rands. I’ve often noticed how tasks that seem utterly daunting become significantly less so once you’ve actually begun them.

  11. Caitlin 18 years ago

    I ♥ your writings. If you ever write a book (or just collect all of your blog posts into one), I will most definately buy it, and pass it out at work/home/at parties.

  12. Hi Rands,

    not sure if you’re displaying trackbacks, but the mountain of 537 bugs inspired me to write a response, if only because I’m in the exact same spot with my start-up at the moment.

    Why do we ignore bugs for so long?

  13. Good advice, similar to that in the book “The Now Habit”. It’s a psychological trick – you don’t need to finish the task, you just need to start it. And keep starting it, until it’s finished.

  14. “Dreading a task is worse than doing it.”

    Wish I could remember who said that.

    Great post.

  15. Joe Pellerin 18 years ago

    the best piece i’ve read in a good while! this is wonderful advice – especially for a schlep like me who has an oversized critic that wields an electric cattle prod. bravo!

  16. @Engtech

    Because value added is in getting the majority of the bulk work done. It is assumed that the collection of bugs dont render the entire product useless.

    @ main author

    This article was great! It’s very validating to read in print what you tell yourself in the tough moments. Sometimes you think it’s only you but its nice to hear other people think of things in a similar manner. thanks for the article.

  17. I can relate to this. Starting is the worst part of any task but once you’re in there, time flies.

    I’ve been hunting down wpmu bugs for the past few days, knocking them out bit by bit and then distracting myself by working on wordpress.com stuff in-between.

  18. “People who talk fast are moving quickly to cover up the gaps in their knowledge.”

    I really like that and I’m going to quote it on all of my training. Do I need to sign a document to use it somewhere? 😛

    Nice read BTW

  19. This is very sound advice, thanks for going into such detail. I’ll certainly be pointing people I know in the direction of this one

  20. Alex Boschmans 18 years ago

    I usually work on about 8 different things at the same time (work is relative, it might also be surfing or mucking about).

    Makes slow going, but at least I AM going…

  21. Did it really have 537 bugs, or was that an exaggeration?

    If I ever worked on a project with that many bugs I’d give up and start over from scratch.

    Of course, one of the big problems with bug/feature databases is people will put anything and everything under the sun in there. Like “add puse green option to make widget X more color friendly.” And you think, yeah, we might do that in 2 years.. but in all likelihood it’ll sit in the bug database until it gets wiped and new bug / feature tracking software is implemented without porting over the old cruft.

  22. Rands, did you just make a 20-paragraph essay that The Longest Journey Starts With But a Single Step?

  23. Does this blog have a feed (RSS or ATOM) or do I have to check it myself each day to see if there’s anything new?

  24. Great post, but this sort of mega-task isn’t the one that breaks me. I’d be curious to hear your views on the other kind: The big, honking, mongo task where it isn’t even clear where to start drawing the lines that will break it into manageable pieces. Frequently these have the word “invent” in the spec somewhere.

  25. Michael Natkin 17 years ago

    Oy vey, 537 unscrubbed bugs! I may have to scrub your database for you, I can’t bear the thought of it. How can you possibly know when you will ship? How many of those bugs are hiding other bugs or preventing QE from finding the more important ones? I agree with your advice… start… sooner!

  26. SuckLessMore 17 years ago

    Interesting article, good advice. I would only say that the options of controlling the world, or surfing the entropy represent the polar ends of our personalities. Changing from one method to the other is a very evasive goal, takes a long time, is incredibly introspective, and requires amazing persistence and desire. Certainly is much easier said than done.

    I think I’ll put it on my task list.

  27. Excellent! I’m glad to know I’m not the only one surfing the entropy waves.