In this article Bill Jordan has noticed that the software development industry has been suffering quietly from a slowly developing crisis. The quality of software is low, the users aren’t happy and the hard working software developers aren’t happy either.
He comes right and says it, that it’s the fault of poor management that we’re in this situation where software developers are constantly arguing for higher quality but not getting anywhere. He suggests that such poor management should be called fad management and we wouldn’t disagree with that.
The advice in the article is very good, and is helpful to aspiring managers. This is something that we need more of, managers who have software development experience.
One of the best pieces of advice is to stop keeping track of metrics or if you keep track of them don’t make them public:
Do you keep a count of the number of work items completed per employee? Is that count easily available for all software developers to view? Even worse: does upper management have access to that count? Stop doing that right away.
This runs counter to the typical scrum and agile methodologies that talk about keeping track of velocity but he raises a good point, that us developers will figure out what the game is and start fixing it to make ourselves and our team look good according to those incentives set by management:
Software developers aren’t stupid and some of them will quickly learn how to game the system if counterproductive incentives are visible. Completed work item counts are an extremely counterproductive incentive and the game quickly becomes all about having the highest completed work item count.
Another good piece of advice that we expect will be ignored is giving private offices or quiet zones to developers. In a few instances we’ve seen cubicle walls that are too short to provide the peace and quiet needed for good software development, in other cases we’ve seen private offices planned and then scrapped because the company thought it important to hire lots of developers instead of making sure their existing developers can work at peak productivity.
There is the idea that being promoted to management is the only way to progress in your career as software developer. We agree with the article that this isn’t true, and that management is just another type of job, no better or worse than software development. You should be able to stay a developer if that makes you happiest.
There’s nothing wrong with a lifelong career that keeps your brain engaged in a positive way and software development remains an outstanding career. Developers should want to get into management for only one reason — because that’s what they want to do, not because it’s considered a step up.