If you are from the software development industry, you know that the projects you work on are not immune to errors. After all, to err is human. There is no such thing as bug free software. Having said that, there are certain pitfalls that are unique to the field of software development and some that are more general, but they can be avoided with some foresight and planning.


Make the DRY principle your mantra—Don’t Repeat Yourself! A lot of time and resources get wasted when you implement new functionalities without checking to see if something similar already exists. Try to avoid redundancy, and reuse what you already have whenever and wherever possible.

Learn from mistakes of others

You can always learn from someone else’s mistakes and they can learn from yours as well. If you run into an issue, and after troubleshooting find a solution that you think is unique to that problem, document it. The information may prove valuable to someone else on your team, or even for you at a later point in time when you’ve forgotten about this and run into this problem again. A knowledge base containing documentation on how to troubleshoot various issues, which can be accessed by all the team members, is an important resource to have.

Want versus Need

There might be a technology or tool that is very popular at the moment or being promoted aggressively as a must-have by a competitor. Don’t get carried away by it and add it to your tech stack. Avoid bias and herd mentality when it comes to the technology you use. Choose tools based on the project and business needs, such as scalability, portability, time frame for project etc.

Understand your majority market segment

When it comes to adoption of new technology or application, users can be categorized into 5 broad market segments – innovators, early adopters, early majority, late majority and late adopters.
Click here to understand more about each market segment. While designing and building your application or product, it is important to keep the early and late majority in mind because, they will be the largest chunk of your users and will make or break your business. Though the other users are important, they are in the minority and building features for them are ‘good to have’, but by no means are they ‘must haves’. It is critical to understand the user persona of the early adopters and late majority and deliver them with an application that they can use easily and seamlessly.

Testing…1, 2, 3

This is a very crucial step and needs to be done right before launching any new software product in the market. Test, and test thoroughly. And remember to test under the right conditions. Never release your application to the market without sufficient testing. Importantly, test in an environment that is similar to the production environment. If say, your application will be accessed by 1,000 users from their mobile devices at the same time, make sure you test your application under those circumstances.

Keep an eye out for ‘Avoiding Pitfalls – Part 2’, where we will explore additional pitfalls that you can avoid when building software.