People issues, not technology, are the culprit of software development project failure. That’s the view reported by a recent article in Computerworld. In particular, project managers, are called out as being the source of most issues. According to Billie Blair of Change Strategists Inc., organizations promote a key technical resource to this critical role only to realize later that the individual doesn’t have the necessary skills to do the job effectively. They’re not ready.
"Anything that goes awry in a company," said Blair, "can always be traced back to the manager."
Can technical people successfully switch to management roles? Many organizations recognize the extreme divergence of aptitude required by these two roles and have implemented some form of dual career track. The technical track usually focuses on rewarding increased technical knowledge, ability and skill with only limited people management. The managerial track, conversely, drives a candidate toward increased people management responsibilities, financial oversight and strategic vision.
The debate on which career track to pursue can be a vexing decision for anyone. Pawel Brodzinski wrote a post on the choice that one faces and how the decision is “mutually exclusive”. According to Pawel:
“On the other hand, what makes you a great engineer usually makes you a poor manager at the same time.”
Are there examples that suggest a person could navigate both technical and managerial roles at the same time? Debates about whether technical and managerial skills should be pursued in parallel exist across the web. Here is a few excerpts from one of those debates:
“It depends on the amount and type of programming you are required to do and the amount and type of managerial duties you have to perform.” By ChrisF
“I was part of a team of developers where one programmer was also our manager. This led to a total collapse of anything resembling productivity. In short, all decisions were made by that guy + he was a complete micro manager.” By Martin Wickman
“In my opinion although it is possible in most scenarios it's not a good arrangement. There are numerous articles on how people who are proficient as developers are noticed and brought up to a team management role even though this is not their specific skillset or even a desired position. They struggle with staying focused on ‘management’ because they see ‘work’as getting programming done, not creating reports and going to meetings.” By David in Dakota
One element that is modifying this debate is the role of agile methodologies. Since these methodologies modify and minimize the traditional PM role while increasing accountability back to the developers it’s argued by some that this decreases the possibility of a single point of failure in team roles.
Still another angle on the debate about the project manager role is presented by CA Atreya . Citing a 2005 ESI Study on the reasons project’s fail, it’s shown that poor requirements definition is the single biggest issue.
Community comments
DeMarco already wrote about this in 1987
by Augusto Rodriguez,
baseless assertions referencing other baseless assertions
by James Watson,
Re: baseless assertions referencing other baseless assertions
by Augusto Rodriguez,
Re: baseless assertions referencing other baseless assertions
by James Watson,
Re: baseless assertions referencing other baseless assertions
by Mac Noodle,
Re: baseless assertions referencing other baseless assertions
by James Watson,
Agile principles need to be learned
by tribhuwan negi,
DeMarco already wrote about this in 1987
by Augusto Rodriguez,
Your message is awaiting moderation. Thank you for participating in the discussion.
Tom DeMarco and Timothy Lister already discusses this issue in detail in their book Peopleware, and came with some really sensible answers.
I'm lucky to have worked with really good Project Managers and Product Owners in agile projects and that made a massive difference. PMs are not root of evil, but the higher a person is in a hierarchy, the more damage they can do to a project.
Some examples from my experience (in decreasing level of project damage):
- CTO of a financial company not wanting to replace a legacy mainframe system, because the company was leaving the region (and thus cutting support) and the change will take some power from him.
- A partnership / Strategic manager that imposes a technology for a project to keep a partnership status with a vendor.
- Product Owner redrawing the strategic roadmap after a couple of iteration (which prevented the product to reach a good number of features to be released).
- Project manager promising features / deadlines without the input of the team.
- Over optimist team that keeps over committing.
There's no Silver Bullet. Nothing beats a team of passionate people with uncommon sense (aka common sense).
baseless assertions referencing other baseless assertions
by James Watson,
Your message is awaiting moderation. Thank you for participating in the discussion.
This is major BS. We need more technical people in management. Yeah, you can't sit around and write code all day and be a manager but that doesn't mean that these skills are not transferable. I ask anyone who believes this to list these engineering skills that make you a bad manager. Note that I am talking about modern 'systems-thinking' management and not 'command-and-control' management.
Additionally, how can someone effectively manage work when they don't understand it? You don't see these debates in other fields. Who manages teams of scientists? Scientists. Who manages engineers? Engineers.
This is equivalent to saying that university professors cannot teach classes, work with their doctoral and graduate students, meet with their dean and produce research at the same time.
When you are a manager of a technical team, you keep up with technical skills vicariously. Of course you will not know all the details like if you were coding all day. Paradoxically, moving into management means letting go of control. This is especially true for programmers.
Re: baseless assertions referencing other baseless assertions
by Augusto Rodriguez,
Your message is awaiting moderation. Thank you for participating in the discussion.
James, although I agree that what the author's inference is seriously flawed, I do think that a lot of technical people who are promoted or jump to a managerial level do not perform well. I think a better inference is 'being an excellent developer, doesn't make you a good PM or PO'.
I think the key is to promote people who are sound technically, have potential at managerial tasks (e.g. are good on human interactions, are success catalyst and can manage to deliver on a deadline) and are open to be coached/mentored to become really good managers (an ex-good developer who considers him/herself to be a good PM, but he/she is not, can do a lot of damage to a project).
I'm talking from a point of view of a developer. Sometimes, I also PM small projects (3-5 people, ~3 months), but my passion is in coding, not on PMing :).
Agile principles need to be learned
by tribhuwan negi,
Your message is awaiting moderation. Thank you for participating in the discussion.
Traditional project management has no place in agile software development. Agile Project managers have different role to play. They will have to unlearn lot of mental models developed from years of old style management, before creating their place in agile teams.
"Command and Control" style of management need to go and agile principles of self-organizing, independent and emergent teams need to be learned.
I do not agree to the statement that developers will always make poor managers. Developers can be great managers if they recognize the fact the team and project management is a different skill set altogether like another technical skills they have developed and it has to be learned with theory and practice.
Agile literature has lot to offer in this field. If the developers\Scrum masters are driven by agile principles, they are already prepared to do good management. Also, the fact that they have grown solving the agile software development problem, has already prepared them to do good people and project management. Need is to learn and practice the Art and Science of Agile Software development.
Tribhuwan Negi - www.tribhuwannegi.com
Re: baseless assertions referencing other baseless assertions
by Mac Noodle,
Your message is awaiting moderation. Thank you for participating in the discussion.
"When you are a manager of a technical team, you keep up with technical skills vicariously". LOL. I've never seen it. But i will give you the benefit of the doubt and say there has to be at least one person like this. I am sure they exist. But they are exceptions.
Re: baseless assertions referencing other baseless assertions
by James Watson,
Your message is awaiting moderation. Thank you for participating in the discussion.
Your take on this is a very reasoned and I would say correct take on this. What you are saying is very different from "what makes you a great engineer usually makes you a poor manager".
Not every technical person should seek to be a manager. There aren't enough management positions to support that anyway. But the idea that being a good developer (or engineer) means you can't or shouldn't be a manager is nonsense. I really think that IT professionals need to grow up and realize that we are not simply hired geeks who can't be bothered to help mentor, lead, or fight for their teams.
P.S. On a side-note, the term project-manager is generally a misnomer because project managers generally don't have any direct reports and are therefore not management. It's kind of like if we called developers 'code-managers'.
Re: baseless assertions referencing other baseless assertions
by James Watson,
Your message is awaiting moderation. Thank you for participating in the discussion.
Have you worked for a manager that has put in significant time (say 10,000 hours) as a developer?