Over the course of my more than twenty years in the software development industry, I've worked with hundreds if not thousands of developers. Many of the projects I've been involved with have suffered from the same malady; a disconnect between expectations and realistic possibility.
The Agile Manifesto attempts to address many of the root causes of this malady. It encourages individuals to interact, collaborate, communicate, and respond to change. These are not easy things to do. Nor do they necessarily ensure quality software.
The Manifesto for Software Craftsmanship gives a clear nod to the Agile Manifesto and then extends it by addressing the need for quality software. These are not easy things to do.
Many developers look to this inequity and the challenges and realize they are helpless against unrealistic demands. External forces are at play; leadership, management, or sales - no matter. They neither listen nor care. They want it done. They want it all done. And they want it yesterday.
So we cluster together. We lament. We gnash our teeth. We wring our hands. We commiserate. And then we perform our duties in compliance with the demands set upon us.
It is not our fault. Try as we might, we get no respect. No recognition. No appreciation. If we don't crank fast and put in the long hours, they'll just find somebody who will.
We have no choice.
We are victims.
And we need only for "them" to understand and allow us to do our jobs well.
Where do we get off? Absolving ourselves of responsibility for the quality of our work by blaming others. We rationalize doing a lower quality job in the name of pressures, deadlines, and promises made by others. But it is we who deliver the software. It is we who ultimately make the decision to not test enough, not refactor, put in excessive hours, and not do a quality job.
And every time we do this. Every single time we say it can't be done but then deliver a steaming pile that closely resembles that which we said couldn't be done; we reinforce the behaviors. Every time we put in excessive hours to be heroes, we set a precedent for the next time. Every time we compromise quality in order to meet unrealistic expectations, we devalue ourselves and the service we provide.
We haven't the right to complain about the very behaviors we enable.
If we want to stop this pattern. If we want to improve the reputation of our profession. If we want "them" to understand, then we need to change our behavior. Take a stand. Do your job well regardless of the pressure. A doomed project is doomed whether we compromise on our values or not. The more of us who behave this way; the more of us who insist on quality from ourselves and our teammates, the more evident it will become that this is not only a better way, but the right way - perhaps the only way.
Do your job. The absolute best you can. Keep learning. Keep improving.
Never ask permission to do your job well.
This got me thinkingMichael Nygard tweeted
'The phrase "business value" seems to hide uncertainty behind vagueness. Can we just say "money" instead?'I disagree. Or more accurately, I disagree with what I infer Michael means by this single tweet. I cannot say with any certainty what he meant, much less address the context of or inspiration behind his statement.
Greed and Gluttony
To say, "We are in business for profit.", is to say "We live to eat."This is fundamentally backward. This is beyond misguided for such a perspective is ultimately fatal to any company or person who lives by these respective statements. Undoubtedly, the actions necessary to support the belief will result in a tragic demise, whereby the very thing you identify as your purpose will cause your termination.
These amount to nothing more than rationalizations for greed and gluttony.
Paved with Good IntentionsOf course, it is important that a company generate enough revenue to sustain operations. Without this, the company cannot endure and cannot serve its purpose to humanity, in whatever form that might take. On behalf of every company, therefore, a group, committee, or department must exist whose purpose is oversight of the company's financial wellbeing.
This group has an awesome responsibility. One I am certain they do not take lightly. One I understand they consider paramount. Should they fail, the company will certainly fail. To best ensure success, they might conclude that their responsibility should be shared among all members of the organization.
If a company benefits when only a small portion of its employees commit themselves to a focus on profit, surely increasing this focus will increase the resultant benefit.
Tunnel VisionTunnel Vision impedes an organism's ability to see beyond a restricted range due to flaws in the field of vision. This is, clearly, a dangerous affliction. Those who suffer from tunnel vision have diminished peripheral capabilities making them more prone to accidents and providing them less time to react to threats approaching from outside their line of vision. Metaphorically, a company that focuses a preponderance of staff on the "bottom-line" inadvertently (or perhaps intentionally) creates tunnel vision.
Staff learns to weigh all decisions based on short-term ROI. As a result, they seek lower cost (and typically lower quality) support services, try to get by on smaller staff without properly streamlining processes, second guess sales and marketing initiatives, and defer investments in facilities and equipment.
But these efforts result in lower quality products, lower employee satisfaction, and loss of market share. For most companies, these are counter to long-term success.
So if money's not the point, what is?I can tell you that for LeanDog, the point is to make the world a better place through better software development.
I don't know what the point is where you work. Maybe it is to provide people a more convenient solution to a common problem. Maybe it is to ease people's pain, angst, fear, or concerns. Maybe it is to make people feel better, healthier, happier. I don't know. But I am hopeful the point of your company is not to put money in the pockets of the shareholders.