"You see lots of people that will always jump to the technology problem. You know, as technologists we're like, 'Yeah, we always want more technology.' That sounds great, but it's almost always a people problem or a process problem."
Is your engineering team shipping more code but creating less business impact?
We're joined by Chris Westerhold, Global Practice Director at ThoughtWorks, to confront why engineering waste is so difficult to define and eliminate. He explains that for many teams, the issue isn't a lack of tools but a lack of a clear 'North Star' to align their efforts with real business goals, diving into why so much well-intentioned work results in wasted effort and increased friction.
Chris argues that most efficiency problems are rooted in people and processes, not technology, and why a 'systems thinking' approach is crucial for real improvement. He shares insights on balancing developer freedom with platform standardization and the leadership required to build a culture of continuous improvement. Learn why focusing on better outcomes—not just more code—is the key to unlocking your team's true potential.
Show Notes
- Connect with Chris Westerhold on LinkedIn
- Learn more at ThoughtWorks.com
Transcript
(Disclaimer: may contain unintentionally confusing, inaccurate and/or amusing transcription errors)
[00:00:00] Andrew Zigler: Today we're joined by Chris Westerhold of ThoughtWorks. To unpack how engineering teams are optimizing their software development, it's easier than ever to spit up new tools and new platforms, new solutions, but for most teams, that's not what they need.
[00:00:15] Andrew Zigler: They don't need more code. They need less friction.
[00:00:18] Ben Lloyd Pearson: Yeah. And our guest today has seen this firsthand. We're gonna discuss some strategies that, make sure that you can also prove that investing into developer experience can help you as well.
[00:00:28] Ben Lloyd Pearson: So, Chris, welcome to the show.
[00:00:30] Chris Westerhold: Thanks for having me. I really appreciate it. it's always fun to get a chance to chat with you guys and talk about some of my favorite stuff.
[00:00:37] Andrew Zigler: Absolutely. We've got a lot to cover today. Some really cool stuff about how people are looking at their own engineering teams. So I want to go and dive in. The first thing is talking about how companies are spending, you know, huge amounts of time and energy and, and money on engineering efficiency.
[00:00:53] Andrew Zigler: But when you look closely, a lot of those same teams lack a methodology to show that anything actually [00:01:00] improved from all of that work, and ultimately that results in wasted effort. Why do you think understanding waste and software engineering is so hard.
[00:01:10] Chris Westerhold: , I think the easiest way to describe it is there is no one way to describe waste. Like, as soon as you inject a human into a process, it becomes exponentially harder. you know, it's why we've been chasing this, you know, kind of automation for years and years and years and years.
[00:01:24] Chris Westerhold: Like how do you simplify? But, you know, waste takes, there's handoffs, there's just complexity in, in a problem. There is, not understanding requirements, misunderstanding requirements. There's all of these different bits that go. into what really should be considered a creative endeavor in creating software. And, you know, the, the bigger, bigger the problem, the bigger the team, the bigger the thing you're trying to do. Adds in all of these layers of complexity that are incredibly difficult to not only predict [00:02:00] upfront, but to try to iron out. And, you know, you've seen over the years kind of many different methodologies. And ways of trying to do this all the way back from like the Toyota way to Six Sigma to, more modern ways of trying to identify kind of waste and friction. all of them have succeeded and failed in their own, way. But the, you know, I think one of like all of that being said, it really comes down to what level are you trying to. To identify that waste, like the more granular try to get, the harder it gets. But the, the higher, like the higher view you take, you know, the less impactful it is. And so, when you're thinking about identifying that waste and friction, you really have to understand what your goals are to be able to get you there.
[00:02:47] Chris Westerhold: 'cause just trying to be better and, and trying to identify that waste and friction isn't really gonna get you there.
[00:02:53] Andrew Zigler: Absolutely. And you called out something really keen is that, you know, by definition it being waste, it's falling outside of a system [00:03:00] that you understand and control, and it's not something that is going to be neatly siloed. This isn't my pile of waste. Like how you go to maybe like your source code or your project management and you're like, this is my pile of tasks, this is my pile of code.
[00:03:12] Andrew Zigler: There is no pile of waste because waste hides everywhere. And waste, as you rightly called out, requires a lot of, separate initiatives to understand where those individual bits of waste are coming from. And.
[00:03:24] Ben Lloyd Pearson: and, and actually I wanna point out, I think this highlights one of the core challenges of software engineering as a whole, that. Um, you know, I think more than just about any other profession they deal with unknown unknowns, quite a lot. Like they don't always know what, what they're gonna encounter when they're building something.
[00:03:40] Ben Lloyd Pearson: And even when you've deployed something successfully, you don't always know if it has bugs or issues that you're gonna have to address later. So, I think that, you know, kind of feeds into why ways can be so hard to identify.
[00:03:53] Chris Westerhold: I was, I was talking to a client earlier today and they told me that they had been working on a project [00:04:00] for 15 months. Just in the design phase. And we're not talking about aerospace building like an F 16. No. Like it just in a kind of standard run of the mill software. And you know, one of the things they were trying to remove is that kind of waste and friction, but they're trying to do it upfront. And so they spent all of this time, they've been stuck in this analysis paralysis and they're, they're not actually getting anything out. And you know, I. think another kind of major kind of misconception or just a misunderstanding like,there has to be a certain level of waste that you're okay with. You know, 'cause it kind of leans into like technical debt as well of like, what are the things you're willing to accept versus thing you're not willing to accept? And then how do you solve them they do kind of stick their their head into something? Then you're like, oh wow, okay, that's a problem. Now let's go about fixing it.
[00:04:53] Ben Lloyd Pearson: Yeah. I mean if you, if you spend 15 months planning, you could almost consider all of that to be waste in certain [00:05:00] universes, you know?
[00:05:00] Chris Westerhold: Yeah.
[00:05:01] Chris Westerhold: because I mean, at what point are you, you know, you're, you're building a tool to solve a market problem or your user problem, those types of things. Are they really, are they really gonna be able to sit and wait for 15 months or more to, to get that product to market? not.
[00:05:20] Andrew Zigler: That still comes to mind for me is that by the time you've solved or created that, that product, the problem space has moved on. You've missed, ultimately. And so, uh, but you know, that itself too, just measuring by speed can become its own kind of, uh, you know, like blinders like we're gonna fix.
[00:05:37] Andrew Zigler: Maybe our waste has to do with processes around our cycle time or why these conversations take so long, people aren't aligned. Why aren't they aligned? Are there like, for example in a company like that, when you ultimately discuss it as an out, as an outsider, someone not in it, do you quickly uncover like really easy to fix problems or are those problems often more [00:06:00] systemic to the organization?
[00:06:02] Chris Westerhold: a lot of them. Are systemic, but they are, a lot of it, it tends to be like they just don't know any better
[00:06:10] Andrew Zigler: Mm.
[00:06:11] Chris Westerhold: they don't have metrics that help them define what the problem actually is. when you go in and start working with somebody like that, you can talk to some like random project manager, like, yeah, we've been doing this for. Almost two years. But when you think about it from a, like a, know, an executive view those things tend to get kind of, you know, blocked from them. Like, yeah, it's green, it's on a, it's on a dashboard, everything's just fine. Like, don't pay any attention to it. The problem with waste in general is that it's never one problem. And so like just to, just to like play forward this example, one of the issues they have is that they don't have full stack developers. And so they have front end developers, they have backend developers, they have database administrators, they have qa, and so they end up with this, I'm going to pass it from station A to
[00:06:59] Andrew Zigler: [00:07:00] Mm-hmm.
[00:07:00] Chris Westerhold: to station C, and then they just move down the process So when you think about it from that perspective, it becomes really difficult to remove some of that because now you're asking your React developer to understand, you know, backend development and database design and those other bits. And so you have this kind of, you know, you, you've identified this chunk of waste. But how do you actually go about fixing it? And you know, these, they tend to fall in like people problems, process problems and technology problems. And you see lots of people that will always jump to the technology problem. You know, as technologists we're like, Yeah.
[00:07:40] Chris Westerhold: we, we always want more technology.
[00:07:42] Chris Westerhold: That sounds great, but it's almost always a people problem or a process problem. in this space, like how do you actually go and start training people on how to do these other bits? You know, that becomes one of the really challenging parts towards transforming an organization. [00:08:00] And you see the same thing happening in the AI space now great, well we've given people all of these new technologies and new tools, but what does that process look like and what are the, you know, what do you need to do from a people side to be able to actually enable the
[00:08:15] Andrew Zigler: realization
[00:08:16] Chris Westerhold: of that value?
[00:08:17] Ben Lloyd Pearson: I love your example of, you know, an organization that lacks that full stack developer. not only is every step of that process going to, like every handoff does that, that creates waste, but when you have. you, you're say like on the third or fourth step down the pipeline and you have to go back to the first because you identified a problem, like that just compounds the amount of waste that you're creating on an organization.
[00:08:39] Ben Lloyd Pearson: And of course, we'll, we'll talk more about AI in a moment 'cause every episode we talk about AI at some
[00:08:43] Chris Westerhold: Okay.
[00:08:44] Ben Lloyd Pearson: you know, the reality is that AI may be accelerating the generation of waste within some of those steps as well, which just compounds the risk even further.
[00:08:53] Chris Westerhold: I, I think it, it absolutely does. I mean, if you are, you're not, you know, not [00:09:00] actively trying to remove waste. Or tech debt or any of these other things, will continue to grow. And whether we like it or not, know, code deteriorates just by sitting there. And
[00:09:11] Andrew Zigler: Right.
[00:09:11] Chris Westerhold: need to, an organizational process and all of these things.
[00:09:15] Chris Westerhold: Do, you know, you have things like Conway's Law, everybody's heard of Conway's Law before, but when you know, you go in and talk to somebody, it's like, yeah, you've built all of this stuff around the way you operate. And it, that's not really good for you. And in that, that, back to that example I was giving, that's how their organization was set up. so that's how they were building software you know, you have to rethink some of those things, if you're going to able to, to really move the needle.
[00:09:43] Ben Lloyd Pearson: so yeah, So let's talk a little bit about actually moving the needle. Now, we've kind of broken down waste sources of it, ways that it's, it, it, it impacts process and tooling within an organization. And, you know, some people looked at things like. automation to solve [00:10:00] waste. maybe if you can find ways to deploy faster or reduce cycle time, they kind of view those as like the solution to reducing waste within their organization. but often, many teams just need a little bit better alignment and a little bit less sprawl.
[00:10:13] Ben Lloyd Pearson: Like, you know, whether that is process sprawl like you described earlier, or some sort of tooling sprawl. given all of this, how do you identify work that actually matters in this environment where you may have lots of sources of waste that you don't fully understand yet?
[00:10:28] Chris Westerhold: I always take these types of questions and go back to organizational goals, know that feels like a big step for a lot, but like you hear, you hear lots of people talk about like OKRs and these other things, but I, what are the goals you're actually trying to solve as an organization?
[00:10:47] Chris Westerhold: And you know, when you think of young startups, they don't have a lot of money and they want to go really fast. And so you're totally fine with accumulating a lot of tech debt because you know you're gonna have to [00:11:00] re-platform this thing once you get your series B or something like that. And that's okay.
[00:11:05] Chris Westerhold: But then as you mature, you know, less concerned about going super duper fast. You probably have a little bit more money. So you can be a little bit more focused on quality or maybe you're trying to completely transform your business. Like what are the things that actually matter to you as an organization? And I see a lot of engineering teams really struggle because they don't have a North star. Like, how do I identify the things that matter? I need to know what, what our goals are, what are we trying to accomplish as an organization? And then that's gonna help me identify the right things to do. 'cause you can automate all kinds of stuff. But if you're going to re-platform or do some other stuff, you know, maybe next year it would be silly to spend your time on some of that. And so to me not having that alignment, you can just see this rippling effect across [00:12:00] an organization, especially as that organization gets larger. I've talked to some orgs that have 5 10, 15,000 developers, and I would bet that if you went up to the average person there and asked them like, what, like your work you do every day, how do you think that actually impacts the business? And a lot of them would probably say it doesn't, which is, which is has its own set of problems.
[00:12:23] Chris Westerhold: I've been
[00:12:23] Ben Lloyd Pearson: there.
[00:12:23] Ben Lloyd Pearson: there
[00:12:24] Chris Westerhold: yeah. I mean, we all have right? But if you, if you don't have that, like how are you gonna identify the stuff that matters? You can't really.
[00:12:34] Ben Lloyd Pearson: Yeah. I'm thinking back to when I was in platform engineering at a very massive company and. uh, the latest to hot technology comes out and the CEO says We all have to do this thing now. And it's like, but I work on platforms that don't touch that. So like, what does that mean for me?
[00:12:50] Chris Westerhold: And,
[00:12:51] Andrew Zigler: That act.
[00:12:51] Chris Westerhold: I
[00:12:51] Andrew Zigler: Yeah.
[00:12:52] Chris Westerhold: the second bit around some of that is like, you'll hear a lot of engineering leaders say and focus around just [00:13:00] productivity, productivity, productivity, productivity. you know, the, there has been a severe focus on the need for faster typers. when I think, I mean, I know we're gonna talk about AI in a little bit, but like that's been so, but like the focus is like, oh, well we need people to actually write more code. And I would say the answer to that is like, I think that's a false premise. you don't necessarily need more code. What you need is more impact to your business. 'cause like the, the value of a line of code is essentially dropped to almost zero at this point with a lot of the other tools and everything that's out there.
[00:13:34] Chris Westerhold: But you know, understanding. what are you trying to do? Why are you trying to do it? What's the waste that's in your way? And you know, like I think we all have been on some kind of platform team at some point in our life, but you know what? Maybe abstract away that complexity is the best thing that you can do to let your developers on the things that matter. Like you talked about the unknown unknowns, like Yeah. [00:14:00] You, you know, you should be like, if it's a known, known, or kind of a known unknown, great automation pass for that. Bring in your AI tools to help with it. And then allow your, you know, really expensive engineers to go focus on the things that actually matter, on, things that have been well sorted inside of your organization. And then let, let other things focus on that. I think another interesting kind of misconception or misunderstanding is that like developers don't like to talk and they do, they'll talk your ear off. Like all you have to do is just be, you know, come to them with good intentions and ask them interesting questions and they'll talk your ear off and they'll tell you where all the problems are. You just have to ask. And when you start to think about that type of thinking and that kind of. continuous improvement that goes along with this different set of metrics. You now all of a sudden are doing, doing things that are kind of twofold. If you have a good [00:15:00] of where you're going in as an organization and you're listening to your developer community to say, Hey, tell me where the problems are, where's the crossroads of those two things that can have a good impact towards your organization positively impact your development community. study after study says that happy developers are going to be more productive, they're going to write better code, all of those bits, and all of a sudden you've made everyone happier and a rising tide lifts all boats. but if you're, like, a lot of those kinds of things take a serious level of leadership and organizational alignment to make that happen.
[00:15:36] Ben Lloyd Pearson: Yeah. So do you have any examples of an organization that starts to think about wants to think about things the way. that you are describing, but maybe instead of actually improving productivity, they're actually like adding to the complexity of their environment.
[00:15:52] Chris Westerhold: Yeah,I see this quite literally all the time,
[00:15:55] Andrew Zigler: Yeah.
[00:15:57] Chris Westerhold: this is the. As technologists, and I kind of [00:16:00] already mentioned this, like we kind of fall in love with technology if you are just constantly thinking about bringing in new tech, bringing in this other stuff, and you're, andyou are making your environment more complex.
[00:16:13] Chris Westerhold: I met with a client yesterday and we were talking about, um, CICD, like, how do you kind of modernize your CICD platform? And I asked 'em a question. I was like, well. what platform do you use right now? what's The
[00:16:24] Chris Westerhold: thing that you're really kind of focused on?
[00:16:26] Chris Westerhold: And he is like, oh, well, some teams use Azure DevOps. Some teams are using Bitbucket pipelines, other people are using teams. City Octopus deploy Jenkins, GitHub actions
[00:16:37] Andrew Zigler: my God,
[00:16:37] Ben Lloyd Pearson: yes. The
[00:16:38] Andrew Zigler: yes.
[00:16:39] Chris Westerhold: And I was like, I was like, did you just list a a, did you just Google like give me 10, like CICD Pi like, and he's like, oh no. Yeah, no.
[00:16:47] Chris Westerhold: I mean this is just kind of what we're doing. And I'm like, well, of course you have a problem. I mean, it's about 2000 developers, which is big, but not that big. [00:17:00] And you know, so you have, you now have this landscape of complexity. That hard enough for the people on those teams to be able to understand, but now you've made, like, you have a high level of fragmentation inside of your organization.
[00:17:14] Chris Westerhold: You've made it difficult for internal engineers to move from one team to another team, and you've now essentially kind of crippled yourself when it comes to being able to be nimble enough to go after the things that matter to the organization.
[00:17:31] Ben Lloyd Pearson: I actually wanna touch on something you know, you mentioned like asking developers to figure out what would actually benefit their lives. But I wonder how do you balance this? Like I. Uh, you know, I, I always think if you ask a rim full of developers, like if you ask 10 developers, what, what's your favorite CICD tool?
[00:17:46] Ben Lloyd Pearson: There's a good chance you're gonna get 10 different answers.
[00:17:48] Chris Westerhold: Probably 12.
[00:17:49] Ben Lloyd Pearson: you have 12 actually. You're right. So how do you balance this? Like, well, the developers want all of the greatest technologies and they, they just want to adopt what they think is really cool versus [00:18:00] like. We as an organization need to make sure that we are following best practices.
[00:18:04] Ben Lloyd Pearson: We're standardizing things. We have like happy paths that are easy to follow along with. Like how do you balance those two things
[00:18:11] Chris Westerhold: Yeah, that's a really great question. but I have to give two answers to it so I'll have to caveat a little bit. So, you want to think about your early adopters. So like who are the people that are on the forefront of things? And you can see this a lot in the AI space right now.
[00:18:26] Chris Westerhold: Like, well, we wanna use cursor or Windsor or end number of other things that pop up seemingly every day, there is a number of people ish, 10% ish, that are going to want to just run around and use all of that stuff and just geek out on it. Spend all night, fiddle around with it and find the best way to do it. Like of organizations try to rope those people in. It's like, no, no, no, no. You can't do that. It's like, well, no, amen. Hold on a second. Like, those are the people that are gonna validate all this stuff for you. there's this middle majority that are just like. Tell me [00:19:00] what to do and I'll do it. Like, if you wanna buy cursor, great. I'll use cursor. You wanna do VS code? Fine, I'll do VS code. Just give me an easy path to get my job done. I am technologically literate, but I, I just, I don't care. Like, there's not enough of a reason to care. And so I.
[00:19:17] Chris Westerhold: think in the best organizations you have a process that can say. Let these, like cutting edge, bleeding edge people go do that analysis, but then gather that feedback from them and say, Hey, I saw you were fiddling around with sonnet and uh, you know, Claude code. How, what'd you think? as you start to gather that information, you can now take those learnings and apply that to the middle majority and say, great, we've built a really great platform for you. have some custom IDE plugins. You know, we've determined based on all of this feedback that vs code and whatever, whatever is, is fine. And so that's the way that you can keep essentially both of those camps of folks happy.
[00:19:59] Andrew Zigler: [00:20:00] Mm-hmm.
[00:20:00] Chris Westerhold: that works really well when it comes to those types of tools where you run into problems are like CICD pipelines and like more kind of core fundamental things where it's like,
[00:20:12] Andrew Zigler: Right.
[00:20:13] Chris Westerhold: you just running and going and trying every random pipeline tool under the sun because that brings in and complexity and things that are a little harder to unwind than you know. Using J Unit or whatever, right.
[00:20:29] Andrew Zigler: You're, you're rightfully calling out that it's less about allowing all these like bespoke developer experiences pop up within your organization. That's only gonna make it harder to exchange knowledge. That's not the same as, people who are pioneering or early adopting with tools and experimenting with them and figuring out things that are gonna work for your org before anyone in the world knows that they're gonna work for anyone.
[00:20:53] Andrew Zigler: Those are two different levels of, choosing your lane, having your favorites, you know, figuring things out because those, early [00:21:00] adopter folks, they might, you know, feel strongly identified with a few of the things they're picking up, but they're not like, oh, I'm, I'm J unit, or bust like, what? You just rightfully called out, right?
[00:21:09] Andrew Zigler: If you're in an organization that has that kind of sprawl, there's a lot of opportunities to simplify, I think the platform. and that actually really flows well into another thing we wanna talk about with you, which is about having the right strategy. To make those organization-wide engineering changes, make those platform engineering upgrades that are actually going to make an impact and not slow people down or cause a revolt, right?
[00:21:31] Andrew Zigler: This is what everyone's afraid about when you make massive change for developers. And right now, you know, AI is being used pretty interchangeably as like an ultimate developer productivity. Accelerate and unlock. but without platform engineering and a coherent strategy, that's ultimately chaos. And it's expensive chaos at that.
[00:21:52] Andrew Zigler: Right. You know, all these queries are costing somebody money. And Chris, you've said that companies need to rethink, their systems and their [00:22:00] platforms before bringing in new stuff to actually help them. And how do you think that actually, looks like in practice? And how can a team really start?
[00:22:08] Andrew Zigler: I.
[00:22:08] Chris Westerhold: Yeah, that's, there's a lot there. I always like to, just as a general principle, like optimize for laziness.
[00:22:17] Andrew Zigler: Yeah.
[00:22:17] Chris Westerhold: Cause
[00:22:17] Chris Westerhold: like the best developer is a lazy developer. Like, I don't wanna do that again. That didn't, it wasn't fun the first time. I don't wanna do it again. Give them a path to be able to do that.
[00:22:26] Chris Westerhold: And I think a good platform and a good platform strategy enables some of those things where, you have these kind of golden paths that allow people to, you know, to be able to do things easily, but it's flexible enough for you to be able to say. Hey, here's how you can modify this to make it work for you.
[00:22:45] Chris Westerhold: Here's how, this kind of like centralized ownership or centralized controls, but federated ownership. Like I'm just providing you with the core and allowing you to be able to go from that. Like, that's one way, like, you know, the, [00:23:00] I always like to, I always kind of bounded autonomy is another thing that I try to talk about
[00:23:04] Andrew Zigler: Mm.
[00:23:05] Chris Westerhold: You know, hey, well there has to be a box. Like I can only support so many tools and so many tools, so many things. And so now this is how we're going to, know, provide these sets of tools out from, from a platform perspective. They're gonna be well curated, they're gonna be easy to use, they're going to, you know, kind of hook into all of the things that you would expect them to do, and the vast majority of people are gonna be okay with that. And you're gonna get a lot of unlock from a productivity perspective by providing people with this kind of set of tooling. You know, the, the way that you kind of described the question, like a lot of people do feel like if they tell people they can't do something, it's just gonna erupt in chaos. Like I, but I don't think that's necessarily true. if you invoke like the EAs of [00:24:00] old, of like ivory tower, like you know, you shall not pass kind of stuff. Like,
[00:24:05] Andrew Zigler: Right.
[00:24:06] Chris Westerhold: gonna get some really bad reactions. when I think of good developer experience, good platform engineering, and kind of like just a really good metrics. just strategy overall. you have to do it with your community, not to your community.
[00:24:23] Andrew Zigler: Yes.
[00:24:23] Chris Westerhold: If
[00:24:23] Chris Westerhold: you build that culture that says Hey, you know, I would love to have every tool under the sun. I can't, I'm sorry. I know you're a huge fan of Go, but we're a Java shop. Like I just can't have five random services written in this thing.
[00:24:39] Chris Westerhold: I get it. It's a cool language. There's nothing I can do about it. And if you have a, you know, an open set of conversations about those kinds of things, and you have a process for people, submit stuff and you, you really build that community. and go back to like the, you know, [00:25:00] dissent, but agree, like kind of a thing where it's like, Yep.
[00:25:02] Chris Westerhold: I get it.
[00:25:03] Chris Westerhold: Don't agree with you, but I'm gonna accept it and move on. that is the, the cultural impact that you have to have around all of this stuff. Or everything just falls flat
[00:25:12] Andrew Zigler: Yep.
[00:25:13] Chris Westerhold: And you end up with just chaos of tools and things and like, you know, there's no productivity and just everything is just a mess. in the end, engineering takes good leadership and there's no tool in the world, there's no AI that can come in. There's nothing that can replace that kind of a thing. 'cause it's just not easy. And that's the, like, that's the stuff that you have to get there. And whether, you know, AI tools, platform tools, all of these things are gonna help enable people be better. But you gotta get the crap outta the way, the waste and friction. And that's done through leadership and through, continuous improvement engine and rethinking about everything.
[00:25:52] Ben Lloyd Pearson: So you're talking to a bunch of companies that, you know, I, I, I mean, every company we talk to is asking like a pretty consistent set of questions about AI and how it's [00:26:00] affecting. Or you know, how to adopt it, how to measure the impact, how to make sure it's responsible and all of that. So just from what you've seen in recent months working with various companies, what is the difference between a company that is doing a great job at incorporating AI into their workflows versus one that, that hasn't yet, leveraged it or has tried to leverage it and failed in some way?
[00:26:22] Ben Lloyd Pearson: Like, what do you think is the main difference?
[00:26:24] Chris Westerhold: it is a difference between system thinking and tool thinking. If I've heard this this once, I've heard it a million times. implemented copilot or any other tool. implemented copilot, you know, last year, and we've seen nothing. We've seen almost no impact at all, can you come in and help us prove the impact? And I'm like, hold on a second. There's a couple of different problems here. One, like I can't, I can't prove something just because you want it to be proven and you, you just, I know you've spent probably millions of dollars on this, but it doesn't mean that it's Right. And you know, this goes [00:27:00] back to the kind of the fallacy that I talked about before of needing faster typers. okay, if you're gonna just bring in a code gen tool that is predicated on the fact that I need a faster typer to create more code. And that's just not the case. for people that are really doing really good things with AI Right.
[00:27:18] Chris Westerhold: now, it's by rethinking value streams and systems to enable people to not only work better, but to get to better higher quality output. 'cause if you look at the data. Like, especially some of the kind of initial data around things like copilot, and this is not me pointing fingers at copilot. It's just the easy, easy word to use like
[00:27:38] Andrew Zigler: Yeah.
[00:27:39] Chris Westerhold: that, you know, people leveraging copilot and those types of tools, you're getting a lot higher level of bugs.
[00:27:46] Chris Westerhold: You're getting higher code complexity you're getting, and you know, I think one of the reasons for that the fact that you're just saying, Hey, give me this block of code and move on. And you're not, you're, you're thinking about it as a one way street in a lot of [00:28:00] ways, and this is where like the whole vibe coding thing has come from.
[00:28:04] Chris Westerhold: But like thinking about your AI as essentially like a coding companion, I. Like at ThoughtWorks, we've always pushed pair programming and you can think a lot about an AI system as being a pair and treating, the AI assistant that way. hey, ask me questions about this particular set of code and not just, Hey, give me a block of code that does X, Y, or Z. as you start to think about it that way, especially in like now this kind of agentic world that says like, great, well. this is an agent that I can talk to that can help me with infrastructure. This is one I can talk to about, about better pipelines or about whatever, or design or, you know, and I can pull in all the context that I can think of from across the organization to say, Hey, these are all of my design standards.
[00:28:47] Chris Westerhold: These are all the ADRs around my design. Here is our kind of core infrastructure and all of these different bits around AU and Auth Z. Now all of a sudden, you can start to have a much more targeted and interesting [00:29:00] conversation. To say, great, how do I solve this problem? Not how do you give me more blocks of code?
[00:29:06] Andrew Zigler: Right.
[00:29:07] Chris Westerhold: And it goes back to like the, the value of a, of a block of like a line of code is essentially zero now because like I used to hire you 'cause you knew Java, now I need to hire you. 'cause you can solve a problem. And by redesigning these AI systems that can pair you across that for these different problems, that's where people are really starting to have success.
[00:29:28] Ben Lloyd Pearson: Yeah, I think personally, you know, I've had the most success when I can break any challenge that I have down into a very fundamental. component, like, you know, I think really what it comes down to is having, having a good data set to feed into an AI model that is then makes decisions within a very specific criteria. because you really think about LLMs, they're changing on lots of data, including bad data. So just because they know a lot doesn't mean they're always gonna make the right decision. but because they were trained on bad [00:30:00] data, they're also very good at what you described at, with the pair of programming, where when you ask them to challenge your ideas, they're much more capable of spotting where you're.
[00:30:09] Ben Lloyd Pearson: Making bad decisions or, or have bad ideas. yeah, and I think that approach, a lot, we've seen a lot of development teams have had success when they treat it more like a sparring partner rather than like something that just delivers volumes of code to them.
[00:30:22] Chris Westerhold: Well, and it goes back to like, how are you improving not, not like your knowledge and also creating better output.
[00:30:30] Chris Westerhold: What is the business value in the business impact that you're trying to get to? Great. You need high quality code that is going to solve a certain set of problems, not getting code out there fast that'll, solve some of those things.
[00:30:44] Chris Westerhold: That's why I've had this personal kind of bad reaction to this focus on productivity where it's like, we all want to go faster and do more, but labeling it, developer productivity just seems. Like a really bad marketing campaign, [00:31:00] like what you want is better outcomes and, but you need good high quality code to be able to make that happen. And, you know, the, you know, kind of the explosion of these AI tools really can make people, way faster. But you're only as good as a system in which you work. So
[00:31:18] Andrew Zigler: Right,
[00:31:19] Chris Westerhold: going to, the Einstein quote, like, if you're gonna judge a fish by its ability to climb a tree, it's always gonna think it's stupid. and so like that kind of overlays into this, like, if you're going to put somebody into this machine that just you're constantly running in this treadmill, that's a problem. And so how do you change that dynamic? That's that type of system type thinking that you have to bring in. And remove that waste, remove that friction, and then enable people to actually get the job done.
[00:31:47] Andrew Zigler: Right. it's like moving in like a different modality of being a knowledge worker. You're just working with the information that's going in and going out in different ways. What I find whenever I'm using these new agentic tools, whether it's to [00:32:00] code or to design something, there's so many ways that you can use it, but ultimately I partner with it in order to create the artifacts that I need.
[00:32:09] Andrew Zigler: To have better outcomes. instead of working with the LLM in a declarative or imperative way, like do this, make this, create this, interact with it in an interrogative way. And then as you and the LLM kind of crystallize that knowledge. Get really firm and really crisp on what you need and what you're building, then actually what you need to create is a really good document to put that in for a future conversation to use the business context and the impact that you're making.
[00:32:38] Andrew Zigler: you're ultimately producing different artifacts of knowledge work, and that's like a whole different modality shift. And people can only work in that kind of environment, when they have the right tools and ability to do so.
[00:32:49] Chris Westerhold: The, like, there's a bunch of different kind of paradigm shifts that are, that are kind of coming along with that. 'cause like you, you know, we've, we've long complained about documentation [00:33:00] and the problems that come from that. And, there are really good, you know, kind of LMS that can go and. Analyze your code and analyze these other things to come up with better information. But you know, as you're moving through like the SDLC lifecycle now, and as a developer that is, you know, creating code, why are you not saving chat threads. Like, Hey, this is the thing that I actually used to, to, this was my logic that I was using to walk through it. Why you know now with as cheap as storages and cheap as everything else is, why would you not store some of that stuff, instead of saying like, Hey, like summarize this code for me, and then dumbing that into Confluence. Like that's not as, useful for some, but in this new context, like. Who's gonna go read that? What you're gonna
[00:33:47] Andrew Zigler: Right.
[00:33:48] Chris Westerhold: just, you know, type in a question in an element and it's gonna go find it. Well, in this new model, you can start to save a lot of other sets of information that are going to help when it comes to solving those other [00:34:00] problems. it's like, Hey, I need to go change code.
[00:34:02] Chris Westerhold: Well, we've all been here, it's like looking at a new set of code and you're like, man. Who wrote this, then you go look at the commit message, it was you. And
[00:34:13] Andrew Zigler: Oh no.
[00:34:14] Chris Westerhold: make any sense at all. Who Like, what was I thinking back then? And I remember early in my career, I could remember every line of code I wrote.
[00:34:21] Chris Westerhold: Like everything that I changed, it was just, then you get to a certain point and you're like, I can't remember any of it. And so you can, how do you start to think about saving other this information to provide better kind of telemetry and observability to what happened in the for future you?
[00:34:37] Ben Lloyd Pearson: To tie this back to something that we talked about sort of at the top of this episode is. you mentioned that like 10% of developers that are naturally gonna want to go out and experiment with new technologies, be the ones that are on the cutting edge and bring back learnings. to me, when I hear that, I also get a little skived out because I start to think about shadow IT, And as somebody who used to run shadow [00:35:00] IT, like, you know, I can't condone the practice, but I understand why that sort of thing happens. you know, to me that that kind of use one of the risks of like unstructured AI adoption. what else are you seeing as like a risk to Overall engineering effectiveness, developer productivity, developer experience.
[00:35:15] Ben Lloyd Pearson: However, we want to use whatever phrase we wanna use to describe this. Like if an organization doesn't have structure to the way they're rolling it out, what are the risks that they're, they're bringing into the company.
[00:35:26] Chris Westerhold: that's a really great question. And I actually started my career in shadow IT as well. so like I, I fully understand and I also don't condone, but you know, one of the, I, I made a joke the other day about, you know, kind of LLMs are giving like shadow IT weapons of mass destruction. Because you can I mean, I've done some stuff with like Microsoft Access and like, like some like weird scripts that should have never been done, but you've now given them.
[00:35:56] Ben Lloyd Pearson: I import it as insecure dependency Now, you
[00:35:59] Chris Westerhold: It's all right. [00:36:00] You, you've now given people essentially, you know, tools that can have really serious impact to an organization when it comes to security and everything else. Like if everything is running the cloud and you are now allowing shadow IT essentially to run these things like you, you have a, a whole nother layer of problems that you didn't have before, and there needs to be a lot more governance from a platform perspective, from
[00:36:33] Andrew Zigler: Yeah.
[00:36:34] Chris Westerhold: quality and security perspective and like how do you. know, I really think that is the, it's stuff we've talked about for a long time, but I think this is where we're gonna be forced into this particular like kind of mindset of I have to have essentially hard gates that stop something from moving into production.
[00:36:55] Andrew Zigler: Yeah.
[00:36:56] Chris Westerhold: of the problems that can come from this, have a data breach [00:37:00] from some random thing that got deployed into some random cluster and the cloud that cost you, who knows how many millions of dollars.
[00:37:08] Chris Westerhold: Like, that's, a problem. You're only gonna, you're only gonna find once. And how do you stop that? You're gonna have to have those layers into there, or you're going to. Really, really struggle. I think the way you solve this, so like that was my doom and gloom version, but like, I think the way you actually solve this by you have to kind of get rid of these groups and like I understood why you had them before because you, you know, they were generally around analytics and reporting and some like really weird like little workflow tools. but if you are, if you can truly free up your really expensive engineers time with, you know, this level of kind of AI and automation and everything else, give folks like that, the ability to create [00:38:00] proofs of concept can truly show value be able to now say, great. Look at this thing. It's really, you know, it, it has these things, it has this business value, and then be able to pass that into your, you know, traditional IT groups to get built. I think there is a way of rethinking about how really technology works inside of an organization you know, everything down from. The way you prioritize projects and products and applications and do, you know, portfolio management, even down to like, what does a tool like Jira look like in the future? And, you know, do you need to follow those same kind of constructs that you've had over time? And because now you, you know, if, if it is truly that much easier and better to operate these things, which it should if you're building the right kind of systems. Then great. How do you enable [00:39:00] folks inside of your organization that know where the problems are, how do you enable them to fix it? you don't want them to have to fix it on their own. So great. Give them an avenue in, just like with the platforms like we talked about earlier with the, you know, Dev tools. Great. It's the same
[00:39:13] Andrew Zigler: Right.
[00:39:14] Chris Westerhold: It's like, Hey, you can build a really cool POC and guess what? we can now take and translate that into something, something interesting.
[00:39:21] Andrew Zigler: before we wrap up, Chris, where can people go to learn more about your insight and connect with you?
[00:39:26] Chris Westerhold: Yeah, you can,
[00:39:27] Chris Westerhold: can find me on LinkedIn, thoughtworks.com carrier pigeon email, like, whatever, whatever you can find. I'd love to, I'd love to chat with you. I think it's always, I love to hear people's stories about what's working and what's not working, inside of their organization and, um. it's always something interesting and there's always really hard challenges to find and, um,things can get better. And I always go back to the, Chinese adage of when's the best time to plant a tree? the right answer is 25 years ago, the second best ones today. And so when I think about measurements, [00:40:00] metrics, removing waste and friction, just be a little bit better tomorrow than you are today. And in two or three years, you're gonna look back and go, wow, we've really made some progress. And we didn't do it through this big, messy kind of transformation.
[00:40:12] Chris Westerhold: We just naturally, you know, made things a little bit better. And I think that's really the way that, you know, success is made.
[00:40:19] Andrew Zigler: Ben and I completely agree, and it's all about having that. Communication, and, and in being able to understand like, I can make an action right now, so I should do it. It's about doing the little things today that are gonna make that huge impact for tomorrow. And, you know, thanks so much for sharing your insights with us.
[00:40:33] Andrew Zigler: We also, uh, you know, Ben and I and the Dev Interrupted team, we, we do also love to hear from folks about what they're doing inside of their own engineering teams. If anything we've covered today is really, kind of close to heart to you or fascinating or maybe you even have countering opinions, we would love to hear them.
[00:40:48] Andrew Zigler: please, you know, reach out to us, you can. Reach us many different ways, like on LinkedIn, uh, maybe on Chris's, you know, maybe you can actually reach Chris by like smokestack. I don't know. But if you actually managed to do that, let me know. Um, and to you, [00:41:00] our loyal listener, you know, you've made it this far.
[00:41:02] Andrew Zigler: We've had a really nice conversation about, how teams really work. So if you made it all the way to this point, you clearly loved what we chatted about. Please be sure to like the episode. And be sure to tune into substack where every Tuesday we drop this episode along with engineering news.
[00:41:17] Andrew Zigler: So if you're not reading that, you're only getting a tiny scoop of the story. Um, so we'll see you next time and take care.