Improving Software Development Productivityby@thegostev
294 reads

Improving Software Development Productivity

by Alex GostevOctober 15th, 2020
Read on Terminal Reader
Read this story w/o Javascript
tldt arrow

Too Long; Didn't Read

Alex Gostev: Software development takes time and requires patience, but if it’s taking too long it can hurt the business. He gives a few tips on how to improve your software development team's productivity. He says there are a number of software development productivity pitfalls there are. He also gives a list of ways to improve their productivity: lean, support your team and eliminate waste. Push your team to adapt instead of trying to drive through a wall. Don’t be afraid to move on if your team is not working and is causing continuous problems.

Company Mentioned

Mention Thumbnail
featured image - Improving Software Development Productivity
Alex Gostev HackerNoon profile picture

Software development takes time and effort and requires patience, but if it’s taking too long it can hurt the business. That’s why it’s important to always consider what you can do to improve your software development productivity.

In this article, I am going to explore a couple of software development productivity killers and give you a few tips on how to improve your software development team’s productivity.

Software Development Productivity Pitfalls

First, let’s explore some of the most obvious software development productivity pitfalls there are. I feel that, without knowing these beforehand, it’s very hard to find what will increase productivity.

These “killers” are:

1.Not choosing the right methodology

Every software development methodology has its pros and cons and you should choose what works for your software and team and not what’s modern or what others are using. 

For instance, while Agile is an excellent choice for software or applications that require frequent releases, it might not be the best choice where release cycles are longer than a few weeks and software is more complex and needs to be installed on the end-user side or servers instead of the cloud.

2.Using the wrong technology

There can be numerous reasons why software developers might be using the wrong technology. Perhaps it’s something they’ve been using before and are familiar with, perhaps it’s something new and popular, or there can be any number of reasons.

That’s all okay as long as the technology works for our context. If it doesn't, don't let your team get bogged down with it. If it’s not compatible or doesn’t have the necessary functionality you need, or doesn’t pass the test code quality, don’t use it. 

3.You don’t have a long-term product strategy

What is your long-term product strategy? Do you even have one? Or did you once have it, but forgot it? 

A software development process should take much more into account than a short-sighted “what the customer/user wants now” approach. Yes, you should still pay close attention to this, but start thinking more about how the software can help your business model and long-term growth.

How to Improve Software Development Productivity

Okay, now that we got a few SD productivity killers out of the way (there are many more) we can move on to actual ways to improve software dev productivity.

1.Go lean

If something doesn’t add value, but only wastes productivity, get rid of it. Go through your software development cycle step by step and eliminate anything that produces waste. 

On the same note, if there’s a better and faster way to do something, don’t get stuck in the old ways. For instance, if you need to review code, start using automated code review tools instead of having your testers do it like pedestrians.

2.Be sure to fully support your devs

This one is for all of you managers that never leave your office to see how your developers are doing. I once had the pleasure of seeing how software development productivity suffers when the founder locks himself in the office and only concerns himself with “fun stuff” like marketing. Something like code quality testing just didn’t interest him that much.

Your software development team is more than a bunch of code writers, so don’t treat them as such. Every one of them has something they bring to the table and you should have a team that includes project managers, designers, developers, QA testers, etc.

3.Eliminate the sunk cost fallacy

I already mentioned that, if the methodology or technology you are using is not working for you, eliminate it. Don’t suffer a process, service, or a tool either that’s not working and is causing continuous problems.

Don’t be afraid to move on if it’s not working. Push your team to adapt instead of trying to drive through a wall over and over. And remember, developers are still humans and humans make mistakes from time to time.

4.Look for a 3rd-party service before you try to build something custom

Yes, you might have a team of developers that can build something in-house for you, but why do that if somebody else already made available a third-party service you could use?

It would be nice if your team are experts on everything, but not hold hopes for that. Instead of trying to do everything on their own, find good 3rd-party services that are proven and will work for you and take out at least some of the burden off your team.

Even if you don’t end up working with that service or tool, take that as an opportunity to learn.

5.Automate everything you can

Sure, there are some things that you won’t be able to automate (at least not fully), but when it comes to the Software Development Life Cycle, almost anything can be automated. 

You should embrace automation whenever and wherever you can. For instance, testing code quality can take valuable time that developers might better use to improve the software with new features and functionalities.

A code quality analyzer like Duecode can speed this process and give business owners, software devs, delivery managers, and tech leaders a better view of whether the code meets the requirements or not.


As I said at the very beginning, software development takes time and effort. Custom software development, for example, can take anywhere from 3-4 to 9-10 months. It’s going to have its ups and downs, barriers, pitfalls, and other obstacles that you’re just going to have to cope with. 

Different phases of the SDLC will take different times as well. For example, the design might take 2-4 weeks, development for up to 6 months, and testing at least 3 weeks. But within each of these phases, there will be numerous opportunities to improve your software development productivity. 

I’ve given you here several tips on how you can improve that productivity. Now it’s up to you to implement these the best way it suits your software team and business.