Your Boss Is Probably An Idiot
Yes, it is true that coders have their nerdly foibles:
- Confusing technology with theology
- Let Me Just Redesign This One More Time
- Customers!? Don't bother me with Customers!
ad infinitum. Nonetheless, if you are experiencing problems such as:
- Inability of the organization to match goals with means
- Management dissatisfaction with excellent team performance
- Ongoing escalation of bold, table-thumping initiatives
your Boss is probably an idiot. After all, if the problem is on your side, any clever Boss would either have fixed you or have fired you already. If the problem is on the Boss's side, it's the Boss's most important responsibility, to make the crooked ways straight.
If there is a process problem, it's management's job to better the process. Broken process yields broken software and broken dreams.
Software development is not fundamentally different than any other aspect of human endeavor. Therefore, if we can discover some pernicious flaw in The Boss's grasp of reality, we can explain much of The Boss's mismanagement of the development process.
You may not need to go further than the company mission statement. Does it contain the stark directive, "deliver value to shareholders," without other qualifying language? If so, you've found the nexus of many software project failures!
The truth is that any corporation has three prime directives, not one:
- Deliver to the shareholders.
- Create a humane workplace.
- Serve the community.
An organization which acts as if only Directive Number One counts does not always perceive that misconception as affecting software development productivity, but reducing human dignity to dollars has a pervasive demotivational impact over time.
Examine development workflow in your organization. Does it work like this:
- Promise a customer a nonexistent feature.
- Table-thumping initiative announced.
- Aggressive development schedule announced.
- Development team hounded to produce yet-unspecified product.
- Pressure at all levels of organization to commit to already established delivery date.
- Pressure on coders to trim their estimates by arbitrary amounts which do not reflect technical considerations.
It's a quintessential project failure formula! Yet this is the norm at many, if not most organizations. It's easy to recognize the modern business cultural factors that allow an apparently intelligent human being like the Boss to act in a manner that burns up his or her credibility with customers, superiors and subordinates. It's still ugly, wrong and self-defeating for the Boss and for the organization to act in that manner.
Study the strategy of managing developer hours:
- Does the Boss persistently drive to establish a steady flow, a sustainable pace?
- Or does the Boss tell lies to trick the development team into one more sprint?
- This latter is a quintessential formula for key employee turnover!
A great deal of what passes for corporate management nowadays is smug, insulated and self-congratulatory. The immense industrial capacity of the first world has made us the complacent heirs of a wealth-producing system which may be beyond our moral capacity to maintain.
Opportunities are missed because lack of persistence in sound principles of conduct. The goal in business today so often is not to establish an enduring enterprise, but instead to create an IPO or acquisition goldmine for the chosen few. "Englightened self-interest", a popular tenet of first-world management philosophy half a century ago has been replaced by "Get yours and get out".
There are reasons why this kind of thinking tends to lead to failure of any sort of shared labor, from programming to bricklaying to statecraft. These reasons have been expounded at length by philosophers in all the Ages of Man. "Do unto others as you would have them do unto you" is not so much a key to St. Peter's gate as the only sound rule of social conduct, including software development management.
If your Boss is compelled to stand up and salute a vision of corporate mission that runs against fundamental tenets of the past 350 years of the Western Enlightenment, it puts blinders on the Boss that obstruct the ability to steer towards project success.
So the bad news is, Your Boss Is Probably an Idiot. The good news is, that Even The Boss Is Human and Possibly Can Learn.