I’ve been working on a few projects lately that have a very
time-sensitive aspect to them. That time-sensitivity is accompanied by
an overly-short planning cycle, so things are being handled in a more
“reactive” manner than I like. I’m a “proactive” person, I like a good
plan (though it doesn’t have to be a 500 page doorstop, a plan is a good
thing).
Every time one of these “reactive” projects gets going, these included,
I always re-discover the importance of keeping a cool head. Rather than
lighting your hair on
fire to
run around with the rest of the folks, stop for a second. Step back,
assess the situation, and take your time in solving the problem. Don’t
waste time, but take enough time to consider all of the angles of the
problem in the context of your proposed solution.
When executing on a solution, work fast, but don’t work quick. The
difference is important - fast work will get you done while respecting
the time-sensitivity; quick work will find you cutting corners and
making errors that you wouldn’t normally make.
That’s the crux of this one - take enough time so you’re not making
those stupid mistakes that you wouldn’t otherwise make in a less
time-critical project. We all know what happens when you do make those
mistakes, right? In software, the solution will get sent back from QA
(or doc, or - worse - the customer) as insufficient, incomplete, or
incorrect. That’s bad news that will actually put you further behind
schedule than had you not cut those corners, not made those mistakes.
One of the positive side effects of keeping a cool head in solving the
problem is that it’ll reduce some of the stress you might be prone to
due to things being “out of control,” which, in turn, will ease some of
the interpersonal communication issues that inevitably arise in these
situations.
I think it’s time for me to put the fire in my hair out, step back, take
a breath, and solve some problems.