Play the man, not the puck.
- November 30th, 2008
- Write comment
For some time (nearly 11 years now!), my job has been a mixture of defining, developing and managing the development of software products. Over the past 3 years I have been almost 100% dedicated to management with only the time to commit to small production development assignments or personal projects.
When I first started, I thought the key part of the whole life cycle was, well, coding. As an opinionated alpha coder, I could not imagine anything being more important than the production of working…and even tested code. From there, my attitude changed when I started to see how choosing the right product to develop at the right time had such an awesome effect on a company’s bottom line. I began to believe that the most important thing in the software world was identifying what you should be doing, product strategy wise.
Then…I went to work for a large software company with a well established market presence and literally barrels of cash in the bank.
The transition to “big company” caused me to revise my outlook on software development fundamentals. Insulated from concern of where my employees next paycheck would come from if I were to make a mistake, I started to focus on managing the software development process in the hopes that coming up with the best formula of development methodologies mixed with effective coaching and empowerment of the individuals I am responsible for would in the end yield the best possible product for my employer. In the process I became an expert and champion for some notable agile frameworks, and was part of a sweeping implementation of them at my company. I figured for a while that the real art of software development was choosing how to actually set out and do it, and mind the helm until you are ready to declare “Golden Master”, and you know…it is somewhat difficult and stressful when you take it seriously…but its not the key!
It took me way too long to internalize this, but the key to successful software is simply PEOPLE. Yup, that’s right. You can throw your fancy Scrum framework in the bin along with your management books and empty soft drink cans (a mainstay of any development team it seems), provided you remain fully cognizant of the fact that how your team interacts, comes to decisions and carries on its work is the most important ingredient to doing a great job in the software development game. Of course, effective product management and engineering processes are of great importance and cannot be ommitted from the formula. My point is that negative human issues present in the implementing team will cause all of that to be a total waste.
For example, an unfortunately very common NHI (“negative human issue”) is trust. Imagine a scenario where you are managing a product that has teams contributing from multiple geographies. The teams interact primarily via meetings and because of the distances involved the members of the teams do not become personally familiar with each other. The result ends up being a passively adversarial relationship between teams with occasional active flare ups, which invariably results in an ingrained sense of distrust between teams and individuals. In the end, this distrust causes ineffective managers to try to separate the teams concerns…effectively creating silos and reducing team interaction to the boundary/integration issues.
Outcome: bad software, unhappy customers and a development team that is well setup to continue creating bad software and unhappy customers.
So the key to software development management, in my humble opionion, is the same as what was drilled into me at hockey clinics when I was a kid: “Play the Man, Not the Puck”. As a manager, you should be detecting NHIs such as trust issues and putting into play countermeasures as subtly as possible. Don’t be one of those managers that is overly focused on metrics and managing by numbers. Use your instinct and humanity to help you calmly approach obstacles and devise your remedy. Don’t devise processes to address human factors, rather, use humanity to address human factors. Really, it will work.
Anyway, I would love to hear comments on this random posting I felt like writing out of the blue