At a time when rapid innovation has become a strategic business imperative, application development and developer experience are more important than ever.
Why has developer experience (DevX) become so essential to business success? First, in today’s dynamic business environment, meeting customers’ shifting demands and accelerating time to market is vital to growth. Organizations need developers to spend time delivering business value and shipping software quickly. Second, development is expensive. When developers have to stitch together services and components, they aren’t shipping software, which directly impacts (and increases) your business costs. In fact, a McKinsey study found that companies with a higher developer velocity index grew revenue 4 to 5 times faster than those with a lower developer velocity index. These organizations also had higher operating margins and were more innovative, according to the study.
But to create a better experience, developer, operations, and security teams need better tools to deliver services faster, reduce friction, and minimize developer burnout and turnover.
Here are seven ways to address these challenges to create a superior developer experience that can give you a competitive edge and accelerate business success.
Use an application-aware platform. Kubernetes is complex, and at the same time, an absence of standards often results in teams needing a consistent way to build, run, or manage apps. An application-aware platform designed to skip the wall of YAML empowers you to develop and deploy applications quickly by automatically using software supply chains and conventions to build and configure apps consistently. With a platform that inspects, builds and configures your apps for you, regardless of the language, developers are free to focus on writing functional code faster.
Use cloud native, platform-aware developer tooling. Cloud native code cycles are long, and determining why code doesn’t work—and how to understand what’s wrong and provide a fix—can be frustrating. When you use cloud native, platform-aware developer tooling, you gain two benefits: 1) The ability to iterate and test code interactively as it runs inside Kubernetes in real time, and 2) Access to live updates as you work so you can modify and see your changes in the cloud in real time.
Use a platform that supports the easy diagnosis of running applications. The lack of cloud native diagnostic tools can make troubleshooting, or even accessing basic information, difficult for Kubernetes apps in the cloud. The lack of real-time feedback and answers to questions (e.g., What environment is the app running in? Is the logging configured correctly?), as well as cumbersome inspection of runtime settings and configurations, requires significant effort to resolve issues. When you have a platform that’s aware of applications, you have access to tools that help you more easily diagnose and troubleshoot problems while observing what’s happening inside your applications as they run.
Ease the learning curve and bootstrap new apps using patterns. Bringing new team members and teams up to speed requires filling the gaps that come from a lack of project experience or context. The result is often low productivity and effectiveness, developer stress, and all-around frustration with the lack of progress. A platform that eases the learning curve via a learning center populated with developer-focused hands-on labs not only provides a place for new team members to learn how to build applications, it also becomes a powerful tool to jumpstart applications with template apps that encourage reuse and incorporate best practices and patterns.
Standardize on one simple solution that can build and deploy your code quickly and securely. Security and compliance requirements mean that there is no consistent way to build containers from source code in a repeatable and secure manner. As you scale, this becomes a massive challenge because there is no way to maintain, secure, or ensure that best practices are being followed for your container images. When you standardize a single solution to build and deploy code, you have a secure software supply chain that includes image building, scanning, and signing. Safety is baked into every deployment by default.
Automate application deployment with a secure software supply chain. When custom build and deploy pipelines are created for every app, it creates an issue: Pipeline sprawl. With an application platform that provides a centrally managed supply chain (or "golden path") that can be used for multiple applications, developers are freed from the toil of pipeline management while benefiting from components that are pre-configured to work together seamlessly. Supply chains with strong configuration defaults boost deployment cadence and eliminate the risk and uncertainty that comes with almost unlimited technology choices.
Use tools that can leverage existing experience and investments. Organizations already have existing services in place, and you need to be able to leverage the experience and investments that come with those. A platform built with modularity will allow you to swap default components for your preferred tooling. In this way, a composable platform should give you the flexibility to easily substitute individual components and let operations use what they prefer, from CI to the container build system.
Organizations can leverage the benefits of these tips with a platform that helps you address all seven areas for business success. VMware Tanzu Application Platform is a modular, cloud native application platform that delivers a developer experience designed to turbocharge productivity and innovation across multiple clouds. Tanzu Application Platform empowers developers to build and deploy more software quickly and securely, while turning developer experience into your competitive edge.
This blog post is a summary of a live presentation given by Ryan Baker, James Urquhart, and Ben Wilcock. View their presentation in its entirety here.
Find more actionable tips in this blog about developer experience from a developer's perspective. And read this executive checklist from Forrester explaining how to foster a strong developer experience for business growth.