Intro to DPE Workshop

February 27, 2023

9:00 AM - 11:30 AM PST


Description

Developer Productivity Engineering (DPE) is a software development practice used by leading software development organizations to maximize developer productivity and happiness. It uses acceleration technologies to speed up local and CI builds and tests and data analytics to proactively improve the reliability of the developer toolchain and make failure troubleshooting more efficient. In this hands-on training with labs we will demonstrate DPE best practices and tools in action—using examples from Java projects that rely on Maven or the Gradle build tool.

Objectives

At a high level you will learn how to:

  • Leverage build and test acceleration technologies like Build Cache and Test Distribution to instantly speed up feedback cycles as much as 90%.
  • Cut debugging and troubleshooting time in half using data analytics such as Build Scan™ and failure dashboards to rapidly identify incident root causes and better manage avoidable failures like flaky tests.
  • Continuously improve performance and guard against regressions through metric, KPI and trend observability using performance and trend dashboards.
  • Integrate with Git/Jenkins

The end-result of pursuing DPE excellence will be a transformative and highly satisfying developer experience.

Duration

2.5 hour training session followed by 30-minutes Q&A.

Instructor

Raju GandhiRaju Gandhi
Developer Advocate @ Gradle

Audience

The target audience for this workshop includes:

  • Any Gradle and Maven build tool users interested in speeding up builds and making troubleshooting more efficient
  • Senior/Lead software developers responsible for the productivity and morale of their team(s) and are particularly focused on increasing trust and confidence in the toolchain to encourage the right behaviors
  • Build engineers responsible for enabling fast and frequent software delivery, improving trust and confidence in toolchain, and making teaming and collaborations with the development team more efficient
  • DPE managers and champions looking for a comprehensive guide to the DPE practice that they can reference, share, and use to socialize the key concepts and tools across the organization
  • CI Teams focused on achieving faster CI builds and more efficient ways for developer and CI engineers to troubleshoot failed CI builds, as well as contain the spiraling costs of their CI infrastructure and compute resources

Prerequisites

Make sure you have JDK 11 or later installed if you do not already. You can use your favorite IDE or text editor during the workshop.

Course Outline

  • Introduction
  • Current state of build engineering
  • What is Develocity and what are its benefits?
  • Lab 1: Creating a build scan
  • Lab 2: Extending a build scan
  • What is a build cache?
  • Gradle and Maven build caching
  • Lab 3: Using the local build cache
  • Remote build cache and its topology
  • Lab 4: Using the remote build cache
  • Lab 5: Comparing builds to understand cache misses
  • Best practices to increase cache effectiveness
  • Build cache administration
  • Performance monitoring and data analysis
  • Lab 6: Live dashboard of build activity