Opinions expressed by Business owner contributors are their own.
I have observed a strange trend in company board meetings. VPs of Marketing and Sales will come in with streamlined charts, reports, and data. The CFO will activate a dashboard detailing every penny of income and expenses. The head of HR will share hiring metrics down to the last employee. But when it comes to engineering, the lifeblood of any modern business, there is little data, just a vague sense of what works and what doesn’t.
The reality is that engineering efficiency and developer expertise remain a black box, even in some of the most technologically advanced organizations. And inside that box lurks inefficiencies on a massive scale.
I’ve heard of big banks employing tens of thousands of developers operating at 30% efficiency due to bloated processes and unnecessary effort. This is more than a waste of resources. Frustrated developers quit. The company’s payroll sags under the weight of extra wages needed to make up for inefficiencies. Clients are stuck waiting for the deliverables. Considering the global impact on productivity and production, this is easily a trillion-dollar problem.
The good news is that there are simple, concrete ways to prioritize developer experience (DX) and engineering efficiency. I have seen the transformative benefits of improving DX as a developer, founder and CEO of three high-growth technology companies. Here’s what every CEO should know:
Related: Use these 4 tips to attract and retain software developers
The true cost of poor DX
Any company dependent on software development should be obsessed with optimizing the work experience of developers. Research shows that most software engineers spend more than half of their working day doing boring and repetitive tasks. No engineer wants to spend hours fixing an issue that could be detected by automation or wait weeks for approval from other teams. Yes, they can (and do) switch to other projects, but context switching increases resistance and the likelihood of errors. It’s also a stressful way to work.
A frustrating work environment leads to heavy turnover, which is costly at any time, but especially now that demand for great developers far outstrips supply. In the United States, according to the Bureau of Labor Statistics, there are approximately 162,900 open positions for software developers and related occupations. As word of a company’s DX failures spreads, recruiting becomes difficult, creating a downward spiral.
All of this translates into profits, with developers earning an average salary of over $120,000, leaving them idle to burn cash. Worse, inefficient engineering inevitably slows down product development. Companies in competitive industries such as banking, retail or healthcare that fail to understand DX will lose customers to competitors who can quickly roll out apps, updates and new products.
On the bright side, since most businesses are new to DX, a few simple improvements can yield substantial benefits. Here are three practical ways to improve the efficiency of your developers:
Related: The future of software development in 2022 and beyond
1. Make it someone’s job
This could be a Developer Experience Officer (DXO), Lead Engineer or a rotating team, but you need someone who owns DX within your company. Here at Harness we have a Tiger Team who analyze inefficiencies and recommend solutions. Here’s a recent example: The team learned that our codebase was too large for developers to test changes on their laptops, which turned a two-minute test into a 40-minute hike to use a computer robust enough. Once the problem was identified, the solution was simple: Reduce the number of microservices needed on developers’ laptops so they could use their own computers to test code.
2. Collect data and use it
It is quite ironic that engineering, of all departments, suffers from a lack of quantitative operational data. Most companies know more about sales team productivity than the engineering teams at the heart of their work. You can’t fix what you haven’t measured, so start by picking hard numbers. Some useful metrics include the number of automated processes in the developer workflow, the amount of work a developer can complete within a given time frame, and the lead time between initiation and delivery of a project.
Then, there are qualitative insights. Most companies rely on customer and employee experience survey feedback to make sure they hit the target, but there’s no equivalent for developers, and that’s a huge oversight. Use surveys to collect qualitative data from engineers and identify bottlenecks and deficiencies to address. DX measurements can include metrics like how easy it is to locate the information, tools, or systems they need to do their job.
3. Remove unnecessary barriers
The barriers faced by developers can be cultural or technological. A culture of micromanagement and excessive supervision is endemic to many large companies. For developers, that means wasting time waiting for someone to greenlight incremental progress. Instead, establish high-level security barriers on cost, safety, and quality, and give engineers free rein within those parameters. The streamlined process will increase creativity and productivity, and increase developer job satisfaction.
This goes hand in hand with the update of the developer’s technology toolkits. Too many are stuck using outdated, manual tools and processes or hacking their own fixes. That’s why I’ve worked to build solutions using automation and artificial intelligence to enable users to build, test, deploy and verify on demand. For example, if a developer is working on a feature, merging it with the main code can require thousands of tests, which could take hours to run. But using intelligent automation, the same process could take 20 minutes. There are even automations that allow you to programmatically define your own guardrails and automate approvals when a design meets specifications.
Related: How AI will transform software development
Ultimately, improving the developer experience can’t be a one-time event. Continuous attention and iteration is required to gather relevant data, remove blockages, and increase productivity and job satisfaction. Yet improvement is at hand, and the potential payoff is too great to ignore.
I dream that I will soon walk into a meeting room and see a developer productivity dashboard as comprehensive as any other department. We have the tools and data to unlock the productivity, morale, efficiency, customer satisfaction and benefits of innovation. It’s time to free developers from drudgery so they can do the work they love.
#simple #ways #improve #efficiency #software #developers