There was a post in InfoWorld Tech Watch entitled 10 mistakes to avoid in software development where they quote a Forrester Research report published recently. While I think that, generally, the list of mistakes they published is really important to the success of every project, I will go into more details with each one of these mistakes and will give you my opinion on them.
Here they are, the 10 mistakes we should avoid in software development:
- Never committing to project success. This is too obvious, I don’t see any wisdom in it.
- Freezing the schedule and budget before a project is sufficiently understood. Unfortunately, this happens everywhere, every time. In my opinion, this is the main problem of the software project management: What to do when you are asked to give estimates about the cost and the time, and even to sign a contract before you know what this project is about?
- Overscoping a solution. Yes, this is a mistake but I believe it happens more and more rarely.
- Circumventing the application development organization altogether. I don’t think it’s a mistake if you know what you are doing. Sometimes it is the necessary if you’ve been assigned to a “Death March” project. The real question is: Can you still manage to succeed?
- Underestimating the complexity of a problem. Usually, this is the reason for signing contracts with low budgets and shortened schedules. Unfortunately, this mistake is mostly made by the upper management mostly because they don’t consult with their team. I believe, that every company should invest some time upfront to investigate the customer’s problem ti gain a better understanding of its complexity.
- Being stingy with subject-matter experts, in which their participation is not sufficient. I think this is also a result of the previous one.
- Choosing the wrong project leadership. Or the wrong leaders. Or the wrong managers. Or the wrong customers (Can there be wrong customers?)
- Distrusting managers who have had tasks delegated to them. I would say that not trusting anyone in your team or company is a mistake.
- Jumping into development without enough research. Again, it happens as a result of underestimating the problem.
- Suppressing bad news, in which dialogue is insufficient. Do you know a manager who likes to hear bad news?
Well, some would say that I am too skeptic or that I am a naysayer. No, am not. I think there are a lot of problems in our industry but this is my profession and I love it. I really want to discover the biggest mistakes we make, to analyze the reasons for them and to make a plan how to avoid them. Which is really hard. And when we look at our mistakes we just need to be more specific, especially when looking for the causes of those mistakes.