My first day in post-graduate corporate America required a dramatic and unsettling change in my decision making. No longer was it enough to merely accomplish the goal - I had to think "strategically."
My problem with words like "strategic" is that they're rarely used in a way which corresponds to their English definition. I learned quickly that "strategic" meant "in a way that's unlikely to solve our problem but also unlikely to offend executives." And while there are valid reasons to make decisions classified as strategic or tactical, this insistence on being strategic overlooks the obvious: do the right thing.
Many hyper-dysfunctional IT departments become paralyzed by unexplained business decisions made years before. Having endured years of failure as a consequence of shortsighted management and a generally inept staff, they revert to the risk-averse approach of avoiding short-term fixes. Why bother fixing one defect if there are ten more? Wouldn't it make more sense from a strategic standpoint to just refactor the whole thing and fix them all? Let's form a tiger team! We can hire some consultants to introduce a new stack and let the stack fix everything! We won't even need developers because EVERYTHING WILL BE CONFIGURATION!
Meanwhile, the users are sitting around wondering why some critical piece of software has had an obvious bug hampering their work for months, the engineers are shaking their heads, and the corporate overlords are ten minutes from firing their third CIO in two years.
The right decision is to fix problems. Tolerate hacks that improve the user experience . Of course, yes, I understand, individual fixes may often create a hostile user experience in aggregate, and yes, you need to reinforce the need to pay down technical debt or incur an unmanageable tax. Sure, go for the whole-enchilada refactor when you must. But the correct solution to a pressing, time-constrained problem very rarely includes things like tiger teams.
Just like developers who pair program effectively surrender ownership of their code, effective project managers should surrender the desire to put their personal imprint on the project. Commiserate with your users and prioritize accordingly.
No comments:
Post a Comment