Classic mistakes in the Software Industry: do you know them all? 

Classic mistakes in the Software Industry: do you know them all? 

In software development, it is really important to recognize what classic mistakes are in order to be able to face them. Here we dive into the most common mistakes made and how they affect our daily tasks.

It is really common to find the “software development best practices” or “how to deliver a good quality software” article. In this case, I would like to introduce you to some of the most common mistakes in the software industry. 

We need to understand our enemies in order to know how to defeat them, in the same way it is really important to know what the classic mistakes are in order to face them. Avoiding them does not guarantee fast development, but making them ensures slower development. 

What are they and why are they so important? 

We could define a classic mistake as a mistake that is often made by many people, turning out in a predictable bad result that is hard to avoid. 

Steve McConnell, author of software engineering textbooks, explained that some classic mistakes have a seductive appeal and that is one of the reasons why those mistakes have been made often enough to be considered classics. 

Here are a couple of examples:  

– You need to rescue a project that’s behind schedule so you add more people.  

– You want an earlier delivery date so you set a more aggressive schedule

Which are the most relevant mistakes? 

Classic 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 classic 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 classic 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 classic mistakes 

Requirements gold plating 

classic mistakes

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 classic 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 

As I mentioned before, 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. 

Of course, these are just some of the most classic mistakes, but there are many more. It is highly recommended to watch out for other common mistakes so you are prepared for them. If you are interested in working with a company that can prevent these mistakes from being made in your most important projects, get in touch with us

Comments?  Contact us for more information. We’ll quickly get back to you with the information you need. 

WHY TO HAVE IT?

DevOps is a new way of collaboration that makes processes change for the better. The idea of this paper is to understand why you need DevOps and to learn how you can get started. You will walk through the key ideas that bring development and operations together to produce higher-quality software.

White Paper
×

WHY TO HAVE IT?

With an eye on business demands on having clean code, the idea of Technical Debt has emerged. The problem is a software product can only handle so much Technical Debt before it begins to crumble under the weight of its own inefficiency. Learn here how to tackle Technical Debt properly.

White Paper
×

WHY TO HAVE IT?

Companies who are successfully incorporating continuous innovation into their business practices have changed the way their enterprise software is deployed. Trends in application development and deployment support organization-wide transformation but which type of architecture is right for you?

White Paper
×

READY TO TAKE A LOOK?

Many organizations around the world are transferring their IT and software development operations to third parties. For most of them, thinking about outsourcing is an issue of efficiency and focus. Don’t miss these interesting facts that show you why this might be the perfect choice for your business.

White Paper
×

WHY TO HAVE IT?

In the search for the perfect solution, it is not uncommon to find that off-the-shelf products don’t offer solutions fitting your needs and business model. This is where a software development partner comes in. If you are looking to understand what software consultants companies can do for you, keep reading.

White Paper
×

Event-Driven Architecture (EDA) An old concept for a modern context

The concept of Event-Driven Architecture (EDA) may not be new in the software development industry; however, it is becoming stronger once again, thanks to its flexibility and adaptability by using information in real time. At the same time, EDA offers companies the opportunity to process events and flows of events that result in immediate analysis.

White Paper
×

A Beginner’s Guide to Scrum in Agile Projects

Scrum has proven to be very useful in any field and industry, regardless of its complexity. This quick and easy guide aims to show the main insights this methodology has, how it works, and other important aspects to consider if you want to start in the Agile world and improve your company’s results.

White Paper
×