Software professionals collectively recognize the value of working in highly collaborative environments, and have experienced the benefits of doing so. While developers and managers are culturally aligned, workflow and tooling roadblocks delay delivery, preventing teams from reaching their maximum potential.
As we look at 2018 and beyond, IT organizations that successfully adopt continuous improvement practices and seamless automation across their software development lifecycle will have happier, more collaborative, and well-functioning teams who are better positioned to meet their goals and objectives.
From the junior developer with just a handful of years’ experience to the software professional who’s been in the game for decades, we set out to see how the people behind the software are dealing with a rapidly changing technology landscape.
We examined overall attitudes and perceptions on the state of culture, workflow, and tooling within IT organizations with the goal to uncover any disparities between developers and IT management. We also looked at how remote versus in-office cultures are faring, compared the attitudes of agile and DevOps teams, and exposed the trends propelling high-performing teams.
This year, we confirmed that high-performing teams are more likely to report having a strong DevOps culture, resulting in better visibility and collaboration than their lower-functioning counterparts. High-performing teams also report having better access to the best development tools, spend less time context switching, and are more likely to be using cloud-based tools. For leaders of high-performing teams, automating the software development lifecycle is a top priority.
We found that culturally, developers and upper management are aligned, placing high value on collaboration and communication. Managers are more optimistic about the time savings of practicing DevOps, with 81% agreeing that DevOps saves time in the development process, while only 65% of developers agree. There also appears to be a perception gap regarding how often organizations deploy code, with 47% of managers reporting that they deploy code on demand or multiple times a day, compared to only 39% of developers.
The majority of managers say they will spend under $10,000 on technology to support their 2018 initiatives
Continuous integration emerged as the theme for 2018, with managers expecting to invest the most in CI/CD technology, and nearly half of all respondents (47%) strongly agreeing that practicing continuous integration alleviates blockers in the development process. Meanwhile selecting the right technology for the job and integration with other tools in their tech stack prove to be their biggest challenge.
There’s an enormous incentive to implement continuous integration, delivery, and deployment. In addition to deploying on-demand, high performers experience a host of other benefits, reporting that they are more likely to feel set up to succeed, are given realistic deadlines, and are less likely to feel the need to sacrifice quality to meet a deadline. Likewise, respondents who reported using a DevOps workflow believe they are the leaders in deploying on demand and are more likely to automate more of their software development lifecycle.
Remote teams tend to trend higher in overall satisfaction and productivity compared to in-office teams, suggesting there is an incentive to adopt a remote workplace culture.
of remote teams say they have visibility into what others are working on compared to 57% of in-office teams
of in-office teams cite replacing ingrained practices as their number one challenge compared to 49% of remote teams
of remote teams agree they have a well-established DevOps culture compared to 34% of in-office teams
of in-office teams disagree that their organization has a strong DevOps culture, compared to 27% of remote teams
An emphasis on and preference for open source tools is a unifying factor across all segments. Regardless of level, culture, or workflow, open source proves to be critical for software development teams with 92% of all respondents agreeing that open source tools are important to software innovation.
Respondents are passionate users of open source, with 75% reporting that using open source tools is important to them and 84% saying they prefer to use open source over closed or proprietary tools.
Software professionals believe that open source tools can offer multiple benefits compared to closed source software. The majority of respondents maintain that open source tools are more secure, can improve overall software quality, and streamline the development process.
The collective attitudes and behaviors of developers toward their workplace culture can offer crucial insight into effective habits and reveal crippling dysfunctions. This section serves as a benchmark for overall developer satisfaction, covering everything from physical workspaces to perceptions of success.
Respondents place a strong value on working in a collaborative environment, where they feel their voices are heard and they have the ability to make decisions about their work. A strong majority suggest that they find it easy to collaborate with their team members and others in their organization. Flexible workplace and time-tracking policies are common, with productivity measured by results rather than time spent.
The majority of those who work remotely do not track time.
Respondents told us they use a variety of apps, like GitLab, Pivotal Tracker, WakaTime, Toggl, Velocity by fibonacci, Bullet Journal, Time Doctor, Timular zei
Managers and developers are well aligned in a number of areas, although managers tend to be more optimistic than developers when they differ. Similar percentages (roughly 75%) of each group feel set up to succeed in their jobs, and about two-thirds agree that they are given realistic deadlines. Twenty percent of developers, and nearly the same proportion of managers, feel they are not given realistic deadlines. Only half of developers agree that project expectations and requirements are set up front, and a third say they are not.
Transparency lags behind for some teams, with a quarter of developers indicating they do not have visibility into what others, such as their colleagues in operations, product, and security, are working on. Remote or mostly remote teams lead their in-office counterparts in visibility into what others are working on, likely due to the fact that remote teammates need to be more deliberate about communication and planning in order to succeed.
Although a strong majority feel comfortable proposing new ways of working, they face difficulty overcoming the status quo. Replacing ingrained practices, along with a resistance to change, are the top two challenges identified by all respondents.
Lower performers are more likely to identify a lack of leadership support (36%), inadequate workforce training (35%), and a risk averse culture (30%).
High performers are less likely to name these same challenges: 22%, 22%, and 19%, respectively.
69% of managers, compared to 57% of developers, said they have visibility into what others are working on.
Lower-performing teams were less likely to report being up on what their colleagues are working on; half agreed that they have visibility into others’ work, compared to 63% of high performing teams who said the same.
Process and procedure is often a hotly contested topic. Too much can hinder a team’s ability to adapt and innovate, too little can result in confusion and duplicate work. In this section, we examine the current state of balance between the two.
Manual testing and a change of plans mid-process (often by non-technical stakeholders) cause headaches for developers. As one respondent summarized, “We need to plan better and automate more,” a sentiment that was echoed across multiple responses.
A majority (67%) of all respondents agreed that using a DevOps workflow saves time during the development process; a sentiment also expressed at an even higher rate among managers, with 81% agreement.
High-performing teams report having a clear DevOps culture at rate more than double (45%) that of lower-performing teams (21%).
“Chaos” was the top adjective used by respondents who chose “Other” to describe their dev process.
Developers said that they encountered the most delays in the testing phase, whereas among management, planning topped the list as the number one cause of delay.
90% of managers, compared to 84% of developers, agree that practicing CI alleviates blockers in the development process.
Respondents show an evenly distributed range in opinions about their organizations’ use of CI. Nearly half of respondents said their organization’s use of CI is good or very good, while over one-third of respondents gave their organization’s use of CI an unfavorable rating. When we asked them to elaborate, respondents who indicated that CI is not done extensively at their organization attributed this to a lack of knowledge, skill, and habit. In a few cases, respondents indicated they had been hired expressly to set up CI and help their new team make the transition.
78% of managers, compared to 55% of developers, say that automating more of the SDLC is a top priority in their organization. 71% of respondents who practice DevOps also agreed automation is a high priority, compared to 60% of respondents who practice Agile.
In a perfect world, tools help software teams work faster and automate more so they can focus on innovating and creating. However, when there’s a proliferation of options and an ever-changing technology landscape, choosing, implementing, and integrating the right tools becomes a significant challenge.
Open source wins across the board, with respondents agreeing that open source tools are preferred by developers, while also better for innovation, security, and a smooth development process.
Most say they use 3 to 6 tools to complete the development process
One-third say they use cloud-based tools less than 19% of the time; but nearly as many (27%) say they use cloud-based tools 80-100% of the time, versus on-premise.
A majority spend less than 40% of their time integrating their tools, and a plurality spend less than 19%.
55% lose time context-switching between tools on a regular work day
Managers prefer open source to closed source tools, say that using an open source tool improves software quality. Additionally, the majority of managers agree that open source tools streamline the development process and improve security at a higher rate than developers. Managers were nearly 20% more likely to say that using an open source tool is important to their development organization, suggesting perhaps that vendor lock-in is more salient for managers weighing available options.
Engineering managers are highly concerned about the tools their teams are using.
Respondents who chose “Other” cited time, bandwidth, budget, scaling, and talent constraints, as well as difficulty in relationships with the business side of their organization.
We surveyed 5,296 software professionals from around the world. The majority of respondents identify as a software developer or engineer and work for small- to medium-sized businesses (SMB) in the hardware, services, and SaaS industries.
Other industries represented by <8%: government, aerospace and defense, automotive, consumer products manufacturing, energy and utilities, industrial manufacturing, biotech/pharma, insurance, food and bev
<1% identify as a machine learning specialist, graphics programming, database administrator, quality assurance engineer, graphic designer
We launched this Global Developer Survey on November 17, 2017, collecting responses until December 18, 2017. During that time, we promoted the survey primarily on GitLab’s social media channels and newsletter. In order to correct for the gender imbalance developing in our survey sample, we made an extra push via Twitter on December 5 to encourage women involved in the software development lifecycle to take the survey. By the end of the open period, we achieved approximately 25% female respondents, the same percentage of women who currently hold computing roles, according to NCWIT.
To create and compare the filtered views of developers and management, we used the following criteria, collected from question 8 in the survey:
We excluded Product and Release management.
To create and compare the views of high-performing and lower-performing teams, we used the following criteria:
Higher-performing teams are defined by developers who told us that they deploy their code on demand, multiple times per day, and who estimated that they spend 50% or more of their time on new work (n=913). Lower-performing teams are defined by developers who told us that they deploy their code “between once per day and once per month” and “between once per month and once every six months.” (n=601) We took inspiration from the State of DevOps report, which identifies deployment frequency and time spent on new work versus rework as two of several indicators of high- and low-performing organizations. To ensure we had a big enough segment to compare, we lumped together everyone who does not deploy on -demand into the lower-performing category.
To create and compare the views of remote and non-remote teams, we used the following criteria: