From Business Buzzwords to Meaningful Change: Measuring and Improving Engineering Productivity

Rate this content
Bookmark
Slides

After years of rapid growth, the winds have changed in many tech companies, with strategy changes, budget cuts, restructurings, and layoffs. Productivity and efficiency have become the business buzzwords of the season, and while pressure towards “more engineering productivity” is mounting in many organizations, it can be difficult to apply these abstract concepts to engineering teams and turn them into concrete actions that don’t alienate your team and lead to lasting impact that aligns with your stakeholders’ needs. 

I’m here to help. In this talk, we’ll go: 

- Beyond buzzwords: What do productivity, efficiency, and effectiveness mean? 

- Beyond “implementing DORA metrics”: How can you understand and improve your team's productivity as a technical or people leader?

- Beyond your team: How can you manage up effectively to keep your bosses informed and ensure alignment with organizational goals?

Having led dozens of teams through times of high change, I know that leading during a tech downturn presents unique challenges. You will take away actionable steps to help you improve on your team, and lead successfully through uncertain times.

This talk has been presented at C3 Dev Festival 2024, check out the latest edition of this Tech Conference.

FAQ

Lena Reinhardt is a speaker with a background in finance and business who transitioned into tech. She discusses topics such as efficiency, effectiveness, and productivity, particularly in the context of tech leadership and team management.

Lena Reinhardt discusses efficiency, effectiveness, and productivity as key business buzzwords, especially in the context of tech leadership and team management.

According to Lena Reinhardt, the tech industry has experienced significant changes over the past few years, including a downturn that has led to many companies focusing on efficiency, often resulting in layoffs. This period has been challenging and has led to a reevaluation of how terms like efficiency, effectiveness, and productivity are understood and applied.

Lena Reinhardt mentions several historical milestones in developer productivity, including the publication of the first book on Extreme Programming (XP) in 1999, the Agile Manifesto in 2001, the Software Craftsmanship Manifesto in 2009, the founding of the DevOps Research and Assessment (DORA) in 2015, and the publication of the book 'Accelerate' in 2018. The SPACE framework, which expanded on these concepts, was published in 2021.

According to Lena Reinhardt, effectiveness is about achieving the right outcomes and doing the right things. Efficiency is about doing things right, minimizing waste, and using fewer resources to achieve the same result. Productivity is about doing more with the same amount of resources.

Lena Reinhardt believes that efficiency, effectiveness, and productivity have a bad reputation because they have often been used to justify layoffs and other negative actions in the tech industry. These terms are also frequently misunderstood and misapplied, leading to confusion and discomfort among employees.

Lena Reinhardt advises tech leaders to understand their organization's goals, define success metrics, evaluate their team's current position, and continuously incorporate productivity discussions into daily work. She emphasizes the importance of aligning team efforts with business objectives and taking the team along in the process.

Lena Reinhardt suggests that tech leaders should approach conversations about money and productivity openly, even though these topics can be uncomfortable. Leaders should connect the work done by their teams to business value and outcomes, and ensure that productivity metrics are aligned with organizational goals.

Examples of metrics that can be used to measure productivity and efficiency include deployment frequency, lead time to changes, cycle time, quality of work, and customer adoption rates. Lena Reinhardt emphasizes starting with metrics that are easily available and impactful for the team.

The key takeaway from Lena Reinhardt's talk is that productivity, efficiency, and effectiveness are crucial concepts for tech leaders, but they must be understood and applied correctly. Leaders should focus on aligning their teams with organizational goals, using appropriate metrics to measure success, and continuously engaging their teams in productivity discussions.

Lena Reinhard
Lena Reinhard
26 min
15 Jun, 2024

Comments

Sign in or register to post your comment.

Video Summary and Transcription

This Talk focuses on the importance of productivity, efficiency, and effectiveness in software development. It highlights the evolving role of leadership, the need for clarity in understanding these terms, and the significance of metrics in driving behaviors and outcomes. The Talk emphasizes the value of aligning with business goals, involving teams in defining productivity measures, and continuously improving productivity to achieve goals.

1. Introduction to Developer Productivity

Short description:

I'm Lena Reinhardt. Today, I'll talk about business buzzwords like efficiency, effectiveness, productivity, and how to make them work as a tech lead. Efficiency has been a buzzword, but it also has a bad reputation. Let's look at the evolution of developer productivity and its importance over time.

I'm Lena Reinhardt. I'm really happy to be here today and talk to you about business buzzwords like efficiency, effectiveness, productivity, and how to actually make them work as a tech lead with your teams because it's been a bit of a year.

The first time I gave this talk was a year ago and things have changed in the industry over the last couple of years. We all know it. We've all been part of it. And efficiency specifically has been the big buzzword in many tech companies. And I've spoken with dozens of companies and leaders in our industry over the last probably two to three years since things started going into the downturn that we're in right now as a tech industry. And like many of you, I've been trying to make sense of what's going on. And a lot of the things that have been done have been really shocking for a lot of people in our industries, including people in leadership positions. A lot of layoffs were justified by efficiency. And as someone who has worked in finance before getting into tech, as someone who has a business background, I do understand that. And at the same time, I also think efficiency, effectiveness, productivity, all have a really bad rep and for really good reasons. And so I did briefly want to take you down a trip on memory lane and look at how the space of developer productivity has evolved over time.

And of course, when talking about any trends, you have to show Google trends. That's the only thing to look at. This is a chart of how many times people were looking at developer productivity since 2004. And so I wanted to show you what happened over this time. This is a lot of illustrations for one chart. But a couple really interesting things because developer productivity as a topic has been around so much longer than you actually may realise. Not everyone here has been in the industry for 40 years. So for everyone who just joined in the last decade, for example, think of things like XP, extreme programming. That's been around since 1999 when the first book was published and the author has been working on it much longer. The Adler Manifesto was published in 2001. Here you can see a photo of one of the meetings of the people who were involved in that. The Software Craftsmanship Manifesto that Fowler and others wrote was in 2009. Dora, the organisation for DevOps research, was started in 2015. The book Accelerate, that is the basis for a lot of people's thinking about developer productivity, is from 2018. Then the space framework that kind of expanded it was published in 2021 during COVID. And then, of course, the tech downturn started around 2022. I'm showing this to you to illustrate that developer productivity has been on people's minds for a really long time.

2. Leadership Roles and Engineering Productivity

Short description:

Leadership roles are about helping a business achieve its goals. Connect your work to business value and outcomes for better odds and job security. Roles as leaders are changing, and we need to talk about engineering productivity, efficiency, and effectiveness. Bad things have been done in the name of efficiency.

And a lot of concepts that you've probably been working with for a long time as a developer like Agile or even XP, those concepts are about developer productivity at their core as well. That also means this whole topic really matters. Leadership roles, no matter if you're a tech leader, a people leader, you have direct reports or don't. Leadership roles are business roles. They are about helping a business ultimately achieve its goals. In addition, you actually have the expertise to do this well. You probably work with a team, with a set of services, in a specific domain. You know how to help the people there achieve the goals that they have and the goals that the business has by extension.

And there is the disappointing, sad, annoying side of this, but the time that we're in as an industry right now also means this is also about becoming part of the spreadsheet that has the names of people on it that are going to be laid off. I wish that weren't the case. It's unfortunately the reality of things. And one thing to keep in mind as a leader is the more you're able to connect to the work that you're doing, the work that your teams are doing, to business value, to outcomes, the better your odds are at least going to be. There aren't guarantees, but it's going to help you a lot in your daily work. And it's going to hopefully also help you with job security.

Now that we've gotten the unfortunate part about this out of the way, I do briefly want to recap. Our industry has been changing. And this also means that our roles as leaders are changing. And I use the term leader quite a lot during this talk. And when I say leader, I mean anyone who influences, guides others, gives direction, provides facilitation skills, for example. All of those are leadership skills. Leadership can be at any level. It doesn't have to be about titles or roles. It's about the work that you're doing and the actions you're taking. And so all of these changes mean we really need to talk about engineering productivity, engineering efficiency, engineering effectiveness. And the first thing that we're going to do is tease apart all of those terms. And I've mentioned already that this is an uncomfortable topic. And it's probably not just an uncomfortable topic for you, but also for many of the engineers that you're working with. First of all, of course, a lot of bad things have been done in the name of efficiency. That is the thing that happened. They're also really big words.

Check out more articles and videos

We constantly think of articles and videos that might spark Git people interest / skill us up or help building a stellar career

A Guide to React Rendering Behavior
React Advanced Conference 2022React Advanced Conference 2022
25 min
A Guide to React Rendering Behavior
Top Content
This transcription provides a brief guide to React rendering behavior. It explains the process of rendering, comparing new and old elements, and the importance of pure rendering without side effects. It also covers topics such as batching and double rendering, optimizing rendering and using context and Redux in React. Overall, it offers valuable insights for developers looking to understand and optimize React rendering.
Impact: Growing as an Engineer
React Summit 2022React Summit 2022
27 min
Impact: Growing as an Engineer
Top Content
This Talk explores the concepts of impact and growth in software engineering. It emphasizes the importance of finding ways to make the impossible possible and the role of mastery in expanding one's sphere of impact. The Talk also highlights the significance of understanding business problems and fostering a culture of collaboration and innovation. Effective communication, accountability, and decision-making are essential skills for engineers, and setting goals and finding sponsors can help drive career growth. Feedback, goal setting, and stepping outside of comfort zones are crucial for personal development and growth. Taking responsibility for one's own growth and finding opportunities for impact are key themes discussed in the Talk.
Speeding Up Your React App With Less JavaScript
React Summit 2023React Summit 2023
32 min
Speeding Up Your React App With Less JavaScript
Top Content
Watch video: Speeding Up Your React App With Less JavaScript
Mishko, the creator of Angular and AngularJS, discusses the challenges of website performance and JavaScript hydration. He explains the differences between client-side and server-side rendering and introduces Quik as a solution for efficient component hydration. Mishko demonstrates examples of state management and intercommunication using Quik. He highlights the performance benefits of using Quik with React and emphasizes the importance of reducing JavaScript size for better performance. Finally, he mentions the use of QUIC in both MPA and SPA applications for improved startup performance.
On Becoming a Tech Lead
TechLead Conference 2023TechLead Conference 2023
25 min
On Becoming a Tech Lead
Top Content
The role of a Tech Lead involves shaping the roadmap, helping the team be more effective, and working on important projects. Lessons learned include encouraging idea sharing, avoiding taking on all the work, and focusing on delegation. Tech Leads focus on the outcome, involve the team in decision-making, and make plans based on how different pieces will interact. The role of a Tech Lead is to focus on engineering and guide the team in figuring out how the whole system should fit together. Architecting can become problematic when it loses touch with the coding part, resulting in implementation issues.
React Concurrency, Explained
React Summit 2023React Summit 2023
23 min
React Concurrency, Explained
Top Content
Watch video: React Concurrency, Explained
React 18's concurrent rendering, specifically the useTransition hook, optimizes app performance by allowing non-urgent updates to be processed without freezing the UI. However, there are drawbacks such as longer processing time for non-urgent updates and increased CPU usage. The useTransition hook works similarly to throttling or bouncing, making it useful for addressing performance issues caused by multiple small components. Libraries like React Query may require the use of alternative APIs to handle urgent and non-urgent updates effectively.
The Future of Performance Tooling
JSNation 2022JSNation 2022
21 min
The Future of Performance Tooling
Top Content
Today's Talk discusses the future of performance tooling, focusing on user-centric, actionable, and contextual approaches. The introduction highlights Adi Osmani's expertise in performance tools and his passion for DevTools features. The Talk explores the integration of user flows into DevTools and Lighthouse, enabling performance measurement and optimization. It also showcases the import/export feature for user flows and the collaboration potential with Lighthouse. The Talk further delves into the use of flows with other tools like web page test and Cypress, offering cross-browser testing capabilities. The actionable aspect emphasizes the importance of metrics like Interaction to Next Paint and Total Blocking Time, as well as the improvements in Lighthouse and performance debugging tools. Lastly, the Talk emphasizes the iterative nature of performance improvement and the user-centric, actionable, and contextual future of performance tooling.

Workshops on related topic

React Performance Debugging Masterclass
React Summit 2023React Summit 2023
170 min
React Performance Debugging Masterclass
Top Content
Featured WorkshopFree
Ivan Akulov
Ivan Akulov
Ivan’s first attempts at performance debugging were chaotic. He would see a slow interaction, try a random optimization, see that it didn't help, and keep trying other optimizations until he found the right one (or gave up).
Back then, Ivan didn’t know how to use performance devtools well. He would do a recording in Chrome DevTools or React Profiler, poke around it, try clicking random things, and then close it in frustration a few minutes later. Now, Ivan knows exactly where and what to look for. And in this workshop, Ivan will teach you that too.
Here’s how this is going to work. We’ll take a slow app → debug it (using tools like Chrome DevTools, React Profiler, and why-did-you-render) → pinpoint the bottleneck → and then repeat, several times more. We won’t talk about the solutions (in 90% of the cases, it’s just the ol’ regular useMemo() or memo()). But we’ll talk about everything that comes before – and learn how to analyze any React performance problem, step by step.
(Note: This workshop is best suited for engineers who are already familiar with how useMemo() and memo() work – but want to get better at using the performance tools around React. Also, we’ll be covering interaction performance, not load speed, so you won’t hear a word about Lighthouse 🤐)
Building WebApps That Light Up the Internet with QwikCity
JSNation 2023JSNation 2023
170 min
Building WebApps That Light Up the Internet with QwikCity
Featured WorkshopFree
Miško Hevery
Miško Hevery
Building instant-on web applications at scale have been elusive. Real-world sites need tracking, analytics, and complex user interfaces and interactions. We always start with the best intentions but end up with a less-than-ideal site.
QwikCity is a new meta-framework that allows you to build large-scale applications with constant startup-up performance. We will look at how to build a QwikCity application and what makes it unique. The workshop will show you how to set up a QwikCitp project. How routing works with layout. The demo application will fetch data and present it to the user in an editable form. And finally, how one can use authentication. All of the basic parts for any large-scale applications.
Along the way, we will also look at what makes Qwik unique, and how resumability enables constant startup performance no matter the application complexity.
Next.js 13: Data Fetching Strategies
React Day Berlin 2022React Day Berlin 2022
53 min
Next.js 13: Data Fetching Strategies
Top Content
WorkshopFree
Alice De Mauro
Alice De Mauro
- Introduction- Prerequisites for the workshop- Fetching strategies: fundamentals- Fetching strategies – hands-on: fetch API, cache (static VS dynamic), revalidate, suspense (parallel data fetching)- Test your build and serve it on Vercel- Future: Server components VS Client components- Workshop easter egg (unrelated to the topic, calling out accessibility)- Wrapping up
React Performance Debugging
React Advanced Conference 2023React Advanced Conference 2023
148 min
React Performance Debugging
Workshop
Ivan Akulov
Ivan Akulov
Ivan’s first attempts at performance debugging were chaotic. He would see a slow interaction, try a random optimization, see that it didn't help, and keep trying other optimizations until he found the right one (or gave up).
Back then, Ivan didn’t know how to use performance devtools well. He would do a recording in Chrome DevTools or React Profiler, poke around it, try clicking random things, and then close it in frustration a few minutes later. Now, Ivan knows exactly where and what to look for. And in this workshop, Ivan will teach you that too.
Here’s how this is going to work. We’ll take a slow app → debug it (using tools like Chrome DevTools, React Profiler, and why-did-you-render) → pinpoint the bottleneck → and then repeat, several times more. We won’t talk about the solutions (in 90% of the cases, it’s just the ol’ regular useMemo() or memo()). But we’ll talk about everything that comes before – and learn how to analyze any React performance problem, step by step.
(Note: This workshop is best suited for engineers who are already familiar with how useMemo() and memo() work – but want to get better at using the performance tools around React. Also, we’ll be covering interaction performance, not load speed, so you won’t hear a word about Lighthouse 🤐)
High-performance Next.js
React Summit 2022React Summit 2022
50 min
High-performance Next.js
Workshop
Michele Riva
Michele Riva
Next.js is a compelling framework that makes many tasks effortless by providing many out-of-the-box solutions. But as soon as our app needs to scale, it is essential to maintain high performance without compromising maintenance and server costs. In this workshop, we will see how to analyze Next.js performances, resources usage, how to scale it, and how to make the right decisions while writing the application architecture.
Maximize App Performance by Optimizing Web Fonts
Vue.js London 2023Vue.js London 2023
49 min
Maximize App Performance by Optimizing Web Fonts
WorkshopFree
Lazar Nikolov
Lazar Nikolov
You've just landed on a web page and you try to click a certain element, but just before you do, an ad loads on top of it and you end up clicking that thing instead.
That…that’s a layout shift. Everyone, developers and users alike, know that layout shifts are bad. And the later they happen, the more disruptive they are to users. In this workshop we're going to look into how web fonts cause layout shifts and explore a few strategies of loading web fonts without causing big layout shifts.
Table of Contents:What’s CLS and how it’s calculated?How fonts can cause CLS?Font loading strategies for minimizing CLSRecap and conclusion