Common mistakes in software development
Last updated: December 15, 2022 Read in fullscreen view
- 01 Oct 2020 Fail fast, learn faster with Agile methodology
- 14 Oct 2021 Advantages and Disadvantages of Time and Material Contract (T&M)
- 08 Oct 2022 KPI - The New Leadership
- 10 Dec 2021 What is a Kano Analysis?
- 19 Oct 2021 Is gold plating good or bad in project management?
WHICH ARE THE MOST RELEVANT MISTAKES?
Common mistakes are commonly split into 4 categories: people, process, product and technology. Let’s break down each category and dive into the most common mistakes made:
PEOPLE-RELATED MISTAKES
Wishful thinking
Being too optimistic (about risks and schedules). For instance, a team sets an extremely tight deadline that is impossible to achieve, therefore the promises to the client cannot be fulfilled and the project is left behind schedule.
Another frequent mistake is to avoid task estimation due to the fact that they are simple tasks. Developers and QA could forget to perform those tasks or they could take longer than expected.
Adding resources to a project that is behind schedule
Sometimes when a project is behind schedule, the easiest and fastest solution seems to be adding more people to increase work speed but that’s not the result. On the contrary, what happens is that it takes away productivity since they need to be explained how things work, and the learning curve for how the team/tools/business work is not taken into account in the estimation. Adding a developer is not just plug and play.
PROCESS-RELATED MISTAKES
Insufficient risk management
Failure to manage risk is one of the most common classic mistakes. When a risk arises, a low level of knowledge along with a lack of planning to manage it, can cause a high impact on the development process in terms of time, cost or quality.
Eliminating necessary tasks
Due to lack of time or poor team commitment to their tasks, it is really common to eliminate or reduce quality by discarding necessary tasks such as testing or documentation. Maybe these tasks don’t seem important at the beginning, but they are essential in order to keep high-level quality standards.
PRODUCT-RELATED MISTAKES
Requirements gold plating
Some projects have from their inception more requirements than they really need. It is common practice to believe the customer will be delighted to see additional or more polished features, and the project manager or developers work on that rather than what was asked for or expected. The client might be disappointed by the results, and the extra effort by the developer might be in vain.
Developer gold plating
New technologies come with the promise of new features, better quality products, easy-to-write syntax and better performance. Developers are fascinated by them and are sometimes anxious to try them out. The effort required to design, implement, test, document, and support features that are not required lengthens the schedule and those new characteristics are not really necessary for the product.
TECHNOLOGY-RELATED MISTAKES
Silver bullet syndrome
Changes in technologies and processes without justification. There is too much confidence that new technology, methodology, language, platform, etc. will solve planning problems.
Tools switching in the middle of a project
Sometimes it can make sense to gradually upgrade within the same product line. But switching to a totally new tool or technology implies a learning curve, rework, and inevitable mistakes that usually cancel out any benefit when you are halfway through a project.
TO SUM UP
You will not necessarily get fast development if you avoid the classic mistakes, but you will definitely get slow development if you do not avoid them.
If you can identify some of these mistakes, take heart. Bear in mind that many other people have made the same mistakes, and once you understand their effect on development speed, you can use this list to help you with your project planning and risk management.