olly - Fotolia
How to boost developer productivity
A good software developer experience is something team leaders and project managers should strive for if they are to get the best out of their teams
The Tackling the software skills crunch study from Freeform Dynamics recently found that a fifth of organisations consider their development tools, processes and methods not fit for purpose. A further 22% anticipate these will become problem areas going forward.
The majority of the 50 senior IT leaders and managers surveyed for CIO WaterCooler employ software developers on a traditional in-house model. Organisations with teams comprising more than 20 software developers were found to be more focused on improving the speed of software delivery and getting new features and functionality to market faster (73%) than those with smaller software development teams (27%).
Freeform Dynamics says the implication of this is that it is easier to get things “out of the door” quickly when teams are smaller.
Rolling out enhancements faster – as in having a high software release cadence – is also more achievable in organisations that have focused on delivering a good developer experience.
In April, Gartner found that over half of software engineering leaders now see high-quality developer experience as a critical priority in software delivery. The survey of 142 software engineering leaders from large enterprises across industry verticals in North America, EMEA and Asia-Pacific reported that 58% of software engineering leaders rated developer experience as “very” or “extremely” critical to the C-suite at their organisations.
What makes a good developer experience?
Developer experience tends to centre around productivity. According to Bola Rotibi, chief of enterprise research at CCS Insight, it is about focusing on what developers want to do. “They want to be able to code, pull in new features, deliver what the business wants and develop software that is at the right level of quality. They also want to deploy their code quickly,” she says.
One way software development team leaders can improve productivity and help to speed up software development work is by encouraging reuse. This may be as simple as pulling in an Open Source library to avoid having to reinvent the proverbial wheel.
But increasingly, enterprises will be drawing on external services that are made available through internal or public application programming interfaces (APIs), or a commercial off-the-shelf product that may provide a set of external APIs for developers to use to extend its functionality.
Explaining the benefits of reuse in enterprise software that can be extended, Claus Jepsen, chief technology officer (CTO) at Unit4, says: “We will always need software, but we don’t always need to write it. Software extensibility provides the tools for third parties, such as vendor channel partners, to add to programs in a fast and elegant way. It’s not new, but it is certainly coming of age, as the uber-trend for many years now has been away from customers generating unique custom code and towards a more building-block approach.”
Claus Jepsen, Unit4
But a good developer experience is about more than just coding. The Gartner survey of software development team leaders found that several of the technologies considered to have the highest value for developer experience focused on streamlining processes.
Gartner’s data shows that for many of the software team leaders surveyed, enhanced developer experience or productivity is the top value factor for adopting several technologies and practices across the software development lifecycle. The technologies cited include internal developer portals, performance engineering, the continuous integration/continuous delivery (CI/CD) toolchain and container management.
Along with improving developer experience, Gartner found reducing cost and delivering superior capabilities to be among the numerous value factors driving software engineering technology adoption.
Gartner discovered that, despite citing “high or unpredictable costs” as a top risk factor, software engineering leaders are currently deploying several platform technologies, including API management platform as a service (PaaS), integration platform as a service (iPaaS) and cloud management platforms – all of which are perceived as high value.
Gartner reported that additional platform technologies currently in the pilot phase include innersource platforms, value stream delivery platforms, value stream management platforms, serverless function as a service (FaaS) and internal developer portals.
Organisations are also buying technologies to manage what Gartner describes as “increasingly complex application architectures”.
Performance engineering and API management PaaS are both rated as being high value among the organisations Gartner spoke to, and are currently in deployment. Platform engineering, design systems and container management are also in deployment.
An environment for developer productivity
Italian insurance firm Sara Assicurazioni has used Tibco to help it build out its digitisation strategy, based on a multicloud enterprise architecture that connects all its data and systems. The approach offers flexibility and scalability, and offers the insurance company new ways to deliver products and services.
Speaking at Tibco’s Next event in Munich recently, Luigi Vassallo, chief technology officer (CTO) at Sara Assicurazioni, said the company underwent substantial change to become a digital company. Supporting nearly 400 agencies and 660 staff, his goal has been to provide sales agents and customers with the same user experience they have come to expect from web services like Google.
Looking specifically at the IT department that supports the business, Vassallo’s goal was to transform IT to become a business enabler. In 2018, when the company decided to get rid of its mainframe, rather than develop new infrastructure from scratch, Sara Assicurazioni chose to deploy new workloads built using Tibco low-code tooling on Amazon Web Services (AWS). These completely new applications used an open application programming interface (API) and benefited from the disaster recovery and scalability features of the AWS platform.
It took just a year to create an ecosystem of applications and create APIs. According to Vassallo, an unexpected benefit of the digital transformation was that Sara Assicurazioni became a different company. “We have agile business communications between the business, IT and top management,” he says.
Gartner found that other technologies that organisations are currently piloting to enhance developer experience include software composition analysis, GitOps, browser-based integrated development environments (IDEs), innersource platforms, artificial intelligence (AI)-augmented software engineering and internal developer portals.
Discussing the study, Philip Walsh, principal of research at Gartner, says: “Software engineering teams’ workflows and technology needs are changing as organisations continue to shift to cloud-native, modular and API-centric application architectures.”
Walsh says a platform offers a place where developers can go to select tools they need to do their job. It is used, he says, to enforce code consistency and quality.
“All the documentation and the resources are organised, curated and there is built-in automation to set up the development, testing and deployment environment,” he says, adding that this should mean a new developer can start committing code right away.
“You want this one-stop shop where someone who’s been onboarded can get to work straightaway, without having to ask where to go to find templates,” he adds.
The next level of developer experience
Artificial intelligence (AI) is one of the new and novel ways now available that promise to improve developer productivity and enhance the developer experience.
AI offers another way to simplify software development tasks, according to Stefan Sigg, chief product officer (CPO) at Software AG: “Whenever a developer is doing something, the question that should be asked is, has somebody else done that before?”
Sigg says developers can do a manual search on a developer resource like stack overflow to check, but points out that such a question is perfect for large language models (LLMs). An LLM is able to build a collection of code in a large neural network. He says the developer’s next question is likely to be to ask for an example of how the code is used.
For instance, Sigg says that with integration middleware, it is notoriously difficult to achieve what is often referred to as “field mapping”. This is where a developer who wants to integrate one system with another needs to figure out how fields in one system relate to those in another. The two IT systems are likely to use different data formats. He says: “You wonder, how do I connect them?”
A large language model can propose a suitable mapping, which the developer is then able to verify. During a recent user group meeting, Software AG demonstrated the idea of how a conversational iPaaS could be used to help developers solve complex integration issues.
Why developer experience matters
In March 2022, VMware commissioned Forrester Consulting to evaluate the connection between developer experience and business value metrics and outcomes. Forrester reported that improving developer experience could impact the quality of software, its velocity and, ultimately, its profitability. An improved developer experience can also lead to higher developer job satisfaction.
Developers want to be able to do the best job they can and deploy high-quality code as quickly as possible. Gartner sees a developer platform as something worth investing in, even though such platforms are often costly. Using LLMs to augment software development is at a very early stage, but its use could simplify complex programming tasks and potentially minimise errors.
Read more about developer experience
- It’s not enough to set up an approved path to production to establish DevSecOps, experienced platform engineers say, with developer experience and collaboration equally important.
- Blockchain fundamentals, programming knowledge, security awareness, and experience in testing and debugging are among the major requirements in smart contract development.