One of the big themes of 2023 was the enterprise struggle to make developers more productive. And the strategies for making that happen included the creation of developer platforms, changes in culture to allow developers to experience joy in their work, and understanding how to measure if a developer or their teams are being productive.
Further, the introduction of developer observability into code, the use of value streams to eliminate bottlenecks and gain efficiencies, and the development of AI code assistants all aim to achieve that same goal.
Lots of approaches, but has there been much success? The idea of “shift left,” where testing, security and governance moved into the developer purview, actually created more burdens on developers, which actually slowed productivity. Any number of DevX tools came to market in 2023, but research showed that organizations were buckling under the weight of tool sprawl.
And developer platform engineering was seen by many as tying developers’ hands and locking them into a platform they might not prefer.
It seems, then, that the complexity of the problem of making developers more productive was equal to the complexity of actually creating the applications that drive today’s businesses.
But the effort wasn’t all for naught. On the contrary, many organizations were able to increase productivity through hiring strong leaders who understand the role of developers and how they like to work.
In interviews throughout the year, effective management was cited as one of the biggest factors in developer productivity. Chris Harrold, developer experience program director at simulation software company Ansys, told SD Times in an interview earlier this year that the number one hallmark of a high-functioning team is trust – trust that your team is pulling together in the same direction, and that each member has the others’ backs. “Uncertainty kills,” he said.
Also, developers want their work to have meaning, and they want to work on interesting projects. Sometimes, though, that is at odds with the goals of the organization. Good dev managers can help by spreading the less interesting but important work around the team. “Something that I tell all my developers is ‘Look, you’re not always going to work on the latest, greatest, most amazing things all the time. Sometimes you’re just gonna build a button for a website,’ ” Harrold said. Some companies, he said, allow certain hours during the week for developers to go off and work on open-source projects or other things that are interesting to them, as a way to keep them recharged and rejuvenated. “And then when they have to build that button for the website, they can say,’ Okay, well, I got my one hour fix of really interesting work. Now, let me do what I’m doing.’ “
The concept of platform engineering became top of mind in 2023, as organizations worked to make it easier for developers to innovate without having to worry about creating the environments to build, test and deploy their applications.
Platform company Humanitec, which runs PlatformCon, this year produced volume 2 of its State of Platform Engineering report, which showed that internal developer platforms (IDFs) are being widely adopted. It included the first-ever platform engineering maturity model, best practices and reference architectures, and looked at AI and the future of platform engineering.
In an SD Times Analyst View piece in May, Jason English of analysis and advisory firm Intellyx explained, “The decision to create a platform is a commitment to help developers of varying skill levels abstract away the complexity of underlying cloud native architectures with interfaces and tools atop readily configured environments. A platform engineering approach must offer ease of use, elimination of toil, and reduced cognitive load for development teams—helping orgs attract and retain the best talent.”
Using metrics, and the McKinsey report
The widespread use of DORA metrics has created a kind of standard way to measure things like deployment frequency, change lead time, change failure rate and mean time to restore. Ori Keren, co-founder and CEO of engineering efficiency company LinearB, said those metrics are totally relevant to engineering, but there are misconceptions when those are all you look at.
Organizations, he said, need to look at the metrics that are important to the business as well.
LinearB’s benchmark report this year added something called planning accuracy, which shows how much a company committed to was actually delivered. “If you can commit to something and hit your goals with 80% of the features, that’s elite,” he said. “Most companies are not in those areas.”
Connecting those DORA metrics to the business is critical to understanding if you’re being productive in the business sense. “I always like this analogy to a car and an engine, so the engine works perfectly fine. But you could be navigating this car in the wrong direction,” he explained. “So DORA metrics are the RPM, how the car is operating, but you still need to balance those with the business metrics to know that you’re moving in the right direction.”
In August, McKinsey issued a report titled, “Yes, you can measure developer productivity,” which spelled out metrics beyond DORA that attempt to align productivity, joy and business outcome. It was widely panned in the industry as being “naive” and “ignores the dynamics of high-performing software engineering teams,” according to an article written in response to the report by Gergely Orosz and Kent Beck on “The Pragmatic Engineer.”
The year 2023 saw an explosion of generative AI solutions to assist developers in writing clean, secure code. Microsoft Copilot, delivered in February, and IBM’s watsonx, which launched in May, as well as a number of others emerged, but they came with a caveat. Since today’s applications are cobbled together largely through the use of third-party and open-source components, it’s important to safeguard the output against licensing violations or improper use of those components.
According to Chris Wright, CTO at Red Hat, the question of using open-source code to train an AI model needs to be addressed. Does the license approve that kind of use, or with open source, do the creators just want to opt out of allowing its use in models? And what about then having to turn your code back into the open-source community?
These questions, and more, will be explored more fully in the coming year.