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.
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.
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.
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.
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!
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.
# September 25, 2006