A good coder almost always needs a good coordinator or leader to make a project successful

Success in project management is always a team effort. Individual coders, testers, designers, etc. can't achieve a lot if there is friction in their coordination or communication, however talented they may individually be.


And that's exactly why team members need good leaders or coordinators in a project. To some extent, this doesn't apply to just coders but other technical folks too. Due to their very nature, engineers have a "depth first" view of things rather than "breadth first" view which is the characteristic of coordinators or leaders.

And this is where the leaders can provide guidance and inspiration to the engineers. Now, it may well be that the leader himself might be a techie who has graduated to management or breadth first approach, in fact that's even better because the rapport between the leader and techie will be smooth and frictionless in that case.

Nevertheless, the word "manager" or "leader" has earned a very bad name in recent times, especially among the modern agilists. As everything in life, managers also aren't all good and saintly. In some IT shops, they screw the lives of engineers and are more interested in bossing around than provide solutions to problems.

This typically happens in countries like India where most organisations are used to a more "command and control" structure rather than care for individual liberties and decision making abilities of employees. But having said that, there are some great project managers in Indian IT shops too and I'm fortunate to have met many of them.

To solve the problem of a bad leader, agile modernists are moving towards a "cross-functional" organisational structure which is a new and revolutionary concept. But it doesn't seem to be achieving a lot of results and frankly, I think it is nothing more than a band-aid solution to the real problem which is bad leadership in projects.

Engineers can't be turned into cross-functional creatures beyond an extent. A coder can switch hats with a tester, for example, but no techie can easily switch to the role of coordinator or manager. The "depth first" vs "breadth first" barrier can't be overcome that easily in most individuals.

I think the problem of bad leadership can be solved by directly attacking that problem - remove bad leaders from project and appoint good ones in their place. Good and bad are subjective, of course, but there are many traits of each one. Bad ones typically play politics in a team to mask their incompetence, they also try to screw happiness of techies for no reason. Good ones show strength of character during crisis and are more inclined in finding solutions than pinning the blame.

Comments