Coding Sans has published the State of Software Development Report since 2018 in an effort to uncover the rapidly evolving trends of this particularly agile industry. Each year, the report highlights challenges, best practices, and the tools that are driving the software development industry, and how things have changed year over year.
Download the 2020 State of Software Development Report from Coding Sans.
GitKraken has been proud to contribute to the insurmountable task of soliciting survey responses from a global network of developers and managers, and in keeping with years past, we were named a Top Partner for our promotional efforts.
Who responded to the survey?
In total, over 700 responses from 80 countries were tallied. 45.21% of respondents are located in Europe, 31.47% in North America, and 11.16% in Asia & Australia; 33.48% are in the software/tech industry; and 46.07% are working on development teams with 6-20 developers.
46.21% of respondents are developers, with 16.60% being engineering team leads.
Spoiler alert! The GitKraken Git GUI was named the #1 graphical user interface for Git in the 2020 State of the Software Development Report.
The report’s data is broken up into sections: tools and tech, management trends, performance measurement, and hiring. We’ve summarized the findings below to shed light on what we found to be the most interesting and prolific revelations.
Trends in Software Development Tools
DevOps is a strategy that has spread rampantly across the software development industry in recent years, and its effects are seen to their greatest extent when it comes to tools. Teams of all sizes are seeking new tools to help them implement better reporting and communication, plan more effectively, test, and automate.See which tools enterprise development teams rely on for DevOps, reporting, communication, testing, automation, and more.
Top Git Clients for Software Developers
The GitKraken Git GUI was reported number one graphical user interface in the source control clients category in the 2020 State of the Software Development Report. Popularity for other tools, like the command line interface and Sourcetree, have steadily declined in the past three years.
The GitKraken Git GUI was also ranked #1 Top 20 Developers Tools for 2020.
Top Git Hosting Services for Developers
Of the respondents using version control, almost half (43.22%) reported using GitHub.com to store their code repositories.
- Bitbucket.org (20.24%)
- GitLab.com (16.70%)
- GitLab Self-Hosted (11.39%)
- Bitbucket Server (10.81%)
- GitHub Enterprise (8.84%)
- Azure DevOps (8.84%)
Top Project Management Tools for Developers
Nearly half of respondents (49.79%) reported using Jira for project management, which comes at little surprise considering Jira supports the two top reported agile methodologies: Scrum and kanban.
Coming second on the list was Trello, a kanban tool, with 19.89%, and the third spot went to GitHub Issues with 10.01%.
GitKraken Boards ranked for the first time in 2020, and we can’t wait to see adoption of this legendary issue tracking tool continue to rise! 🚀
Top IDE’s, Communication, and Testing Tools for Developers
Slack remains king in the communication market, with over 58.66% of respondents preferring the tool to communicate during projects.
Visual Studio Code similarly raked in over half of the responses for preferred IDE with 54.81%.
When it came to testing, while 75.25% of respondents support using tools to test their software, there wasn’t as much agreement on the specific tool. 34.22% prefer Jest, while 29.66% use Selenium, and 19.01% rely on JUnit.
Managing Software Development
As managers and product owners worldwide know all too well, managing software development is a complex task. Not only are you managing tools, release timelines, and expectations from leadership, you also have to manage people.
Capacity Planning in Software Development
Capacity planning can be difficult when it comes to software projects; there are often unforeseen challenges that cause delays in the final hour, and disconnects between individual developers, managers, and executive leadership can cause confusion and excessive backlogs.
Is your organization struggling with capacity planning? The team at GitKraken utilizes two tools for project management and milestone tracking:
- GitKraken Boards: this free tool comes with GitHub Issue sync, PR automation, and more features needed for continuous integration and deployment. You can visualize your team’s tasks in kanban boards, calendar view, or as a timeline.
- GitKraken Timelines: this free tool makes it possible to easily plan and communicate project milestones and goals. Timelines helps managers identify which actions items are the most important and will ultimately affect the project’s success.
Trend Data: 📊Capacity was consistently reported as the top challenge in 2018, 2019, and 2020.
Knowledge Sharing in Software Development
The second challenge most often reported in regards to managing software development was knowledge sharing.
Because capacity and productivity challenges often take priority over most other concerns, it’s not surprising to see that a lack of capacity affects the ability to share knowledge amongst and between your team members.
How can you encourage knowledge sharing at your organization? Mentoring, pair programming, code reviews, and internal workshops are great ways to spread expertise across your team and facilitate personal growth of individual developers.
Consider hosting this turnkey Learn Git with GitKraken workshop—brought to you by Major League Hacking and GitKraken—at your organization.
24.25% of developers described knowledge sharing as their greatest challenge for managing software development, vs just 15.38% of managers, who ranked hiring talent and prioritizing development as greater obstacles.
Agile Software Development Methods
In 2020, global respondents reported using two agile methods significantly more than others: Scrum (58.94%) and kanban (33.33%).
Visit our Scrum Academy to get Scrum education and begin team implementation. Learn Scrum
Our Kanban solution is perfect for agile development teams who need flexibility, and the robust feature set—like GitHub Issue sync, pull request automation, Slack integration, and more—makes the tool a no brainer for modern developers.
Get your team organized with Kanban boards today!
Communicating Project Milestones
Over 60% of respondents claim to be using in-person meetings to communicate project milestones, releases, and deadlines. This is a problem for several reasons. Regardless of how things are communicated at the meeting—verbally, a digital slide presentation, or with printed materials—if there’s not a platform that allows for continuous iteration and team communication, there’s likely to be some disconnect between managers and developers along the way.
Whether you’re a product owner, junior developer, or the CEO of the company, understanding how your team plans for and achieves project milestones is critical for success. And while traditional project management tools, like GitKraken Boards, can be great for day-to-day task tracking, it can be difficult to identify, especially at a glance, which items are the most important and can affect the project’s ultimate success.
These exact challenges are why the team at GitKraken developed our latest product, Timelines, which now includes Presentation Mode.
Learn more about GitKraken Timelines and start planning and communicating project milestones:
Remote Working for Dev Teams
76.54% of respondents reported that remote work was allowed at their organization, up slightly from 72.2% in 2019.
New public health concerns and modern preferences for flexibility are just some of the factors influencing companies’ policies on remote work, with many of them opting to allow their employees a privilege that may have been unthinkable a decade ago.
With more software development teams transitioning to distributed workforces, it’s important that product owners and developers equip themselves with the tools needed to ensure success. See the 4 essential tools our team uses to ensure remote success.
It’s crucial to find tools that enable collaboration, communication, and task tracking. At Axosoft, we use the GitKraken Git GUI to keep track of who is working on what; Slack and Google Meet for daily communications and team meetings; and GitKraken Boards for project management.
Measuring Software Performance
When it comes to measuring performance, managers and product owners often have to evaluate the performance of software delivered, and the performance of the humans who built the software.
Measuring Performance of Software Developers
How do you measure the performance of a software developer, or team of developers? Which metrics you choose to measure performance will depend largely on the data available to you, and will make a significant difference in the value of your reporting.
Just under half of respondents (44.49%) claim to only measure performance by completed tasks, followed closely by having working software (43.78%). Even more surprising, nearly one third (32.33%) admitted to not using any metrics to measure performance. Code readability came in 4th with 22.60%.
Thankfully, there are numerous tools at the disposal of software development managers everywhere that help measure individual developer and team performance. In most cases, using multiple metrics, rather than just one, can help balance the data.
Measure team capacity & required velocity, plan sprints efficiently, assign tasks to team members, see work-in-progress limits, & more with the Axosoft Release Planner.
Measuring Software Development Delivery
Ultimately, delivering quality software as quickly as possible is the goal for most development teams worldwide. Keeping overhead costs low while meeting customer expectations and executive deadlines is what managers are responsible for. When asked what roadblocks most commonly caused delivery problems at their companies, respondents reported misses in:
- Unrealistic expectations (14.45%)
- Lack of clearly defined deliverables (14.31%)
- Estimation (13.02%)
Software Development Trends in Hiring
We all know this to be true: your product is only as good as the developers who code it. Hiring talent is constantly top-of-mind for most software development managers. Organizations often have trouble filling open roles fast enough, so knowing where to source good talent can be invaluable.
What are hiring managers looking for?
Sure, technical abilities are extremely important, but they aren’t the only quality hiring managers are looking for when evaluating candidates to join their dev team.
When asked what their most important hiring criteria are, the majority of respondents reported, for the third year in a row: willingness to learn.
Because our industry evolves so quickly, successful developers must be agile and adaptable when it comes to tools and processes.
Other aspects that hiring managers are looking for include: being a cultural fit (40.20%), technical skills (37.20%), work experience (34.19%), and soft skills (35.32%).
Attracting Software Development Talent
Despite pop culture stereotypes, not all software companies have cafeteries, slides, and arcades in their offices, or offer free shuttles to work. The fact is, most software companies are also small businesses, so they have to get creative when it comes to attracting talent, especially if they’re competing against the Googles and Microsofts of the world.
When asked what tactics they’re using to attract new talent, the majority of respondents (42.92%) said team spirit/culture, followed by providing interesting/challenging tasks (34.62%), and flexible working hours (32.75%).
Stay Updated on 2020 Industry Trends
Our content team is obsessed with software development trends, and we love sharing our expertise and opinions. 🤓😉😛