I was involved in a discussion the other day as to development methodologies - agile vs waterfall vs ... And it hit me that the methodology discussion was, at best, a tertiary factor on team success.
What comes first is clearly the members of the team themselves. Are they very good developers, dev leads, product managers, program managers, etc. People who are very smart, very good at what they do, interact professionally with each other, and understand that success comes from the team working together.
And second is the environment, culture, and morale of the workplace. Does the team feel valued, do they own their design and work, are they treated as professionals, are they given the tools and workspace necessary to do their job well.
I bring this up because I have seen companies treat their developers as plug-gable cogs and they provide a work environment that makes it clear that the development members are not valued.
I see this done for two reasons (in my estimation). First is that people in upper management think that programmers are fungible. They don't understand that, at least so far, top programmers are 10 times more productive than average progremmers and therefore good programmers are very valuable.
Second, people in upper management will work to save every penny, not balancing that savings against the productivity hit that occurs when that savings negatively impacts morale. I think the best example of this is software companies that do not provide free soda. Free soda is so common, not providing it becomes a symbol to developers that the company is going to do the bare minimum for them.
So before you get into the agile vs other argument, as yourself this;
- Do you have the best people you can working for you?
- Are you providing them with an environment that makes them feel valued?
- Are you providing them with a workspace and tools that allows them to be productive?
Once you have good people free to do their best, the rest becomes a lot easier.


Comments