If capacity is your ISV business’ biggest software development challenge, you aren’t alone. According to research for Coding Sans State of Software Development in 2019 report, 21.29 percent of software development companies report that dealing with a backlog with limited capacity while still delivering software is the most significant challenge they face.
Coding Sans also drilled down into the results of the survey based on responses from 695 leaders at software development companies around the world, the majority of which provide applications to B2B companies. Capacity is a bigger concern among managers, with 24.32 percent ranking it as the biggest challenge their companies face compared to 18.29 percent of developers who feel it’s the greatest hurdle their teams have to overcome.
Coding Sans reports that to address capacity, software companies are hiring additional professionals, prioritizing development over other tasks, and finding ways to improve productivity. About 85 percent of respondents also use one or more Agile methods, including:
- Scrum: 60.58 percent of respondents
- Kanban: 35.40 percent
- Lean software development: 14.19 percent
- Agile modeling: 13.86 percent
- Scrumban: 11.55 percent
- Extreme programming: 11.55 percent
- Feature-driven development: 8.58 percent
- Rapid application development: 8.25 percent
What Do Developers See as the Biggest Challenge?
From the perspective of a developer, Coding Sans’ survey shows that the most significant challenge that 24.57 of them see is with sharing knowledge. Some of the strategies the survey respondents say they use to overcome this challenge are holding dedicated information sessions such as brown bag lunches, meetings or tech talks. They also share knowledge via code reviews or through internal wikis or documentation shared on collaboration tools.
According to the survey, the most popular project management tools that software development companies use are:
- Jira: 57.7 percent
- GitHub: 34.53 percent
- BitBucket:19.86 percent
- Trello: 17.27 percent
And the most popular communication tools are:
- Slack: 55.97 percent
- Email: 50.79 percent
- Jira: 36.12 percent
- Skype: 22.73 percent
- Google Hangouts: 14.68 percent
- GoToMeeting: 13.24 percent
Other Tools Your Peers and Competitors Use
Coding Sans reports that software development companies commonly use a variety of tools to improve productivity and quality; for example, 75.83 percent use tools for testing software. The most common are Jenkins (30.94 percent of respondents), Selenium (24.75 percent), and JUnit (20.14 percent). Researchers also asked software development companies which factors limit them from using tools for software testing, and the most common reasons are:
- Time to research: 23.21 percent
- Don’t need it yet: 19.64 percent
- Not sure how to use it: 20.83
- Lack of time to use it: 14.88
- Budget: 13.10 percent
ISVs also leverage version control systems like Git and SVN to manage changes to source code over time, and software control management (SCM) tools, like GitKraken, SourceTree, and GitHub Desktop.
The majority of software companies, 60.14 percent, rely on peer review to ensure code quality. Other methods businesses use include:
- Continuous integration (CI) and test-driven development (TDD): 41.15 percent
- Documentation: 16.69 percent
- Commenting within the code: 15.11 percent
- Industry style guide: 12.52 percent
The report also points out that 11.94 percent of companies don’t use any specific way to ensure code quality.
Another software development challenge is monitoring how well teams execute projects. State of Software Development survey respondents use these metrics to measure performance:
- Completed tasks: 49.50 percent
- Working software: 48.63 percent
- Code readability: 24.46 percent
- Don’t use metrics: 24.89 percent
- Speed of development: 13.24 percent
- Number of bugs: 21.44 percent
- Test coverage: 22.88 percent
- Third party scoring: 4.17 percent
- Lines of code: 2.88 percent
Coding Sans research also reveals the top reasons for delivery problems:
- Unrealistic expectations: 14.96 percent
- Lack of clearly defined deliverables: 13.09 percent
- Estimation: 12.37 percent
- Ever-changing landscape: 11.08 percent
- Requirements prioritization: 9.50 percent
For more insights on Coding Sans’ research, see the State of Software Development in 2019.