In the past, enterprise application developers were pure coders with niche expertise. They made changes to familiar programs on siloed platforms before throwing changes over the wall to IT operations teams. The work was systematized to maintain the quality of large programs powering back-end data processing and internal services, not customer experiences.
Today, great customer experiences are dependent on the quality, velocity and efficiency with which an enterprise can deliver value through digital means. That value is built by developers -- many of the same developers who have spent years operating in a quarantined zone of familiarity.
Because developers have a critical impact on the success of your business, they must no longer be defined by what they know, but rather, how they apply this knowledge to meeting savvy and unrelenting customer demands. Empowering developers to deliver such innovation requires a focus on creating a new and improved developer experience through the following actions.
1. Foster ideas, collaboration and innovation
Developers must have a direct connection to customer feedback and be given ambitious goals to solve the critical issues they and others uncover. This will inspire them to experiment and iterate on new ideas that can be transformed into innovative deliverables that make a difference for customers and change business outcomes.
Collaboration tools and chat apps that keep distributed as well as co-located developers constantly in sync and abreast of feedback, issues, ideas, and progress are critical here. Even physical workspaces should be redesigned to encourage impromptu brainstorming or problem-solving sessions that produce a free flow of creativity and knowledge sharing.
All of this requires the elimination and replacement of silos with processes that support collaboration, communication and transparency across platforms.
2. Enable cross-platform development
Worthy ideas that solve complex customer problems can originate anywhere, with anyone, but seeing them through to life often requires simultaneous development efforts across front- and back-end platforms. In a recent BMC report, 59% of respondents reported an increase in back-end application transactions in 2018. No matter how sophisticated or advanced a front-end system of engagement may be, poorly performing code on a back-end system of record will result in a poor overall user experience.
Transactional code must therefore deploy with the same velocity, quality and efficiency as web and mobile platforms. Developers need to be empowered to work seamlessly across these environments, which requires removing platforms from silos and shifting to a modern hybrid IT architecture.
A hybrid IT approach leverages the integrated power of multiple diverse systems -- whether in the cloud, on-premise, in the back-end of a datacenter, or a combination of the these -- assigning application components based on which platform delivers the ideal price/performance balance. This effectively shifts the mindset from managing platform-based projects to building customer-first products that are as highly performing and cost-efficient as possible.
3. Aim to automate, integrate and measure
Enabling the changes to the developer experience ultimately requires providing developers with modern tools that establish a familiar, intuitive experience and automate manual, repetitive tasks so precious developer expertise can be directed at solving problems that customers care about through ideation and experimentation.
A modern, collaborative, cross-platform developer experience with these tools should make it easy for developers to do the following:
- Initiate tasks with platform-specific and multi-platform tools from a single interface that makes all platform environments look and feel similar;
- Visualize and analyze large, complex, cross-platform application architectures, regardless of the programming language or a developer’s years of experience with a platform or program;
- Make rapid changes to code and data in parallel with other developers, understanding how changes on one environment will impact other environments before these changes are released;
- Own testing at the unit and sometimes functional level while leveraging automation to accelerate the lifecycle and ensure high code quality across all systems; and
- Provision test data on the fly and discover, visualize and work with data from any platform from a single, familiar perspective.
These tools should integrate into a cross-platform DevOps toolchain that takes individual platforms out of the equation and enables developers to leverage the valuable intellectual property of the business on whichever platforms it exists.
Developers also must continuously improve the software delivery velocity, quality and efficiency with which they use these tools to accomplish tasks. Like high-performance athletes, this requires challenging developers to improve against cross-platform business KPIs as well as continuously measuring their productivity and performance. Using data to correlate developer behaviors with negative or positive outcomes based on real data, not anecdotes, will uncover proven methods to continuously improve.
Developers are increasingly the key value-drivers of an enterprise. Recognizing and addressing their changing role by transforming the developer experience into an ideal work environment is key to attracting, engaging and retaining the best and the brightest -- thus ensuring a business can effectively answer urgent customer needs faster than its competitors.