Developer Productivity Engineering (DPE) is a new software discipline that uses data analytics and acceleration technologies to speed up critical software development processes—from build to test to CI—and to make them more efficient. Key objectives include achieving faster feedback cycles, more reliable and actionable data, and a highly satisfying developer experience.
DPE is perhaps the most important movement in software development and delivery since the introduction of agile, lean software development, and DevOps methodologies and tools. For many companies, initiatives and experiments to boost developer productivity have been spearheaded primarily by lead developers, who strive to mature their processes and find enlightened ways to create a cutting-edge development experience for their teams.
Rather than this largely ad hoc approach, it may be time to formalize investments in Developer Productivity Engineering by establishing a dedicated team. Here are three reasons why this may make sense for your company.
To achieve excellence in any discipline requires focus, and focus in business requires dedicated resources. Dedicated teams have a better chance to succeed for several reasons, particularly when it comes to DPE. First, the mere existence of a DPE team signals that this is a management priority and that developer productivity engineers (like release engineers and build engineers) are first-class members of the engineering team.
Second, by standing up a dedicated team, management acknowledges that a separate set of goals and metrics are needed and, ideally, will make meeting those goals the focus of at least one person’s full-time job.
Dedicated teams also enjoy the autonomy to manage and develop their own talent and unique skill sets. For DPE to succeed, it is necessary to find software development professionals that have a passion and affinity for supporting development teams in matters of productivity and efficiency.
Finally, the mere presence of dedicated teams reflects a milestone in the maturity of any new business or technical discipline. In this context, it is noteworthy that many high-profile companies that have achieved or aspire to a high level of maturity in this area have long ago established dedicated DPE teams.
2. Return on Investment
While you can realize some DPE benefits without a dedicated full-time team, the magnitude and sustainability of those gains won’t be as great. For example, it’s easy to quantify the annual dollar savings from using DPE build and test acceleration technologies, like build caching and distributed testing, to shave minutes off of your average build time (i.e., cost per engineering minute * average build time reduction in minutes * average number of builds per year). A dedicated team not only provides the expertise to implement these DPE acceleration technologies and optimize their results, but can also ensure that build and test times don’t regress over time.
For many moderate size development teams this quickly translates into double digit savings, measured in engineering years, or budget dollars measured in millions. This alone can justify your investment in a dedicated DPE team and tools many times over, without even considering the myriad other hard and soft benefits. Such benefits include dramatically reduced mean-time-to-resolution for software incidents; better management of flaky tests and other avoidable failures; and more efficient CI resource consumption.
3. Competitive Advantage
Winning, or at least not losing the war for software development talent, is mission-critical for many companies. As a result, attracting and retaining top talent depends on the quality of the developer experience you can provide.
We know that the best way to improve the developer experience is to give them back the time they spend doing things they hate, like waiting for builds to complete and debugging software. That time can be better spent doing the one thing they love most—building great software features that delight end users.
These days, many companies use the existence of their dedicated DPE teams as a recruiting and retention tool because it demonstrates their commitment to providing a rewarding developer experience.
Businesses have a history of establishing dedicated teams at all levels to drive strategic initiatives aimed at gaining a competitive edge or remaining competitive, such as innovation and digital transformation teams. For example, it’s not uncommon to see dedicated teams driving productivity and efficiency initiatives in areas like business process engineering (e.g. Lean, Six Sigma), manufacturing (e.g. Total Quality Management, JIT), and industrial process engineering. Given the strategic importance of software development and delivery to most modern businesses, shouldn’t software build and test engineering have the same priority?
For most organizations, developer productivity engineering should no longer be viewed as an informal, reactive, and opportunistic job to be done by developers in their spare time. Forward-thinking engineering teams have discovered that (1) systemic developer productivity gains require organizational focus, (2) the business case for DPE is a no-brainer, and (3) the reward for taking action is sustainable competitive advantage.
Check out this short video discussion between Gradle, Inc. founder and CEO, Hans Dockter and Mark Vieira, Senior Software Engineer at Elastic (NYSE: ESTC) and DPE lead, as they discuss why Elastic chose to stand up a dedicated DPE team and how the team partners with their developers to pursue developer productivity engineering excellence.