Whatever else we can say about 2020, it was a busy one for software delivery. We saw last year massive challenges for every enterprise. The one bright spark was the hard work and success for those who differentiated themselves with stellar software delivery and kept their services running – often with greatly increased demand.
Those organisations that weren’t ready, or struggled through the stages of remote-first to remote-only, had to reckon with the number of manual processes they may not have realised were a point of failure. Many will have found they could no longer rely on a build machine under an engineer’s desk.
SEE ALSO: Introducing software fuzzing – part of AI and ML in DevOps
Automation quickly became a necessity – and perhaps after due time, considering the well-known business benefits it offers in software delivery. CircleCI looked at this in our report, 2020 State of Software Delivery: Data-Backed Benchmarks for Engineering Teams. By seeing exactly where we were last year, we can better plan for 2021, which is likely to be a time of disruption and high demand for cloud and software services.
Rather than offer more predictions on top of many others you can easily find, this article says ‘yes, but where do we go in 2021?’
Plan for high demand
With remote-working likely to remain a much bigger feature in employment, whatever else happens this year we can assume that sanctity of platform and application uptime will remain critical as online services are the glue keeping business delivery running for disparate teams.
A look at the 2020 data on engineering team performance identified four key benchmarks for success. This data, particularly that from top delivery teams, suggested topics for teams to use as goals in software engineering. These are:
- Throughput. Being at a deploy-ready state most or all of the time is more important than the number of workflow runs.
- Workflow duration. High performing teams should seek workflows in the range of five to ten minutes’ duration.
- Mean Time to Recovery. A goal of recovering from failed runs by fixing or reverting in one hour or less.
- Success rate. Teams should strive for over 90 percent as standard for the default branch of applications.
Expect and mitigate team stress
At a human level, 2020 was stressful. The change of calendar year hasn’t removed any single structural stressor as yet. The human elements of the enterprise need the same care and attention as the parts that live on servers.
Business leaders will be familiar with the concept of ‘resilience’, and should ensure that their teams aren’t at risk of burnout – even where workloads have not majorly increased. The mere aspect of surviving in the midst of chaos invisibly adds to the stress load of team members – and will do so whether or not they are actually conscious of it. Human contact (even virtually), down time, and understanding are needed.
Where possible, plan for building larger teams. A larger team can be more flexible and tackle new feature development, support healthy maintenance, and handle urgent issues without being swamped. Where leaders see productivity dip it may not be right to expect teams to operate at 2019 levels given the toll of 2020 onwards. So ambitious teams need both the tools and people processes that can scale humanely.
Part of this planning should be to automate. Software pipeline automation, which lets teams move quickly and ship digital products reliably, has become more crucial than ever to software teams.
Boost the signal, cut the noise
Software delivery teams know they want to return a meaningful signal from their continuous integration pipeline. Extracting this signal requires exhaustive test coverage of the codebase. Without complete coverage, passing tests don’t necessarily indicate an absence of bugs: They can just as easily indicate an absence of test coverage (or a faulty or nondeterministic test).
Only with full test coverage can you interpret a passing run as a guarantee of code confidence. Exhaustive test coverage is paramount to getting value out of any CI tool. The 2020 State of Software Delivery Report found that the #1 challenge to automating change management across all groups surveyed was incomplete test coverage.
SEE ALSO: The Difference between DevOps, PrivacyOps & AIOps
Tie it all together
The data from the 2020 State of Software Delivery Report was clear (and you can read it for yourself). Optimising duration, throughput, mean time to recovery, and success rate all gave teams a tremendous advantage over those organisations that were not as far along their path to DevOps maturity. High performing teams that have gone all-in on the path to leading in software delivery are very happy to deconstruct their approach in order to identify what exactly is moving the needle for their needs.
For those teams looking to join the leaders, it will be important to take an incremental and planned approach in 2021: Plan, start small, gain wins, get success, and scale.
But beyond the engineering side, there’s the human one too. 2021 is a new date but faces almost all the pressures and uncertainties of 2020. It’s important to keep software engineering teams happy and well so that they can remain focused and successful.
The post 2021 DevOps predictions: Where do we go from here? appeared first on JAXenter.
Source : JAXenter