Many software development projects fail solely due to poor management. The following list, in my opinion, contains the 5 most common and dangerous mistakes made by software development managers.
1. Belief that productivity is mainly determined by the number of people and the working hours
Productivity - a modern analogue of the philosopher's stone. Every project manager is trying to find it by applying a very simple alchemy: the more developers and the more working hours, the better.
Unfortunately, this approach is delusional, it is absolutely not scientific. There are many studies that prove that performance can even be negative when using this simple principle.
The most serious source that I can cite as a reference is the Mythical Man-Month. Perhaps the most important book about software development in the last 20 years (which, unfortunately, is more often read by developers rather than project managers). As for articles on the Internet, I would recommend
"The laws of productivity - 8 experiments that you should not repeat .
" I highly recommend that you send it to every project manager who you think this article could be useful for.
')
Obviously, the question is: what improves performance? Well, while I can not answer absolutely accurately (and if I could, I would be already damn rich!). In my opinion, productivity strongly depends on two factors: motivation of employees and leadership skills of a manager. That is, the desire to move forward and the presence of a person who can show the best way.
2. Lack of management expectations
Project managers need to be sure that customers understand what will be ready and when.
One of the most frequently recurring situations: it becomes clear that the deadlines will not be met, and you need to talk with the client. What happens most often? The client learns about this when the deadlines are already broken, because the manager thought that these deviations could be compensated, or just afraid to upset the client. The client learns about the problem when there are no options for solving it. What could be a trivial or not so important problem at an early stage and that could be solved by changing the goals or deadlines of a project becomes a serious problem, often endangering the fate of the whole project.
3. Ignoring information from developers
A Project Manager should think more widely than developers, but this does not mean that he should not listen to them.
In software development, programmers are usually the only source of productivity, and therefore there is nothing more important than providing them with everything they need to do their work.
Unfortunately, many project managers are too focused on dates, meetings and deadlines, which is certainly good because it makes the project move forward, but very often the connection with the developers is lost, which causes problems for team performance, technical debt, poor quality product, etc.
4. Control instead of delegation
Software development requires creativity and proactivity. And these are the two qualities that are killed by the champions of universal control (control freaks).
Control is especially loved by those project managers, who still believe that all product requirements, along with technical specifications and work schedule, can be defined and fixed at the very beginning of the project.
Delegating decisions, in turn, makes developers better and is usually the cornerstone of a great product.
5. Fear of making decisions
One of the reasons why project managers make more money than developers is that the care of a project manager is to ensure that everything goes as it should. Often, this requires making very difficult decisions, for example, to fire someone, hire a new person or reprimand.
Project managers who make important decisions with difficulty betray their team. Delays in difficult but important decisions will have severe consequences in the future.