Software Development Trends 2018: Latest Research and Data

A tool or framework used today might be obsolete tomorrow. Our intention is to take a snapshot of the industry, track how it evolved in the past and make an educated guess as to where it’s heading.

To better understand these changes and to uncover the biggest challenges and best practices, we teamed up with 10 cool companies to collect data from more than 300+ tech people.

This year’s report will give you the data you need to benchmark your activities against other survey participants, get some insights to further improve your developer team and keep up with the rapidly changing industry.

Managing software development

The biggest challenge tech companies are facing is related to capacity: delivering working software while the backlog is full and capacity is limited. This is closely followed by hiring, attracting and retaining talents is the second biggest challenge software teams are facing.

What if we split the respondents into two groups, developers and managers? We were excited to see if there was any difference between these two segments.

Results? See for yourself.

It’s not that surprising that developers and managers are facing different challenges since the nature of the two roles is different.

The biggest challenge developers are facing is dealing with capacity issues, followed by time management. While managers find it hard to hire talent and also to deal with the lack of capacity.

When companies are lacking talents, a hands-on way to overcome this challenge is to outsource software development. Actually, 52.5% of the respondents said they have already outsourced software development fully or partly.

Tech and tool trends

What are the hottest tools and programming languages?

It turned out that the most widely used programming language is JavaScript, 60.73% of the respondents using it. The second most popular is Java and Python, 30.03% and 25.41% of the respondents using them.

This is the current state, but where are we heading? We wanted to have a sneak peek into the programming languages they intend to use in the next 12 months.

36.63% of the respondents said they’re not planning to use any new programming languages in the coming 12 months.

But, 18.15% of them said they’re planning to use Python, while 16.83% said they’re planning to use Go, followed by JavaScript with 16.17%.

What about the tools?

Honestly, this was the hardest part of the report since it required very thorough data cleaning, and it turns out developer teams use a wide variety of tools, especially when it comes to testing and project management.

If you look at the chart, you will see that the “Other” category is way higher than anything else. This is a merged category collecting all the longtail tools that were mentioned just a few times by the respondents.

Here are the most popular project management, communication and SCM tools.

Performance

In this section of the report, we dig deeper into how software teams measure performance, the success of software development managers and what causes delivery problems. This part also uncovers how developer teams ensure code quality.

How do software teams measure performance?

It’s really hard to express developer performance in one metric, and there are many different ways to approach performance measurement. We wanted to know the most popular ones.

We also sliced the data, separating high-performing teams from the average performing ones to see if we could notice any differences between the two groups.(It turned out that the difference isn't as big as we expected.)

Interestingly, 28.15% of the top performing teams don’t use any metrics, while 26.42% of the average performing said the same.

Completing tasks is the most popular method to measure performance among average performing teams, while working software is for the top performing teams.

Apart from taking a look from top and average performing teams, we wanted to know what developers and managers thought about the cause of delivery problems.

Our hypothesis was that they thought differently due to the focus and nature of their jobs.

For managers, the number one reason is wrong estimation, followed by requirement prioritization and badly defined deliverables.

For developers, the picture is a bit different. According to them, unrealistic expectations, lack of clearly defined deliverables and ever-changing landscape are the main reasons of under delivering.

Conclusion

This blog post featured just a small slice of all the data we gathered from our survey. From now on in the coming years, the state of software development will be even more exciting since we can compare all the historical data we got, seeing the trends in the industry.

If you want to see the full report, just follow this link and download it. Feel free to share this post or report with anyone you think might be interested.