CircleCI’s study illustrates the best ways to make sure your engineering team is at its most productive.
As most companies are still looking to rebound from the Great Resignation, team structure and culture may be more important to employees than organizations might think. The annual State of Software Delivery Report released by CircleCI details the top DevOps practices by high performing engineering teams, and four main factors were the keys to a successful team setup.
The common factors in successful engineering teams
In the report, it is noted that the most efficient DevOps teams use extensive testing and meet the following standards when doing so:
- Prioritizing being in a being in a state of deploy-readiness, rather than the number of workflow run
- Workflow durations being between five to ten minutes on average
- Recovering from any failed runs by fixing or reverting in under and hour
- Success rates being above 90% for the default branch of their application
According to Circle CI’s findings, from December 2019 to September 2021, the speed at which tasks were slowed, most likely due to more extensive testing, use of third-party tools and pipelines taking longer to complete. The average duration during this period came in at an average of 12-13 minutes, which indicates that there is room for improvement in the rate tasks get completed. The report suggests adding to test suites, including more third-party tools for security, additional compliance scans and measuring code coverage.
The identification and implementation of the correct team size was imperative to the success of DevOps teams, as larger team sizes correlated with better performance. The ideal team size according to the study ranged between five and 20 code contributors based on the tasks that needed to be completed, as a larger team also decreases the chances that members of the team experience burnout from overwork.
SEE: Google Workspace vs. Microsoft 365: A side-by-side analysis w/checklist (TechRepublic Premium)
End of year holidays were harder on teams than during peak COVID-19
Mean time to recovery, or the average time between a pipeline’s failure and its success, affected teams more during the holiday season than it did during the peak of COVID-19. This increase across the board during winter holidays put smaller teams at a bigger risk of not completing their tasks in an effective manner. This was likely due to the decreased number of coders over a period to help comply with workers’ requests for a healthy work-life balance.
This is another reason why larger teams are important, to assist with completing work in a timely manner while still allowing employees to take time off as needed. To help combat this, creating a larger team and staggering off times for workers can create an effective balance in meeting an equilibrium of avoiding burnout, while also keeping an adequate number of team members working together on a project.
Small teams can compete with the enterprise if priorities are correct
While larger teams are ideal for a number of reasons, CircleCI found that teams with fewer members can be successful if test-driven development (TTD) is put at the forefront of operations. The TTD method relies on software requirements being converted to test cases before a program is fully developed, and tracking all changes in the software development growth cycle by testing the item against all test cases. This can be especially helpful when there are fewer members on a team by requiring fewer workers to get a piece of software up and running, thus allowing more members to work on other projects.
The teams that are most productive at continuous integration (CI) were able to continue their work despite being faced with the same issues faced by organizations as a whole. CI is the practice of automating the integration of code changes from multiple contributors into a single software project, and allows for the merging of code into a centralized location where builds and tests are run.
SEE: Top keyboard shortcuts you need to know (free PDF) (TechRepublic)
The most popular coding languages
Rounding out the top-five most used languages were Python (9.56%), Ruby (9.04% used) and HTML (6.16%). These rankings remain roughly the same from 2019 to 2021 with the languages continually being most used year-over-year. This signals that it is important to have a breadth of knowledge across these various languages, as none of the languages seem to be falling out of favor.