Software development today looks very different than it did even a few years ago. The shift to cloud applications and the evolution of DevOps and CI/CD methodologies are disrupting and reshaping the way modern dev teams build and maintain software — and, as a result, they're also changing developer experience, ie, the day-to-day experience of how developers work and collaborate.
State of Cloud Application Development Report
500+ IT professionals shared their perceptions, concerns and implementation plans regarding cloud-native.
Table of contents:
- What Is an Elite Performer?
- DevOps Mastery: Key Capabilities for Elite Dev Team Performance
- 3 Reasons Teams Falter on the Path to Elite Performance
- Low-Code: Closing the Gap to Elite Performer
- Ready to Learn More?
These trends are important because they're giving some of the world's most successful companies a major competitive advantage. Netflix and Uber, for example, have built their operations almost entirely on cloud-native apps and infrastructure — and their dev teams are among the world's best when it comes to leveraging cloud-native tools and technology.
Recent survey data clearly shows this connection between elite-performing, cloud-native dev teams and business performance. It also shows a wide gap between elite and low-performing organizations, and that gap appears to be getting wider.
If your organization is on the wrong side of this gap, now is the time to take action. Let's look at some ways your dev team can make the leap, quickly and reliably, to elite cloud-native performance. And let's look at just what this means for the developer experience.
What Is an Elite Performer?
What do we mean when we talk about elite or top-performing, cloud-native software teams? Thanks to data from the DevOps Research and Assessment (DORA) State of DevOps survey series, we have some very clear insights into this key question.
The DORA survey results, based on data from more than 32,000 software development professionals over the past seven years, focus on four widely-used KPIs for software development teams:
- How often a team deploys code to production
- How long it takes them to get from committing code to production release
- How long, on average, it takes to restore service when something goes wrong
- What percentage of a team's production releases fail and require an update or rollback
The research shows that some software teams perform extremely well, based on these KPIs. It also shows a huge gap between these elite-performing teams and those with the least impressive performance:
- Elite teams deploy up to 900 times more often than low performers.
- Low-performing teams take 6,000 times longer to restore service after an unplanned outage or unsuccessful software release.
- And the low performers have change failure rates up to 30 percentage points higher than elites.
DevOps Mastery: Key Capabilities for Elite Dev Team Performance
Dev teams in every industry today share similar challenges: They're under pressure to deliver new digital business capabilities and differentiating customer experiences. They're expected to deliver code faster, sooner, at greater frequency, and with higher quality than ever before. And they're navigating fast-changing business requirements; scaling to support growth; and managing and troubleshooting these increasingly complex, distributed, cloud-native software environments.
Elite performing teams have learned how to conquer these challenges and create value for their businesses. One of the most important keys to success is their ability to develop new and powerful capabilities for building, deploying, and managing cloud-native apps:
- Loosely coupled architecture: Modern software teams need application and development architectures that are built to be flexible and resilient, to support automation, and to enable autonomous test and deployment processes.
- Continuous integration: Teams can break code updates into small batches for automated testing and near real-time feedback. When a problem surfaces, it's usually manageable; a team can swarm to fix the issue, repeat the cycle, and work toward a stable build with an efficient dev process.
- Continuous delivery: Teams can use a loosely coupled architecture, continuous integration, test automation, and other methods to keep moving code constantly into production — accelerating the deployment cycle without putting quality at risk.
- Monitoring and observability: Finding and fixing software issues before they impact production code or the user experience is critical. Training developers to be proficient in monitoring and take ownership of software issues is one of the best ways to achieve this goal.
Teams that master these and other key DevOps capabilities can achieve amazing things. This is how the teams at Uber, Amazon, and Netflix enable lightning-quick business agility by deploying code to production 5,000 times a week or more. It's how Adidas accelerated its deployment frequency from every six weeks to three times a day while cutting deployment times from three days to 60 seconds. And it's why some retailers are thriving while others struggle to stay relevant.
3 Reasons Teams Falter on the Path to Elite Performance
Many teams today are ready and willing to embrace these new capabilities. They feel the pressure to do more, do it faster, and do it all at massive scale—and they see how other teams have made the leap to elite performance by mastering DevOps skill sets.
Yet we also know that many of these dev teams are struggling to make the leap to DevOps mastery. And many of them are falling short for the same reasons:
- "Tool sprawl" chaos and complexity. A CI/CD pipeline today often includes 10-20 different tools and services, many of which have their own plugin/service ecosystems. The resulting tool sprawl gives many teams a welcome degree of flexibility — but for many others, it leads to issues with tool integration, duplication of effort, lack of visibility, and possible security vulnerabilities.
- Management overhead. A typical enterprise developer today manages up to 100 times as much code as they would have back in 2010, and at a higher level, teams are tasked with supporting and maintaining huge — and still growing — app portfolios. As these overhead workloads grow, they're giving teams less time to invest in innovation and new product development.
- Talent gaps. DevOps mastery depends on a team's access to talent with critical, often specialized, skill sets. Yet according to a recent OutSystems survey conducted by Lucid, just 47% of developers consider themselves knowledgeable about cloud-native development. The same survey found that about 2 out of 3 companies have unfilled database admin and front-end developer roles, and 77% have an urgent need for a cloud architect.
Low-Code: Closing the Gap to Elite Performer
These challenges don't have to keep your software team from achieving elite performance. A high-performance low-code application platform like OutSystems can help a team stay focused on building robust, functional, reliable software in three important ways:
- Bringing abstraction and automation to the development process — driving up productivity while reducing the need for specialized skill sets or hard-to-find talent.
- Giving teams robust, reliable tools that have proven themselves suitable even for use cases with demanding data security and compliance requirements.
- Constantly integrating the latest cloud-native development methods — exposing powerful new capabilities to teams without requiring extensive training or an extended learning curve.
- Giving teams access to cutting-edge capabilities in areas such as security, performance, and dependency management, while abstracting away the need to acquire new skills or master unfamiliar toolsets.
The recent OutSystems and Lucid survey found that 76% of developers now agree: low-code platforms are an excellent way to implement cloud-native development methods. That's a compelling message for teams needing the benefits associated with elite cloud-native application development but also require a simpler, less costly way to achieve it.
Ready to Learn More?
How can your own team take its first step on the path to elite cloud-native performance? Here's a good starting point: Watch my recent CIS session, "Becoming an Elite Performer: How CI/CD and DevOps Changes in a Cloud-Native World". While you're watching, consider these questions:
- How would achieving elite performance impact your own business?
- How does your DevOps performance stack up, based on the same benchmark DORA uses for its annual State of DevOps surveys?
And then take a closer look at how a low-code application platform like OutSystems could transform your own team's ability to adopt and master cloud-native and DevOps methods. We're here to answer your questions and help your dev team reap the rewards of a low-code strategy.