Easy Agile Podcast Ep.34 Henrik Kniberg on Team Productivity, Code Quality, and the Future of Software Engineering
TL;DR
Henrik Kniberg, the agile coach behind Spotify's model, discusses how AI is fundamentally transforming software development. Key takeaways: AI tools like Cursor and Claude are enabling 10x productivity gains; teams should give developers access to paid AI tools and encourage experimentation; coding will largely disappear as a manual task within 3–4 years; teams will shrink to 2 people plus AI; sprints will become obsolete in favour of continuous delivery; product owners can now write code via AI, creating pull requests instead of user stories; the key is treating AI like a brilliant intern – when it fails, the problem is usually your prompt or code structure, not the AI. Bottom line: Learn to use AI now, or risk being left behind in a rapidly changing landscape.
Introduction
Artificial intelligence is fundamentally reshaping how software teams work, collaborate, and deliver value. But with this transformation comes questions: How do we maintain team morale when people fear being replaced? What happens to code quality when AI writes most of the code? Do traditional agile practices like sprints still make sense?
In this episode, I sit down with Henrik Kniberg to tackle these questions head-on. Henrik is uniquely positioned to guide us through this transition – he's the agile coach and entrepreneur who pioneered the famous Spotify model and helped transform how Lego approached agile development. Now, as co-founder of Abundly AI, he's at the forefront of helping teams integrate AI into their product development workflows.
This conversation goes deep into the practical realities of AI-powered development: from maintaining code review processes when productivity increases 10x, to ethical considerations around AI usage, to what cross-functional teams will look like in just a few years. Henrik doesn't just theorise – he shares real examples from his own team, where their CEO (a non-coder) regularly submits pull requests, and where features that once took a sprint can now be built during a 7-minute subway ride.
Whether you're a developer wondering if AI will replace you, a product owner looking to leverage these tools, or a leader trying to navigate this transformation, this episode offers concrete, actionable insights for thriving in the AI era.
About Our Guest
Henrik Kniberg is an agile coach, author, and entrepreneur whose work has shaped how thousands of organisations approach software development. He's best known for creating the Spotify model – the squad-based organisational structure that revolutionised how large tech companies scale agile practices. His work at Spotify and later at Lego helped demonstrate how agile methodologies could work at enterprise scale whilst maintaining team autonomy and innovation.
Henrik's educational videos have become legendary in the agile community. His "Agile Product Ownership in a Nutshell" video, created over a decade ago, remains one of the most-watched and shared resources for understanding product ownership, with millions of views. His ability to distil complex concepts into simple, visual explanations has made him one of the most accessible voices in agile education.
More recently, Henrik has turned his attention to the intersection of AI and product development. As co-founder of Abundly AI, he's moved from teaching about agile transformation to leading AI transformation – helping companies and teams understand how to effectively integrate generative AI tools into their development workflows. His approach combines his deep understanding of team dynamics and agile principles with hands-on experience using cutting-edge AI tools like Claude, Cursor, and GitHub Copilot.
Henrik codes daily using AI and has been doing so for over two and a half years, giving him practical, lived experience with these tools that goes beyond theoretical understanding. He creates educational content about AI, trains teams on effective AI usage, and consults with organisations navigating their own AI transformations. His perspective is particularly valuable because he views AI through the lens of organisational change management – recognising that successful AI adoption isn't just about the technology, it's about people, culture, and process.
Based in Stockholm, Sweden, Henrik continues to push the boundaries of what's possible when human creativity and AI capabilities combine, whilst maintaining a pragmatic, human-centred approach to technological change.
Transcript
Note: This transcript has been lightly edited for clarity and readability.
Maintaining Team Morale and Motivation in the AI Era
Tenille Hoppo: Hi there, team, and welcome to this new episode of the Easy Agile Podcast. My name is Tenille Hoppo, and I'm feeling really quite lucky to have an opportunity to chat today with our guest, Henrik Kniberg.
Henrik is an agile coach, author, and entrepreneur known for pioneering agile practices at companies like Spotify and Lego, and more recently for his thought leadership in applying AI to product development. Henrik co-founded Abundly AI, and when he isn't making excellent videos to help us all understand AI, he is focused on the practical application of generative AI in product development and training teams to use these technologies effectively.
Drawing on his extensive experience in agile methodologies and team coaching, Henrik seems the perfect person to learn from when thinking about the intersection of AI, product development, and effective team dynamics. So a very warm welcome to you, Henrik.
Henrik Kniberg: Thank you very much. It's good to be here.
Tenille: I think most people would agree that motivated people do better work. So I'd like to start today by touching on the very human element of this discussion and helping people maintain momentum and motivation when they may be feeling some concern or uncertainty about the upheaval that AI might represent for them in their role.
What would you suggest that leaders do to encourage the use of AI in ways that increase team morale and creativity rather than risking people feeling quite concerned or even potentially replaced?
Henrik: There are kind of two sides to the coin. There's one side that says, "Oh, AI is gonna take my job, and I'm gonna get fired." And the other side says, "Oh, AI is going to give me superpowers and give us all superpowers, and thereby give us better job security than we had before."
I think it's important to press on the second point from a leader's perspective. Pitch it as this is a tool, and we are entering a world where this tool is a crucial tool to understand how to use – in a similar way that everyone uses the Internet. We consider it obvious that you need to know how to use the Internet. If you don't know how to use the Internet, it's going to be hard.
"I encourage people to experiment, give them access to the tools to do so, and encourage sharing. And don't start firing people because they get productive."
I also find that people tend to get a little bit less scared once they learn to use it. It becomes less scary. It's like if you're worried there's a monster under your bed, maybe look under your bed and turn on the lights. Maybe there wasn't a monster there, or maybe it was there but it was kind of cute and just wanted a hug.
Creating a Culture of Safe Experimentation
Tenille: I've read that you encourage experimentation with AI through learning – I agree it's the best way to learn. What would you encourage leaders and team leaders to do to create a strong culture where teams feel safe to experiment?
Henrik: There are some things. One is pretty basic: just give people access to good AI tools. And that's quite hard in some large organisations because there are all kinds of resistance – compliance issues, data security issues. Are we allowed to use ChatGPT or Claude? Where is our data going? There are all these scary things that make companies either hesitate or outright try to stop people.
Start at that hygiene level. Address those impediments and solve them. When the Internet came, it was really scary to connect your computer to the Internet. But now we all do it, and you kind of have to, or you don't get any work done. We're at this similar moment now.
"Ironically, when companies are too strict about restricting people, then what people tend to do is just use shadow AI – they use it on their own in private or in secret, and then you have no control at all."
Start there. Once people have access to really good AI tools, then it's just a matter of encouraging and creating forums. Encourage people to experiment, create knowledge-sharing forums, share your own experiments. Try to role-model this yourself. Say, "I tried using AI for these different things, and here's what I learned." Also provide paths for support, like training courses.
The Right Mindset for Working with AI
Tenille: What would you encourage in team members as far as their mindset or skills go? Certainly a nature of curiosity and a willingness to learn and experiment. Is there anything beyond that that you think would be really key?
Henrik: It is a bit of a weird technology that's never really existed before. We're used to humans and code. Humans are intelligent and kind of unpredictable. We hallucinate sometimes, but we can do amazing things. Code is dumb – it executes exactly what you told it to do, and it does so every time exactly the same way. But it can't reason, it can't think.
Now we have AI and AI agents which are somewhere in the middle. They're not quite as predictable as code, but they're a lot more predictable than humans typically. They're a lot smarter than code, but maybe not quite as smart as humans – except for some tasks when they're a million times smarter than humans. So it's weird.
You need a kind of humble attitude where you come at it with a mindset of curiosity. Part of it is also to realise that a lot of the limitation is in you as a user. If you try to use AI for coding and it wrote something that didn't work, it's probably not the model itself. It's probably your skills or lack of skills because you have to learn how to use these tools. You need to have this attitude of "Oh, it failed. What can I do differently next time?" until you really learn how to use it.
"There can be some aspect of pride with developers. Like, 'I've been coding for 30 years. Of course this machine can't code better than me.' But if you think of it like 'I want this thing to be good, I want to bring out the best in this tool' – not because it's going to replace me, but because it's going to save me a tonne of time by doing all the boring parts of the coding so I can do the more interesting parts – that kind of mindset really helps."
Maintaining Code Quality and Shared Understanding
Tenille: Our team at Easy Agile is taking our steps and trying to figure out how AI is gonna work best for us. I put the question out to some of our teams, and there were various questions around people taking their first steps in using AI as a co-pilot and producing code. There are question marks around consistency of code, maintaining code quality and clean architecture, and even things like maintaining that shared understanding of the code base. What advice do you have for people in that situation?
Henrik: My first piece of advice when it comes to coding – and this is something I do every day with AI, I've been doing for about two and a half years now – is that the models now, especially Claude, have gotten to the level where it's basically never the AI's fault anymore. If it does anything wrong, it's on you.
You need to think about: okay, am I using the wrong tool maybe? Or am I not using the tool correctly?
For example, the current market leader in terms of productivity tools with AI is Cursor. There are other tools that are getting close like GitHub Copilot, but Cursor is way ahead of anything else I've seen. With Cursor, it basically digs through your code base and looks for what it needs.
But if it fails to find what it needs, you need to think about why. It probably failed for the same reason a human might have failed. Maybe your code structure was very unstructured. Maybe you need to explain to the AI what the high-level structure of your code is.
"Think of it kind of like a really smart intern who just joined your team. They're brilliant at coding, but now they got confused about something, and it's probably your code – something in it that made it confused. And now you need to clarify that."
There are ways to do that. In Cursor, for example, you can create something called cursor rules, which are like standing documents that describe certain aspects of your system. In my team, we're always tweaking those rules. Whenever we find that the AI model did something wrong, we're always analysing why. Usually it's our prompt – I just phrased it badly – or I just need to add a cursor rule, or I need to break the problem down a little bit.
It's exactly the same thing as if you go to a team and give them this massive user story that includes all these assumptions – they'll probably get some things wrong. But if you take that big problem and sit down together and analyse it and split it into smaller steps where each step is verifiable and testable, now your team can do really good work. It's exactly the same thing with AI.
Addressing the Code Review Bottleneck
Tenille: One of our senior developers found that he was outputting code at a much greater volume and faster speed, but the handbrake he found was actually their code review processes. They were keeping the same processes they had previously, and that was a bit of a handbrake for them. What kind of advice would you have there?
Henrik: This reminds me of the general issue with any kind of productivity improvement. If you have a value stream, a process where you do different parts – you do some development, some testing, you have some design – whenever you take one part of the process and make it super optimised, the bottleneck moves to somewhere else.
If testing is no longer the bottleneck, maybe coding is. And when coding is instant, then maybe customer feedback – or lack of customer feedback – is the bottleneck. The bottleneck just keeps moving. In that particular case, the bottleneck became code review. So I would just start optimising that. That's not an AI problem. It's a process problem.
Look at it: what exactly are we trying to do when we review? Maybe we could think about changing the way we review things. For example, does all code need to be reviewed? Would it be enough that the human who wrote it and the AI, together with the human, agree that this is fine? Or maybe depending on the criticality of that change, in some cases you might just let it pass or use AI to help in the reviewing process also.
"I think there's value in code review in terms of knowledge sharing in a large organisation. But maybe the review doesn't necessarily need to be a blocking process either. It could be something you go back and look at – don't let it stop you from shipping, but maybe go back once per week and say, 'Let's look at some highlights of some changes we've made.'"
We produce 10 times more code than in the past, so reviewing every line is not feasible. But maybe we can at least identify which code is most interesting to look at.
Ethical Considerations: Balancing Innovation with Responsibility
Tenille: Agile emphasises people over process and delivering value to customers. Now with AI in the mix, there's potential for raising some ethical considerations. I'm interested in your thoughts on how teams should approach these ethical considerations that come along with AI – things like balancing rapid experimentation against concerns around bias, potential data privacy concerns.
Henrik: I would treat each ethical question on its own merits. Let me give you an example. When you use AI – let's say facial recognition technology that can process and recognise faces a lot better than any human – I kind of put that in the bucket of: any tool that is really useful can also be used for bad things. A hammer, fire, electricity.
That doesn't have so much to do with the tool itself. It has much more to do with the rules and regulations and processes around the tool. I can't really separate AI in that sense. Treat it like any other system. Whenever you install a camera somewhere, with or without AI, that camera is going to see stuff. What are you allowed to do with that information? That's an important question. But I don't think it's different for AI really, in that sense, other than that AI is extremely powerful. So you need to really take that seriously, especially when it comes to things like autonomous weapons and the risk of fraud and fake news.
"An important part of it is just to make it part of the agenda. Let's say you're a recruitment company and you're now going to add some AI help in screening. At least raise the question: we could do this. Do we want to do this? What is the responsible way to do it?"
It's not that hard to come up with reasonable guidelines. Obviously, we shouldn't let the AI decide who we're going to hire or not. That's a bad idea. But maybe it can look at the pile of candidates that we plan to reject and identify some that we should take a second look at. There's nothing to lose from that because that AI did some extra research and found that this person who had a pretty weak CV actually has done amazing things before.
We're actually working with a company now where we're helping them build some AI agents. Our AI agents help them classify CVs – not by "should we hire them or not," but more like which region in Sweden is this, which type of job are we talking about here. Just classifying to make it more likely that this job application reaches the right person. That's work that humans did before with pretty bad accuracy.
The conclusion was that AI, despite having biases like we humans do, seemed to have less biases than the human. Mainly things like it's never going to be in a bad mood because it hasn't had its coffee today. It'll process everybody on the same merits.
I think of it like a peer-to-peer thing. Imagine going to a doctor – ideally, I want to have both a human doctor and an AI doctor side by side, just because they both have biases, but now they can complement each other. It's like having a second opinion. If the AI says we should do this and the doctor says, "No, wait a second," or vice versa, having those two different opinions is super useful.
Parallels Between Agile and AI Transformations
Tenille: You're recognised as one of the leading voices in agile software development. I can see, and I'm interested if you do see, some parallels between the agile transformations that you led at Spotify and Lego with the AI transformations that many businesses are looking at now.
Henrik: I agree. I find that when we help companies transition towards becoming AI native, a lot of the thinking is similar to agile. But I think we can generalise that agile transformations are not really very special either – it's organisational change.
There are some patterns involved regardless of whether you're transitioning towards an agile way of working or towards AI. Some general patterns such as: you've got to get buy-in, it's useful to do the change in an incremental way, balance bottom-up with top-down. There are all these techniques that are useful regardless. But as an agilist, if you have some skills and competence in leading and supporting a change process, then that's going to be really useful also when helping companies understand how to use AI.
Tenille: Are you seeing more top-down or bottom-up when it comes to AI transformations?
Henrik: So far it's quite new still. The jury's not in yet. But so far it looks very familiar to me. I'm seeing both. I'm seeing situations where it's pure top-down where managers are like "we got to go full-out AI," and they push it out with mixed results. And sometimes just completely bottom-up, also with mixed results.
Sometimes something can start completely organically and then totally take hold, or it starts organically and then gets squashed because there was no buy-in higher up. I saw all of that with agile as well. My guess is in most cases the most successful will be when you have a bit of both – support and guidance from the top, but maybe driven from the bottom.
"I think the bottom-up is maybe more important than ever because this technology is so weird and so fast-moving. As a leader, you don't really have a chance if you try to control it – you're going to slow things down to an unacceptable level. People will be learning things that you can't keep up with yourself. So it's better to just enable people to experiment a lot, but then of course provide guidance."
AI for Product Owners: From Ideation to Pull Requests
Tenille: You're very well known for your guidance and for your ability to explain quite complex concepts very simply and clearly. I was looking at your video on YouTube today, the Agile Product Ownership in a Nutshell video, which was uploaded about 12 years ago now. Thinking about product owners, there's a big opportunity now with AI for generating ideas, analysing data, and even suggesting new features. What's your advice for product owners and product managers in using AI most effectively?
Henrik: Use it for everything. Overuse it so you can find the limits. The second thing is: make sure you have access to a good AI model. Don't use the free ones. The difference is really large – like 10x, 100x difference – just in paying like $20 per month or something. At the moment, I can particularly strongly recommend Claude. It's in its own category of awesomeness right now. But that of course changes as they leapfrog each other. But mainly: pay up, use a paid model, and then experiment.
For product owners, typical things are what you already mentioned – ideation, creating good backlog items, splitting a story – but also writing code. I would say as a PO, there is this traditional view, for example in Scrum, that POs should not be coding. There's a reason for that: because coding takes time, and then as PO you get stuck in details and you lose the big picture.
Well, that's not true anymore. There are very many things that used to be time-consuming coding that is basically a five-minute job with a good prompt.
"Instead of wasting the team's time by trying to phrase that as a story, just phrase it as a pull request instead and go to the team and demonstrate your running feature."
That happened actually today. Just now, our CEO, who's not a coder, came to me with a pull request. In fact, quite often he just pushes directly to a branch because it's small changes. He wants to add some new visualisation for a graph or something in our platform – typically admin stuff that users won't see, so it's quite harmless if he gets it wrong.
He's vibe coding, just making little changes to the admin, which means he never goes to my team and says, "Hey, can you guys generate this report or this graph for how users use our product?" No, he just puts it in himself if it's simple.
Today we wanted to make a change with how we handle payments for enterprise customers. Getting that wrong is a little more serious, and the change wasn't that hard, but he just didn't feel completely comfortable pushing it himself. So he just made a PR instead, and then we spent 15 minutes reviewing it. I said it was fine, so we pushed it.
It's so refreshing that now anybody can code. You just need to learn the basic prompting and these tools. And then that saves time for the developers to do the more heavyweight coding.
Tenille: It's an interesting world where we can have things set up where anyone could just jump in and with the right guardrails create something. It makes Friday demos quite probably a lot more interesting than maybe they used to be in the past.
Henrik: I would like to challenge any development team to let their stakeholders push code, and then find out whatever's stopping you from doing that and fix that. Then you get to a very interesting space.
Closing the Gap Between Makers and Users
Tenille: A key insight from your work with agile teams in the past has been to really focus on minimising that gap between maker and user. Do you think that AI helps to close that gap, or do you think it potentially risks widening it if teams are focusing too much on AI predictions and stop talking to their customers effectively?
Henrik: I think that of course depends a lot on the team. But from what I've seen so far, it massively reduces the gap. Because if I don't have to spend a week getting a feature to work, I can spend an hour instead. Then I have so much more time to talk to my users and my customers.
If the time to make a clickable prototype or something is a few seconds, then I can do it live in real time with my customers, and we can co-create. There are all these opportunities.
I find that – myself, my teams, and the people I work with – we work a lot more closely with our users and customers because of this fast turnaround time.
"Just yesterday I was teaching a course, and I was going home sitting on the subway. It was a 15-minute subway ride. I finally got a seat, so I had only 7 minutes left. There's this feature that I wanted to build that involved both front-end and back-end and a database schema change. Well, 5 minutes later it was done and I got off the subway and just pushed it. That's crazy."
Of course, our system is set up optimised to enable it to be that fast. And of course not everything will work that well. But every time it does, I've been coding for 30 years, and I feel like I wake up in some weird fantasy every day, wondering, "Can I really be this productive?" I never would have thought that was possible.
Looking Ahead: The Future of Agile Teams
Tenille: I'd like you to put your futurist hat on for a moment. How do you see the future of agile teamwork in, say, 10 to 15 years time? If we would have this conversation again in 2035, given the exponential growth of AI and improvements over the last two to three years, what do you think would be the biggest change for software development teams in how they operate?
Henrik: I can't even imagine 10 years. Even 5 years is just beyond imagination. That's like asking someone in the 1920s to imagine smartphones and the Internet. I think that's the level of change we're looking at.
I would shorten the time a little bit and say maybe 3 or 4 years. My guess there – and I'm already seeing this transfer happen – is that coding will just go away. It just won't be stuff that we humans do because we're too slow and we hallucinate way too much.
But I think engineering and the developer role will still be there, just that we don't type lines of code – in the same way that we no longer make punch cards or we no longer write machine code and poke values into registers using assembly language. That used to be a big part of it, but no longer.
"In the future, as developers, a lot of the work will still be the same. You're still designing stuff, you're thinking about architecture, you're interacting with customers, and you're doing all the other stuff. But typing lines of code is something that we're gonna be telling our kids about, and they're not gonna believe that we used to do that."
The other thing is smaller teams, which I'm already seeing now. I think the idea of a cross-functional team of 5 to 7 people – traditionally that was considered quite necessary in order to have all the different skills needed to deliver a feature in a product. But that's not the case anymore. If you skip ahead 2 or 3 years when this knowledge has spread, I think most teams will be 2 people and an AI, because then you have all the domain knowledge you need, probably.
As a consequence of that, we'll just have more teams. More and smaller teams. Of course, then you need to collaborate between the teams, so cross-team synchronisation is still going to be an issue.
Also, I'm already seeing this now, but this concept of sprints – the whole point is to give a team some peace of mind to build something complex, because typically you would need a week or two to build something complex. But now, when it takes a day and some good prompting to do the same thing that would have taken a whole sprint, then the sprint is a day instead. If the sprint is a day, is there any difference between a sprint planning meeting and a daily standup? Not really.
I think sprints will just kind of shrink into oblivion. What's going to be left instead is something a little bit similar – some kind of synchronisation point or follow-up point. Instead of a sprint where every 2 weeks we sit down and try to make a plan, I think it'll be very much continuous delivery on a day-to-day basis. But then maybe every week or two we take a step back and just reflect a little bit and say, "Okay, what have we been delivering the past couple of weeks? What have we been learning? What's our high-level focus for the next couple of weeks?" A very, very lightweight equivalent of a sprint.
I feel pretty confident about that guess because personally, we are already there with my team, and I think it'll become a bit of a norm.
Final Thoughts: Preparing for the Future
Henrik: No one knows what's gonna happen in the future, and those who say they do are kidding themselves. But there's one fairly safe bet though: no matter what happens in the future with AI, if you understand how to use it, you'll be in a better position to deal with whatever that is. That's why I encourage people to get comfortable with it, get used to using it.
Tenille: I have a teenage daughter who I'm actually trying to encourage to learn how to use AI, because I feel like when I was her age, the Internet was the thing that was sort of coming mainstream. It completely changed the way we live. Everything is online now. And I feel like AI is that piece for her.
Henrik: Isn't it weird that the generation of small children growing up now are going to consider this to be normal and obvious? They'll be the AI natives. They'll be like, "Of course I have my AI agent buddy. There's nothing weird about that at all."
Tenille: I'll still keep being nice to my coffee machine.
Henrik: Yeah, that's good. Just in case, you know.
---
Thank you to Henrik Kniberg for joining us on this episode of the Easy Agile Podcast. To learn more about Henrik's work, visit Abundly AI or check out his educational videos on AI and agile practices.
Subscribe to the Easy Agile Podcast on your favourite platform, and join us for more conversations about agile, product development, and the future of work.
Related Episodes
- Podcast
Easy Agile Podcast Ep.12 Observations on Observability
On this episode of The Easy Agile Podcast, tune in to hear developers Angad, Jared, Jess and Jordan, as they share their thoughts on observability.
Wollongong has a thriving and supportive tech community and in this episode we have brought together some of our locally based Developers from Siligong Valley for a round table chat on all things observability.
💥 What is observability?
💥 How can you improve observability?
💥 What's the end goal?
"This was a great episode to be a part of! Jess and Jordan shared some really interesting points on the newest tech buzzword - observability""
Be sure to subscribe, enjoy the episode 🎧
Transcript
Jared Kells:
Welcome everybody to the Easy Agile podcast. My name's Jared Kells, and I'm a developer here at Easy Agile. Before we begin, Easy Agile would like to acknowledge the traditional custodians of the land from which we broadcast today, the Wodiwodi people of the Dharawal nation, and pay our respects to elders past, present and emerging, and extend that same respect to any aboriginal people listening with us today.
Jared Kells:
So today's podcast is a bit of a technical one. It says on my run sheet here that we're here to talk about some hot topics for engineers in the IT sector. How exciting that we've got a couple of primarily front end engineers and Angad and I are going to share some front end technical stuff and Jess and Jordan are going to be talking a bit about observability. So we'll start by introductions. So I'll pass it over to Jess.
Jess Belliveau:
Cool. Thanks Jared. Thanks for having me one as well. So yeah, my name's Jess Belliveau. I work for Apptio as an infrastructure engineer. Yeah, Jordan?
Jordan Simonovski:
I'm Jordan Simonovski. I work as a systems engineer in the observability team at Atlassian. I'm a bit of a jack of all trades, tech wise. But yeah, working on building out some pretty beefy systems to handle all of our data at Atlassian at the moment. So, that's fun.
Angad Sethi:
Hello everyone. I'm Angad. I'm working for Easy Agile as a software dev. Nothing fancy like you guys.
Jared Kells:
Nothing fancy!
Jess Belliveau:
Don't sell yourself short.
Jared Kells:
Yeah, I'll say. Yeah, so my name's Jared, and yeah, senior developer at Easy Agile, working on our apps. So mainly, I work on programs and road maps. And yeah, they're front end JavaScript heavy apps. So that's where our experience is. I've heard about this thing called observability, which I think is just logs and stuff, right?
Jess Belliveau:
Yeah, yeah. That's it, we'll wrap up!
Jared Kells:
Podcast over! Tell us about observability.
Jess Belliveau:
Yeah okay, I'll, yeah. Well, I thought first I'd do a little thing of why observability, why we talk about this and sort of for people listening, how we got here. We had a little chat before we started recording to try and feel out something that might interest a broader audience that maybe people don't know a lot about. And there's a lot of movements in the broad IT scope, I guess, that you could talk about. There's so many different things now that are just blowing up. Observability is something that's been a hot topic for a couple of years now. And it's something that's a core part of my job and Jordan's job as well. So it's something easy for us to talk about and it's something that you can give an introduction to without getting too technical. So we don't want to get down. This is something that you can go really deep into the weeds, so we picked it as something that hopefully we can explain to you both at a level that might interest the people at home listening as well.
Jess Belliveau:
Jordan and I figured out these four bullet points that we wanted to cover, and maybe I can do the little overview of that, and then I can make Jordan cover the first bullet point, just throw him straight under the bus.
Jordan Simonovski:
Okay!
Jess Belliveau:
So we thought we'd try and describe to you, first of all, what is observability. Because that's a pretty, the term doesn't give you much of what it is. It gives you a little hint, but it'll be good to base line set what are we talking about when we say what is observability. And then why would a development team want observability? Why would a company want observability? Sort of high level, what sort of benefits you get out of it and who may need it, which is a big thing. You can get caught up in these industry hot buzz words and commit to stuff that you might not need, or that sort of stuff.
Jared Kells:
Yep.
Jordan Simonovski:
Yep.
Jess Belliveau:
We thought we'd talk about some easy wins that you get with observability. So some of the real basic stuff you can try and get, and what advantages you get from it. And then we just thought because we're no going to try and get too deep, we could just give a few pointers to some websites and some YouTube talks for further reading that people want to do, and go from there. So yeah, Jordan you want to-
Jared Kells:
Sounds good.
Jess Belliveau:
Yeah. I hopefully, hopefully. We'll see how this goes! And I guess if you guys have questions as well, that's something we should, if there's stuff that you think we don't cover or that you want to know more, ask away.
Jordan Simonovski:
I guess to start with observability, it's a topic I get really excited about, because as someone that's been involved in the dev ops and SRE space for so long, observability's come along and promises to close the loop or close a feedback loop on software delivery. And it feels like it's something we don't really have at the moment. And I get that observability maybe sounds new and shiny, but I think the term itself exists to maybe differentiate itself from what's currently out there. A lot of us working in tech know about monitoring and the loading and things like that. And I think they serve their own purpose and they're not in any way obsolete either. Things like traditional monitoring tools. But observability's come along as a way to understand, I think, the overwhelmingly complex systems that we're building at the moment. A lot of companies are probably moving towards some kind of complicated distributed systems architecture, microservices, other buzz words.
Jordan Simonovski:
But even for things like a traditional kind of monolith. Observability really serves to help us ask new questions from our systems. So the way it tends to get explained is monitoring exits for our known unknowns. With seniority comes the ability to predict, almost, in what way your systems will fail. So you'll know. The longer you're in the industry, you know this, like a Java server fails in x, y, z amount of ways, so we should probably monitor our JVM heap, or whatever it is.
Jared Kells:
I was going to say that!
Jordan Simonovski:
I'll try not to get too much into-
Jared Kells:
Runs out of memory!
Jordan Simonovski:
Yeah. So that's something that you're expecting to fail at some point. And that's something that you can consider a known unknown. But then, the promise of observability is that we should be shipping enough data to be able to ask new questions. So the way it tends to get talked about, you see, it's an unknown unknown of our system, that we want to find out about and ask new questions from. And that's where I think observability gets introduced, to answer these questions. Is that a good enough answer? You want me to go any further into detail about this stuff? I can talk all day about this.
Jared Kells:
Is it like a [crosstalk 00:08:05]. So just to repeat it back to you, see if I've understood. Is it kind of like if I've got a, traditionally with a Java app, I might log memories. It's because I know JVM's run out of memory and that's a thing that I monitor, but observability is more broad, like going almost over the top with what you monitor and log so that you can-
Jordan Simonovski:
Yeah. And I wouldn't necessarily say it's going over the top. I think it's maybe adding a bit more context to your data. So if any of you have worked with traces before, observability is very similar to the way traces work and just builds on top of the premise of traces, I guess. So you're creating these events, and these events are different transactions that could be happening in your applications, usually submitting some kind of request. And with that request, you can add a whole bunch of context to it. You can add which server this might be running on, which time zone. All of these additional and all the exciters. You can throw in user agency into there if you want to. The idea of observability is that you're not necessarily constrained by high cardinality data. High cardinality data being data sets that can change quite largely, in terms of the kinds of data they represent, or the combinations of data sets that you could have.
Jordan Simonovski:
So if you want shipping metrics on something, on a per user basis and you want to look at how different users are affected by things, that would be considered a high cardinality metric. And a lot of the time it's not something that traditional monitoring companies or metric providers can really give you as a service. That's where you'll start paying insanely huge bills on things like Datadog or whatever it is, because they're now being considered new metrics. Whereas observability, we try and store our data and query it in a way that we can store pretty vast data sets and say, "Cool. We have errors coming from these kinds of users." And you can start to build up correlations on certain things there. You can find out that users from a particular time zone or a particular device would only be experiencing that error. And from there, you can start building up, I think, better ways of understanding how a particular change might have broken things. Or some particular edge cases that you otherwise couldn't pick up on with something like CPU or memory monitoring.
Angad Sethi:
Would it be fair to say-
Jared Kells:
Yeah. It's [crosstalk 00:11:02].
Angad Sethi:
Oh, sorry Jared.
Jared Kells:
No you can-
Angad Sethi:
Would it be fair to say that, so, observability is basically a set of principles or a way to find the unknown unknowns?
Jordan Simonovski:
Yeah.
Angad Sethi:
Oh.
Jess Belliveau:
And better equip you to find, one of the things I find is a lot of people think, you get caught up in thinking observability is a thing that you can deploy and have and tick a box, but I like your choice of word of it being a set of principles or best practices. It's sort of giving you some guidance around these, having good logging coming out of your application. So structured logs. So you're always getting the same log format that you can look at. Tracing, which Jordan talked a little bit about. So giving you that ability to follow how a user is interacting with all the different microservices and possibly seeing where things are going wrong, and metrics as well. So the good thing with metrics is we're turning things a bit around and trying to make an application, instead of doing, and I don't want to get too technical, black box monitoring, where we're on the outside, trying to peer in with probes and checks like that. But the idea with metrics is the application is actually emitting these metrics to inform us what state it is in, thereby making it more observable.
Jess Belliveau:
Yeah, I like your choice of words there, Angad, that it's like these practices, this sort of guide of where to go, which probably leads into this next point of why would a team want to implement it. If you want to start again, Jordan?
Jordan Simonovski:
Yeah, I can start. And I'll give you a bit more time to speak as well, Jess in this one. I won't rant as much.
Jess Belliveau:
Oh, I didn't sign up for that!
Jordan Simonovski:
I think why teams would want it is because, it really depends on your organization and, I guess, the size of the teams you're working in. Most of the time, I would probably say you don't want to build observability yourself in house. It is something that you can, observability capabilities themselves, you won't achieve it just by buying a thing, like you can't buy dev ops, you can't buy Agile, you can't buy observability either.
Jared Kells:
Hang on, hang on. It says on my run sheet to promote Easy Agile, so that sounds like a good segue-
Jess Belliveau:
Unless you want to buy it. If you do want to buy Agile, the [crosstalk 00:13:55] in the marketplace.
Jared Kells:
Yeah, sorry, sorry, yeah! Go on.
Jordan Simonovski:
You can buy tools that make your life a lot easier, and there are a lot of things out there already which do stuff for people and do surface really interesting data that people might want to look at. I think there are a couple of start ups like LightStep and Honeycomb, which give you a really intuitive way of understanding your data in production. But why you would need this kind of stuff is that you want to know the state of your systems at any given point in time, and to build, I guess, good operational hygiene and good production excellence, I guess as Liz Fong-Jones would put it, is you need to be able to close that feedback loop. We have a whole bunch of tools already. So we have CICD systems in place. We have feature flags now, which help us, I guess, decouple deployments from releases. You can deploy code without actually releasing code, and you can actually give that power to your PM's now if you want to, with feature flags, which is great.
Jordan Simonovski:
But what you can also do now is completely close this loop, and as you're deploying an application, you can say, "I want to canary this deployment. I want to deploy this to 10% of my users, maybe users who are opted in for Beta releases or something of our application, and you can actually look at how that's performing before you release it to a wider audience. So it does make deployments a lot safer. It does give you a better understanding of how you're affecting users as well. And there are a whole bunch of tools that you can use to determine this stuff as well. So if you're looking at how a lot of companies are doing SRE at the moment, or understanding what reliable looks like for their applications, you have things like SLO's in place as well. And SLO's-
Jared Kells:
What's an SLO?
Jordan Simonovski:
They're all tied to user experiences. So you're saying, "Can my user perform this particular interaction?" And if you can effectively measure that and know how users are being affected by the changes you're making, you can easily make decisions around whether or not you continue shipping features or if you drop everything and work on reliability to make sure your users aren't affected. So it's this very user centric approach to doing things. I think in terms of closing the loop, observability gives us that data to say, "Yes, this is how users are being affected. This is how, I guess the 99th percentile of our users are fine, but we have 1% who are having adverse issues with our application." And you can really pinpoint stuff from there and say, "Cool. Users with this particular browser or this particular, or where we've deployed this app to," let's say if you have a global deployment of some kind, you've deployed to an island first, because you don't really care what happens to them. You can say, "Oh, we've actually broken stuff for them." And you can roll it back before you impact 100% of your users.
Jared Kells:
Yeah. I liked what you said about the test. I forgot the acronym, but actually testing the end user behavior. That's kind of exciting to me, because we have all these metrics that are a bit useless. They're cool, "Oh, it's using 1% CPU like it always is, now I don't really care," but can a user open up the app and drag an issue around? It's like-
Jess Belliveau:
Yeah, that's a really great example, right?
Jared Kells:
That's what I really care about.
Jess Belliveau:
The 1% CPU thing, you could look at a CPU usage graph and see a deployment, and the CPU usage doesn't change. Is everything healthy or not? You don't know, whereas if you're getting that deeper level info of the user interactions, you could be using 1% CPU to serve HTTP500 errors to the 80% of the customer base, sort of thing.
Angad Sethi:
How do you do that? The SLO's bit, how do you know a user can log in and drag an issue?
Jordan Simonovski:
Yeah. I think that would come with good instrumenting-
Angad Sethi:
Good question?
Jordan Simonovski:
Yeah, it comes down to actually keeping observability in mind when you are developing new features, the same way you would think about logging a particular thing in your code as you're writing, or writing test for your code, as you're writing code as well. You want to think about how you can instrument something and how you can understand how this particular feature is working in production. Because I think as a lot of Agile and dev ops principles are telling us now is that we do want our applications in production. And as developers, our responsibilities don't end when we deploy something. Our responsibility as a developer ends when we've provided value to the business. And you need a way of understanding that you're actually doing that. And that's where, I guess, you do nee do think about observability with a lot of this stuff, and actually measuring your success metrics. So if you do know that your application is successful if your user can log in and drag stuff around, then that's exactly what you want to measure.
Jared Kells:
I think that we have to build-
Jordan Simonovski:
Yeah?
Jared Kells:
Oh, sorry Jordan.
Jordan Simonovski:
No, you go.
Jared Kells:
I was just going to say we have to build our apps with integration testing in mind already. So doing browser based tests around new features. So it would be about building features with that and the same thing in mind but for testing and production.
Jess Belliveau:
Yeah and the actual how, the actual writing code part, there's this really great project, the open telemetry project, which provides all these sort of API's and SDK's that developers can consume, and it's vendor agnostic. So when you talk about the how, like, "How do I do this? How do I instrument things?" Or, "How do I emit metrics?" They provide all these helpful libraries and includes that you can have, because the last thing you want to do is have to roll this custom solution, because you're then just adding to your technical debt. You're trying to make things easier, but you're then relying on, "Well I need to keep Jared Kells employed, because he wrote our log in engine and no one else knows how it works.
Jess Belliveau:
And then the other thing that comes to mind with something like open telemetry as well, and we talked a bit about Datadog. So Datadog is a SaaS vendor that specializes in observability. And you would push your metrics and your logs and your traces to them and they give you a UI to display. If you choose something that's vendor agnostic, let's just use the example of Easy Agile. Let's say they start Datadog and then in six months time, we don't want to use Datadog anymore, we want to use SignalFx or whatever the Splunk one is now.
Jordan Simonovski:
I think NorthX.
Jess Belliveau:
Yeah. You can change your end point, push your same metrics and all that sort of stuff, maybe with a few little tweaks, but the idea is you don't want to tie in to a single thing.
Jordan Simonovski:
Your data structures remain the same.
Jess Belliveau:
Yeah. So that you could almost do it seamlessly without the developers knowing. There's even companies in the past that I think have pushed to multiple vendors. So you could be consuming vendor A and then you want to do a proof of concept with vendor B to see what the experience is like and you just push your data there as well.
Jared Kells:
Yeah. I think our coupling to Datadog will be I all the dashboards and stuff that we've made. It's not so much the data.
Jess Belliveau:
Yeah. That's sort of the big up sell, right. It's how you interact. That's where they want to get their hooks in, is making it easier for you to interpret that data and manipulate it to meet your needs and that sort of stuff.
Jordan Simonovski:
Observability suggests dashboards, right?
Jess Belliveau:
Yeah, perhaps. You used this term as well, Jordan, "production excellence." And when we talk about who needs observability, I was thinking a bit about that while you were talking. And for me, production excellence, or in Apptio we call it production readiness, operational readiness and that sort of stuff is like we want to deploy something to production like what sort of best practices do we want to have in place before we do that? And I think observability is a real great idea, because it's helping you in the future. You don't know what problems you're going to have down the line, but you're equipping your teams to be able to respond to those problems easily. Whereas, we've all probably been there, we've deployed code of production and we have no observability, we have a huge outage. What went wrong? Well, no one knows, but we know this is the fix, and it's hard to learn from that, or you have to learn from that I guess, and protect the user against future stuff, yeah.
Jess Belliveau:
When I think easy wins for observability, the first thing that really comes to mind is this whole idea of structured logging, which is really this idea that your application is you're logging, first of all. Quite important as a baseline starting point, but then you have a structured log format which lets you programmatically pass the logs as well. If you go back in time, maybe logging just looked like plain text with a line, with a timestamp, an error message. Whatever the developer decided to write to the standard out, or to the error file or something like that. Now I think there's a general move to having JSON, an actual formatted blob with that known structure so you can look into it. Tracing's probably not an easy win. That's a little bit harder. You can implement it with open telemetry and libraries and stuff. Requires a bit more understanding of your code base, I guess, and where you want tracing to fire, and that sort of stuff, parsing context through, things like that.
Jordan Simonovski:
I think Atlassian, when you probably just want to know that everything is okay. At a fairly superficial level. Maybe you just want to do some kind of up time on a trend. And then as, I guess, your code might get more complex or your product gets a bit more complex, you can start adding things in there. But I think actually knowing or surfacing the things you know might break. Those would probably be your quickest wins.
Jess Belliveau:
Well, let's mention some things for further reading. If you want to go get the whole picture of the whole, real observability started to get a lot of movement out of the Google SRE book from a few years ago. The Google SRE stuff covers the whole gamut of their soak reliability engineering practice, and observability is a portion of that, there's some great chapters on that. O'Reilly has an observability book, I think, just dedicated to observability now.
Jordan Simonovski:
I think that's still in early release, if people want to google chapters.
Jess Belliveau:
The open telemetry stuff, we'll drop a link to that I think that's really handy to know.
Angad Sethi:
From [inaudible 00:26:12], which is my perspective, as a developer, say I wanted to introduce cornflake use Datadog at Easy Agile. Not very familiar, I'm not very comfortable with it. I know how to navigate, but what's a quick way for me to get started on introducing observability? Sorry to lock my direct job or at my workplace.
Jordan Simonovski:
I would lean, I could be biased here. Jess correct me or give your opinion on this, I would lean heavily towards SLO's for this. And you can have a quick read in the SRE-
Jess Belliveau:
What does SLO stand for, Jordan?
Jordan Simonovski:
Okay, sorry. Buzz words! SLO is a service level objective, not to be confused with service level agreement. An agreement itself is contractual and you can pay people money if you do breach those. An SLO is something you set in your team and you have a target of reliability, because we are getting to the point where we understand that all systems at any point in time are in some kind of degraded state. And yeah, reliability isn't necessarily binary, it's not unreliable or reliable. Most of the time, it's mostly reliable and this gives us a better shared language, I guess. And you can have a read in the SRE handbook by Google, which is free online, which gives you a pretty good understanding of Datadog.
Jordan Simonovski:
I think the last time I used it had a SLO offering. But I think like I was mentioning earlier, you set an SLO on particular functionalities or features of your application. You're saying, "My user can do this 99% of the time," or whatever other reliability target you might want to set. I wouldn't recommend five nines of reliability. You'll probably burn yourself out trying to get there. And you have this target set for yourself. And you know exactly what you're measuring, you're measuring particular types of functionality. And you know when you do breach these, users are being affected. And that's where you can actually start thinking about observability. You can think about, "What other features are we implementing that we can start to measure?" Or, "What user facing things are we implementing that we can start to measure?"
Jordan Simonovski:
Other things you could probably look at are, I think they're all covered in the book anyway, data freshness in a way. You want to make sure the data users are being displayed is relatively fresh. You don't want them looking at stale data, so you can look at measuring things like that as well. But you can pretty much break it down into most functionalities of a website. It's no longer like a ping check, that you're just saying, "Yes, HTTP, okay. My application is fine." You're saying, "My users are actually being affected by things not working." And you can start measuring things from there. And that should give you a better understanding, or a better idea, at least, of where to start with what you want to measure and ow you want to measure it. That would be my opinion on where to get started with this if you do want to introduce it.
Jared Kells:
We're going to talk a little bit about state and how with some of these, like our very front end heavy applications that we're building, so the applications we build just basically run inside the browser and the traditional state as you would think about it, is just pulling a very simple API that writes some things into the database with some authentication, and that sort of stuff. So in terms of reliability of the services, it's really reliable. Those tiny API's just never have problems, because it's just so simple. And well, they've got plenty of monitoring around it. But all our state is actually, when you say, "Observe the state of the system," for the most part, that's state in a browser. And how do we get observability into that?
Jess Belliveau:
A big thing is really, there's not one thing fits all as well. When we talk about the SLO stuff as well, it's understanding what is important to not so much maybe your company but your team as well. If you're delivering this product, what's important to you specifically? So one SLO that might work for me at Apptio probably isn't going to work for Easy Agile. This is really pushing my knowledge, as well, of front end stuff, but when we say we want to observe the state as well, we don't necessarily mean specifically just the state. You could want to understand with each one of those API's when it's firing, what the request response time is for that API firing. So that might be an important metric. So you can start to see if one of those APIs is introducing latency, and so your user experience is degraded. Like, "Hey when we were on release three, when users were interacting with our service here, it would respond in this percentile latency. We've done a release and since then, now we're seeing it's now in this percentile. Have we degraded performance performance?" Users might not be complaining, but that could be something that the team then can look into, add to a sprint. Hey, I'm using Agile terms now. Watch out!
Jared Kells:
That's a really good example, Jess. Performance issues for us are typically not an API that's performing poorly. It's something in this very complicated front end application is not running in the same order as it used to, or there's some complex interaction we didn't think of, so it's requesting more data than expected. The APIs are returning. They're never slow, for the most part, but we have performance regressions that we may not know about without seeing them or investigating them. The observability is really at the individual user's browser level. That makes sense? I want to know how long did it take for this particular interaction to happen.
Jess Belliveau:
Yeah. I've never done that sort of side of things. As well, the other thing I guess, you could potentially be impacted in as well as then, you're dealing with end user manifestations as well. You could perceive-
Jared Kells:
Yeah sure.
Jess Belliveau:
... Greater performance on their laptop or something, or their ISP or that sort of stuff. It'd be really hard to make sure you're not getting noise from that sort of thing as well.
Jordan Simonovski:
Yeah. There are tools like Sentry, I guess, which do exist to give you a bit more of an understanding what's happening on your front end. The way Sentry tends to work with JavaScript, is you'll upload a minified map of your JS to Sentry, deploy your code and then if something does break or work in a fairly unexpected way, that tends to get surfaced with Sentry will tell you exactly which line this kind of stuff is happening on, and it's a really cool tool for that company stuff. I don't know if it'd give you the right type of insights, I think, in terms of performance or-
Jared Kells:
Yeah, we use a similar tool and it does work for crashes and that sort of thing. And on the observability front, we log actions like state mutations in side the front end, not the actual state change, but just labels that represent that you updated an issue summary or you clicked this button, that sort of thing, and we send those with our crash reports. And it's super helpful having that sort of observability. So I think I know what you guys are talking about. But I'm just [crosstalk 00:35:25], yeah.
Jess Belliveau:
Yeah, that's almost like, I guess, a form of tracing. For me and Jordan, when we talk about tracing, we might be thinking about 12 different microservices sitting in AWS that are all interacting, whereas you're more shifting that. That's sort of all stuff in the browser interacting and just having that history of this is what the user did and how they've ended up-
Jared Kells:
In that state.
Jess Belliveau:
In that state, yeah.
Jordan Simonovski:
I guess even if you don't have a lot of microservices, if you're talking about particular, like you're saying for the most part your API requests are fine but sometimes you have particularly large payloads-
Jared Kells:
We actually have to monitor, I don't know, maybe you can help with this, we actually should be monitoring maybe who we're integrating with. It's actually much more likely that we'll have a performance issue on a Xero API rather than... We don't see it, the browser sees it as well, which is-
Jordan Simonovski:
Yeah, and tracing does solve all of those regressions for you. Most tracing libraries, like if you're running Node apps or whatever on your backend. I can just tell you about Node, because I probably have the most experience writing Node stuff. You pretty much just drop in Didi trace, which is a Datadog library for tracing into your backend and your hook itself into all of, I think, the common libraries that you'll tend to work with, I think. Like if you're working for express or for a lot of just HADP libraries, as well as a few AWS services, it will kind of hook itself into that. And you can actually pinpoint. It will kind of show you on this pretty cool service map exactly which services you're interacting with and where you might be experiencing a regression. And I think traces do serve to surface that information, which is cool. So that could be something worth investigating.
Jess Belliveau:
It's funny. This is a little bit unrelated to observability, but you've just made me think a bit more about how you're saying you're reliant on third party providers as well. And something I think that's really important that sometimes gets missed is so many of us today are relying on third party providers, like AWS is a huge thing. A lot of people writing apps that require AWS services. And I think a lot of the time, people just assume AWS or Jira or whatever, is 100% up time, always available. And they don't write their code in such a way that deals with failures. And I think it's super important. So many times now I've seen people using the AWS API and they don't implement exponential back off. And so they're basically trying to hit the AWS API, it fails or they might get throttled, for example, and then they just go into a fail state and throw an error to the user. But you could potentially improve that user experience, have a retry mechanism automatically built in and that sort of stuff. It doesn't really tie into the observability thing, but it's something.
Jared Kells:
And the users don't care, right? No one cares if it's an AWS problem. It's your problem, right, your app is too slow.
Jess Belliveau:
Well, they're using your app. Exactly right. It reflects on you sort of thing, so it's in your interest to guard against an upstream failure, or at least inform the user when it's that case. Yeah.
Jared Kells:
Well, I think we're going to have to call it, this podcast, because it was an hour ago. We had instructed max 45 minutes.
Jess Belliveau:
We could just keep going. We might need a part two! Maybe we can request [cross talk 00:39:21].
Jared Kells:
Maybe! Yeah.
Jess Belliveau:
Or we'll just start our own podcast! Yeah.
Angad Sethi:
So what were your biggest learnings today, given it's been Angad and I are just learning about observability, Angad what was your biggest learning today about observability? My biggest learning was that observability does not equal Datadog. No, sorry! It was just very fascinating to learn about quantifying the known unknowns. I don't know if that's a good takeaway, but...
Jess Belliveau:
Any takeaway is a good takeaway! What about you, Jared?
Jared Kells:
I think, because I we were going to talk about state management, and part of it was how we have this ability, at the moment to, the way our front ends are architected, we can capture the state of the app and get a customer to send us their state, basically. And we can load it into our app and just see exactly how it was, just the way our state's designed. But what might be even cooler is to build maybe some observability into that front end for support. I'm thinking instead of just having, we have this button to send us out your support information that sends us a bunch of the state, but instead of console logging to the browser log, we could be console logging, logging in our front end somewhere that when they click, "send support information," our customers should be sending us the actions that they performed.
Jared Kells:
Like, "Hey there's a bug, send us your support information." It doesn't have to be a third party service collecting this observability stuff. We could just build into our... So that's what I'm thinking about.
Jess Belliveau:
Yeah, for sure. It'll probably be a lot less intrusive, as well, as some of the third party stuff that I've seen around.
Jared Kells:
Yeah. It's pretty hard with some of these integrations, especially if you're developing apps that get run behind a firewall.
Jess Belliveau:
Yeah
Jared Kells:
You can't just talk to some of these third parties. So yeah, it's cool though. It's really interesting.
Jess Belliveau:
Well, I hope someone out there listening has learned something, and Jordan and I will send some links through, and we can add them, hopefully, to the show notes or something so people can do some more reading and...
Jared Kells:
All thanks!
Jess Belliveau:
Thanks for having us, yeah.
Jared Kells:
Thanks all for your time, and thanks everybody for listening.
Jordan Simonovski:
Thanks everyone.
Angad Sethi:
That was [inaudible 00:41:55].
Jess Belliveau:
Tune in next week!
- Podcast
Easy Agile Podcast Ep.2 John Turley, Digital Transformation Consultant, Adaptavist
Transcript:
Sean Blake:
Hello, everybody. I'm Sean Blake, the host of this episode of the Easy Agile podcast. I'm also Head of Marketing at Easy Agile, where our mission is to help teams around the world work better together. We have a fascinating guest with us today. It's John Turley from Adaptavist. John is a pragmatic Agile leader with 25 years experience working in companies at all levels, from teams to C suite, always bringing real value, adding change to the way organizations work. Dissatisfied with the standard discourse around transformation and agility, he is passionate about applying cutting edge knowledge from fields as diverse as sociology and psychology. We're really excited to have John on the podcast today. So John, thanks so much for being on the Easy Agile podcast.
John Turley:
You're welcome, Sean. Pleasure to be here.
Sean Blake:
Thank you so much. So John, you've got a lot of experience in the Agile space, in the tech space. And I'm not trying to call you old. But I'd love to get a sense of what's changed over 25 years. It must just be night and day from where you started to what you see now.
John Turley:
There's a lot of change. And I'm pretty comfortable with old. I'm 48 now, and it's closest to 30 years now. That tells you when I first wrote that bit in the bio. So the technology has changed. That's mind blowing. I started off in ops, and then infrastructure and project management and stuff and 1999, 2000, it would take us three months and 50,000 quid to build a couple of web servers with a pair of load balancers and firewalls and a database at the back. And now we spin them up in seconds.
John Turley:
This is profound. Platform technology is profound slack or I mean platform technologies, that makes a massive difference to the way we interact. Scale is a massive issue. I would say that the world is sort of dichotomized into very large and quite small organizations. There seem to be less in the middle. It's just a gut feeling. We see, I think trust is collapsed. We see that in Edelman Trust Barometer. We see the complexity has increased. That's deeply problematic for us. [inaudible 00:02:23] has been measuring that one.
John Turley:
And we see that workforce engagement is at all time lows through the Gallup World Poll. Those things are big, big changes. What's the same though is the people, the way the people think, the way we construct our reality, our mindset, if you like, the way we make sense of the world around us is very, very similar. So although we now talk a lot more about Agile, the waterfall and waterfall for many is a bit of a dirty word, not for me and same with command and control. People are taking the same mindsets. This is measurable and provable. People are taking the same mindset that they had around waterfall and command and control using different language of Agile and behaving in the same way. That hasn't changed.
Sean Blake:
Very interesting. So you touched on trust, and how basically we've seen this breakdown of trust across the board. And I've just watched a documentary that's come out on Netflix around the Social Dilemma, and how the trust that we have in these big social media platforms is eroding. And we're getting a little bit skeptical around what these big companies are doing to us as the customer. Do you find that that's a hard balance with the people that you work with around being customer focused, but still building a profitable and growing business?
John Turley:
Yeah, I do. Yes, and the way I think it manifests itself, which again maybe we'll get into the sort of the psychology and the sociology as well as the complexity science, I'm into it later. But there's a very clear way that that lack of trust manifests itself. I'm not sure it's the lack of trust that manifests itself. But there's a very clear thing that's happening is people, there's repeated patterns of behavior I see all over the place in a lot of the work I do, which is one on one and with groups, that people hold on to this idea that their view is right and anything that doesn't comply with that is wrong.
John Turley:
This is a view that comes from the predominant mindset from what [inaudible 00:04:33] call the sort of expert or the achiever mindset, and it becomes a barrier to us collaborating and learning together and innovating. If somebody with a different point of view is dismissed as wrong, then there's no common ground to start to build trust. Trust is eroded from the outset, and that means that we can't collaborate, and in a complex world where we need to collaborate ever more closely and learn together and innovate, that's a deep, deep problem.
John Turley:
And the response seems to be that people actually withdraw, they withdraw into groups, we might call them cliques or echo chambers. The sociologists call this process homophily. This is a function like many say of platforms like Twitter, we retreat into groups that echo the opinions that we already hold that then reinforce those opinions, and separate us from the opinions of others and reinforce the opinions we have. So the gaps between the cliques grow wider, and particularly in times of COVID and the lockdown that we've had here, and that we seem to be maybe heading back into the isolation perhaps adds to that, and we see it more and more. So at a time where we need to be getting our act cliques and talking with understanding with others with different views, we're actually psychologically in a difficult position to be able to do that. And so that's what we might generically call the lack of trust manifests itself in the work that I'm doing. And that's how I see it with almost everybody that I work with, including myself, by the way. It's not an easy thing to conquer.
Sean Blake:
So what does your day to day look like, John? I think your official job title is Digital Transformation Consultant. You work for Adaptivist as one of the most well known Agile consulting practices in the world, I would say. What does that mean for you day to day? What does your nine to five look like?
John Turley:
So we're really involved in three things. I'm really involved in three things. And it's all about learning, collective learning, organization learning. So we're involved in a lot of original research. We do that original research with a number of academic partners in a program that we're putting together. We've been doing a lot of the research on our own. But as it gets bigger and more credible, other partners are coming to join us and they're very credible partners.
John Turley:
And the research is uncovering new learning. And that new learning points us to new consulting practices where we can take that learning and embed it into a workshop, say or how we might use the research instruments that we've borrowed from academia in the real world to measure social networks or psychological complexity or the amount of autonomy in the environment. So we can then use that to work with teams to help them shift from a sort of functionally oriented way of working to a cross functional way of working, which whether we're talking about safe and Agile release chains, or whether we're talking about Lean software management and value streams, whether we're talking at a team level or an organizational level, the challenge is essentially the same. We need to orientate ourselves around the creation of customer value in cross functional teams that are focused on delivering that value, not just delivering on their function. And that switch brings with it some deep, complex, deep psychological challenges that we're just not really equipped to meet. So we bring sort of the people and culture element, the tools and the Agile methodology simultaneously to bear in teams to help them make that shift. So that's really what my day to day work looks like, so the research and the practice.
Sean Blake:
Okay, research and practice. And when it comes to the practice side and encouraging that cross functional collaboration, how hard is it for people to get on board with that recommendation or get on board with what the company is trying to do?
John Turley:
For most people, it's really hard. So my experience before doing the research that I guess we started a couple of years ago I was just referring to, was something like this recently. We'd often get, so I've worked in the Agile space for a long time, I don't quite know when I started working in that space, in other words, full space, but a decade or two, let's say, and now bumped into a repeated problem, we get our, let's say, thinking of a specific example with a specific client about three years ago, very functionally orientated, trying to make that shift into cross functional teams. So we got a group of five people together from different functions, so designers, testers, developers, a couple of ops people, and between them, they should be able to obviously, launch some working code within 10 days or whatever. We were probably trying to spring into the real world.
John Turley:
And they were all great people. I knew them all personally. I spent time working with them all. They were very sort of Agile in the way they approached the development of the software that they did, and we put them in a room virtually to begin with and we asked them to produce a piece of code that works across functions, produce a piece of code and release it at the end of the week. And they didn't. And we thought what on earth happened there? We didn't really understand this, so we tried it again. But we assumed that the problem is because we'd done it virtually.
John Turley:
So this time, we got everybody together in Poland, as it happened in a room, we set it all up, we talked to them at the beginning, then people like me sort of left the room and let them get on with it, got to the end of the week, same outcome, nothing has happened. And if you talk to them, while they say, "Yeah, my phone pinged and there was a support incident, and you just couldn't.", and they had lots of very plausible reasons why they couldn't come together as a cross functional team. But the fact remains twice in a row, the most capable people haven't done it.
John Turley:
So we had a really long think about it, one of the senior leader in the business and myself. And we realized that the only thing that could be happening, the only thing that could be going wrong here is that there must be some sort of breakdown in the dialogue between the group in the room. So we ran it, we ran the workshop, let's call it for a third time. And this time, we had somebody else in the room just watching what was going on.
John Turley:
And they spotted something happened really early on. One of the people from the UK said to one of the Polish developers, they said, "Look, think of us like consultants. We're here to help you, to transfer knowledge to you so that you develop a capability so that you can do this on your own." And at that moment, the person who was in the room said that the dynamic in the room seemed to change. People glazed over. And I think what it was is that that word consultant that the English person had used had a different meaning for a colleague in Krakow. I think that meaning, the meaning of consultant meant, we're just here to tell you what to do and not actually do anything and put ourselves on the hook for any work, just kind of watch you do it.
John Turley:
And I think at that point, they kind of went, "Okay, well, all right, I get it, same old, same old. We'll do the work you English guys talk about it, because it's an English company.", and that breakdown started to occur. So the question we started is, I've seen that all over the place. So the question we started to wrestle with in our research is what's happening in those moments when that dialogue breaks down what's happening?
John Turley:
And what we've discovered is that there is a number of research studies, the biggest is about 10,000 people, that shows that around about 50% of people are at a level, and this is 50% of leaders in a study of 10,000, so for middle management, senior management, so it's a skewed number. So in reality, in software teams, it's probably more than 50% of people have reached a level of psychological complexity that suits the environment as it was, but has some limitations in cross functional working.
John Turley:
So they have a mindset, a way of making their reality that works well in a functional environment, but it's challenged in a cross functional environment. And that mindset, this way of thinking, which is very prevalent, is a way of thinking where individuals draw their self esteem from their expertise, just to put it very short, simple as an oversimplification. And the thing is, if you're drawing your self esteem from your expertise, when your expertise is challenged, it feels personal.
John Turley:
If it feels personal, people are likely to get defensive. And it's not because they're stupid, or they're not interested or they don't want to, the psychologists can show it's a level of psychological complexity, where that's just how our minds work. That's just how our meaning making works. Now, if that's the stage you're at, if we imagine me as a developer sitting down with a tester, and the tester's saying to me, "Look, the way you've written the code isn't the best way to do it for me, because I can't test it."
John Turley:
If I'm drawing my self esteem from my expertise as a developer, I'm likely to reject that, and might even start to think thoughts like, "Well, I think what really needs to happen here is that you need to be a better tester." I think that's the problem. And then we get this separation. Now at the next stage is psychological complexity. And these stages are in a framework that we do move through these stages. Again, it's an oversimplification, but it's observable and measurable. At slightly later stage of psychological complexity, things start to change. People start to recognize that the world is much more complex, that it's not black and white. And actually, there are multiple ways of doing things.
John Turley:
So to go back to my example as a developer, the tester might say to me, "This isn't the best way to write the code as far as I'm concerned." And what I'll hear is the, "Oh, as far as I'm concerned." It might be as far as I'm concerned, it's not fair enough. How can we change the way I'm writing the code to make it easier to test? But I can't do that if I respond like it's a personal criticism, you know what I mean? So what we started to uncover in the research is a correlation between how successful cross functional teams can be, and the level of psychological complexity in the leaders and the individuals in that team.
Sean Blake:
Interesting. So there's a book that we've been reading at Easy Agile recently called Radical Candor. And really, it comes down to giving constructive feedback to each other, not in a way where you're attacking them personally but you're trying to be honest around how we can work more collaboratively. And like you said with that example, how can a developer write code in a way that the QA tester can actually perform the tests on it? For someone who's new to cross functional ways of working, what advice does the research have around preparing that mindset to receive some of that radical candor, to receive that feedback in a way that you don't take it personally?
John Turley:
Well, so it's a great question, you put it really well, because radical candor is fine. We have, I work in a team that is very candid. We have some difficult conversations, and we don't even really dress our words up. And nobody gets offended. We just know that it's a shortcut. We might get our words wrong, but it's a shortcut to unlocking value to finding out how to work together. But it's not about the words that each of us picks to express. It's about how the other chooses to react to the words landing, as much as now that's a dialogue, it's a two way thing, it takes two to tango.
John Turley:
And the way we can develop a mindset that's more suitable to cross functional work is interesting. First of all, we've got to get out of comfort zone. We've got to be prepared to get out of our comfort zone, not far necessarily, and not for very long necessarily, and not without support and understanding from the colleagues around us. But we do need to get out our comfort zone. Otherwise, psychological growth can't occur. This is what I'm talking to about now is the work really of Robert Kegan and Lisa Lahey, who do a lot of work in dialogue on radical candor.
John Turley:
So we've got to get out of our comfort zone. But we've also got to be addressing a complex problem with a group of people when we're outside of our comfort zone. And that complex problem has to be meaningful, and it has to be salient, it has to be something that we care about, it has to be something relevant to our day to day work. And if we've got those characteristics in the environment that we working in, then there is an opportunity for individuals to choose to develop their own psychological complexity.
John Turley:
So that environment that has those characteristics, we would call in Kegan's word a deliberately developmental environment, because we can't separate the development of individual mindsets from the environment that that mindset functions in. The reason most of us have got the mindset that draws self esteem from expertise is because that's actually what most environments that we work in or not. That works in a functional environment. It's where you get promoted, it's where you get hired. It's where you get your Scrum Master badge and all that other stuff that gives you status and makes you feel good.
John Turley:
The world that we work in for many of us honors that expert way of making meaning. It doesn't honor learning and admission that yours might not be the best way to do things in the same way. So we have to shift the environment to support the individual to choose to take that developmental step because it can't be something that's done to them. You can't make people develop a more complex psychology. You can't train them to do it. You can only give them an environment that supports that step if they want to take it and if they don't, fair enough, that's okay. But maybe cross functional teams for them, if they don't want to because the hard place is to work.
Sean Blake:
Is it a problem that people find their expertise or find their self esteem from expertise? Is part of it encouraging men to find their confidence in things outside of their work or is expertise an honorable pursuit?
John Turley:
I wouldn't say it's a problem at all. Expertise, and the development of expertise is an honorable pursuit. Drawing your self esteem from your expertise is a very necessary part of our psychological development is a stage that can't be skipped really. I said to you before that I don't like to say things like that without the research base, but the psychology certainly imply that it's a stage that can't be skipped. So we've got to do it. We've got to go through this stage. The stage before we're drawing our self esteem from our expertise is where we draw our self esteem from our membership of the group.
John Turley:
And that's very important too, if you think of us as children or being part of a group is essential for our survival, so ingratiating yourself into that group, not rocking the boat, so we don't jeopardize our group membership is critical. But at some point, people start to realize, well, actually, I have to rock the boat a little bit if we want some direction. So separating your meaning making from drawing your self esteem from the group to drawing your self esteem from your expertise is a development in that sense. Drawing your self esteem from your expertise means the best way to write this code is let me train somebody to do it.
John Turley:
It's critical. But like all developmental stages, it has its limitations. So it's not problematic in any way, unless the individual is in a complex environment in which that expert way of making meaning isn't well suited. And then you got a mismatch between psychological complexity and environmental complexity. And when you've got a mismatch like that, the individual's anxiety will go up probably, employee engagement goes down, certainly wellbeing goes down, people revert to an earlier way of making their meaning that's more embedded in their expertise or the group, just to the point, they need to get more sophisticated.
John Turley:
So the problem is the mismatch between psychological complexity and environmental complexity. That's why we need to support, as the world gets more complex, that's why we need to get all get better at supporting the development of individuals into a level of psychological complexity that suits the more complex environment. That's kind of the nub of the problem. Nothing wrong with being an expert in drawing your self esteem from your expertise. People have done it forever, and will continue to do so. Every time you get in a flash car and you feel good, because you're in a car, you're drawing your self esteem from the status symbol, which is very similar to your expertise. As a young man, I put on my sharp suit and I feel a million dollars. Nothing wrong with that at all, but it's limited. That's the problem.
Sean Blake:
Understood, understood. So you've spoken about research and measurement and having an evidence based way of making decisions. When it comes to this cross functional way of working or digital transformation or teams moving from the old way of working to an Agile way of working, do we have evidence to say one way of working is superior to another way of working? And when you're talking to these clients or these customers, can you guarantee that if they work in this way, it's going to lead to better outcomes for the business? How do you approach that conversation?
John Turley:
No, I can't do either of those things. So I would never go anywhere near nor would I research saying that one way of working is better than another way of working or we can say like the mindset and the environment that there are ways of working that will work better depending on the problem that you're trying to solve. But it's very unlikely that one could be considered right and the other wrong in all sorts of circumstances, but more than that, I would say that doesn't matter what your way of working is or a team's way of working is. If the mindset is the way of making sense, if the reality doesn't also shift, then you're just following a new process, a new way of working with the old way of thinking, and you're going to get the same results just with different words.
John Turley:
So for me, that isn't entirely true, I'm quite biased. I guess in the work I do, I've got quite a perspective. If you shift mindset, then everything else will drop into place. If you change everything else, but don't shift mindset, nothing else will drop into place. What we can say however, is that there are three things, let's call them the three elements of a cross functional team that are hidden to people in organizations at the moment.
John Turley:
So generally, we think if we've got people with the right experience and skills working suitably hard, then they're going to work as a successful cross functional team. And if they're not, they're either not working hard, they're not the right type of person, or they haven't got the right set of skills, so fire them and hire somebody else or give them or put them on a training course, and that solves the problem, which of course it doesn't.
John Turley:
We would say that there are three other elements that remain hidden parts of the cross functional team that are more critical than that, and we're beginning to be able to demonstrate that there is a correlation between these three things that I'm going to tell you about on both employee engagement and team performance.
John Turley:
And these three hidden elements are the structure of the social networks that underpin the way people work. So if we think about how we as groups of human beings organize ourselves, we might think about hierarchies and hierarchy diagrams and old charts and bosses and stuff. That's not really very important for a cross functional team. What's much more important is the social network that develops across that team, who works with whom and when and how, right? Do the developers and the testers and the testers and the ops guys and the designers and the technical architects, do they all work together in a cross functional team?
John Turley:
Now that's a social network. That's a network that's formed through individual autonomy because they want to get the job done not because the boss says you've got to go and do it. In fact, it can't be done because the boss says go and do it. So we have worked with some friends in academia with actually an Australian company called Polinode to measure their various ways we can get the data, what those social networks look like. And the structure of those social networks is key.
John Turley:
As we look at the structure of social networks, we can see whether those teams look like their function, sorry, organized hierarchically, or were they organized for cross functional working because of the network structure. So network structure is one element. The other is psychological complexity. So we've worked with a gentleman called David Rook, who did the original research and developed a psychometric instrument that can measure an individual's stage of psychological complexity, both the structure and the substructure. And that mindset complexity is also linked along with network structure to where the teams can function cross functionally.
John Turley:
The third thing that was the hardest bit, the last bit of the jigsaw that we sort of put into our hypothesis is we need to have adequate degrees of autonomy. We needed to develop a much better understanding of what it means for teams to be autonomous than we had, and how that autonomy relates to control and how control undermines autonomy and how we all tend to be orientated, to taking the cues in the environment either as instructions, which we must comply with or invitations to be autonomous. And we now have another psychometric instrument. So the third instrument that we use, we call the motivation orientation scale, excuse me, that can measure an individual's likelihood to interpret inbound information as an instruction or an invitation to be autonomous.
John Turley:
And once we know that, we can start to challenge this common perception within product teams, software teams that the team is autonomous, because everybody thinks they are autonomous. And in fact, everybody is, research shows mostly autonomous, but we might be almost entirely autonomous, or we might be 60% autonomous. We can measure this. And then we can say to teams, "Look, you are autonomous as a bunch of individuals. But you also have this control thing going on where you're responding to inbound requests."
John Turley:
And we need to be more autonomous. So once we can start to measure it, we can start to challenge their ideas of how autonomous they are. And we can start to examine where the teams are choosing to respond from that control orientation or their autonomy. So they're the three things, autonomy and control, complexity of mindset and network structure, equal employee engagement and team performance. That's what our research says. So what we can say is, to your question in the beginning, there is a network structure, a level of psychological complexity and the amount of autonomy that correlates to successfully working as a cross functional team. And in that sense, we might think that those levels are right, in some sense.
Sean Blake:
Okay. So what does a 100% autonomous team look like? And do they still have interaction with, say the executive team on a day to day basis? Or are they at odds, those two concepts?
John Turley:
No, they're not at odds. They do have, they might have day to day, I suppose they would, they will have either directly or indirectly interactions with the executive team. So the first thing we need to bear in mind here is that the research that we're leaning on is something called self determination theory, which is a theory of motivation. And it has quite a specific definition of autonomy, which is not what we might normally think. Often autonomy is taken to mean as sort of the general use of independence. So if we buy a company, we might leave it to run autonomously, which would mean we just left it alone for a while. And autonomy in this context doesn't mean that. It means individuals acting of their own volition, individuals deciding how to act towards a common purpose. So the team has to have the vision which they can self organize around. You can't self organize without autonomy. If you don't got autonomy, you have to wait to be told what to do. And then it's not self organization.
John Turley:
So autonomy leads to self organization, and self organization can be around a common vision or a set of goals or an OKR is quite a sophisticated way to do instead of management by objective, then we can self organize in a way that sort of honors the need to be part of an organization, doing some coordinated work, but that doesn't rely on a manager telling the individual what to do.
John Turley:
That's what an autonomous team looks like. An autonomous team, you need the autonomy is really a self organizing team. And the self organizing team is deciding what the team ought to do in order to achieve a wider objective, which could be integrating with other self organizing teams. And obviously, the direction is set often by the executive. So all these things sort of come into play. It's not a question of control on the one hand or autonomy on the other or Agile on one hand or waterfall on the other.
John Turley:
So we're going to blend the two. We're going to balance them. And that balance needs to shift not only across teams, but also depending on the level that the organization is, that the team is working in the organization. And what I mean by that is the need for control and measurement increases in many ways as you go higher up the organization. So we want high degrees of autonomy at a team level where we're creating customer value. But we need to recognize that that self organizing team has a legitimate requirement to integrate with some elements of controlling the organization, because if we have some elements of control, then we can't do the accounting and be accountable for where we spend investors' or shareholders' money, you know what I mean? So it's much more complex in the sort of the dichotomized world that people tend to look at, which is very black and white. Is it Agile or is it waterfall? Are we autonomous or are we control orientated where you're both and the blend of which needs to shift depending on the environment here.
Sean Blake:
Okay, okay. So there's always a need for a bit of control on top of the autonomy.
John Turley:
It's a balance, right? We're all comfortable with control, aren't we? We all comply with speed limits, for example. We're perfectly okay with that. Control is not a dirty word. Some will do things that we're told to do sometimes, and we're happy to do it. Sometimes we do it begrudgingly. We're not happy to do it. Sometimes we reject it. There's nothing wrong with control in itself. It's the overuse of control to coerce people to do things that they don't want to do. That's when it becomes problematic because it undermines an individual's autonomy, which is a basic, universal psychological need. We all need to have a sufficient degree of autonomy to feel well.
Sean Blake:
Okay. Okay. So we know that Agile's had a good run, it's been decades now. So do you still find that you come across the same objections when you're speaking to these executive teams or these companies perhaps from more traditional industries? Do they still have the same objections to change as they did in the past? And how do you try and overcome them?
John Turley:
Yes, they do. So one of my strange experiences as a young project or program manager, whatever I was, is that when I would end up in a room full of software developers who were Agile, probably the language they would have used at the time and a bunch of infrastructure engineers who followed waterfall, and the distaste for one group for the other, it was almost visceral, and you could see it in them. There would be a bunch in, I don't know, Linux t-shirts and jeans, and then the infrastructure waterfall people would probably be wearing suits.
John Turley:
I mean, it was really obvious, and it was hard to bring these groups together. That was my experience in let's say, around about 2000, I sat with a client yesterday, who said exactly the same thing. They said that in their organization, which is going through a very large, Agile transformation at the moment, they said, "These are their ways. We kind of got people at the two extremes. We can sort of bookend it. We've got the waterfall people who think their way is best and we got the Agile people who are totally on board with Agile transformation."
John Turley:
And what I heard when the individual said that is quite senior leaders, the Agile people are on board with the Agile transformation brackets because they think their way of working is best. And what I tried to point out to that senior manager was that that was one group, there were perceptions anyway, that one group was into Agile and got cross functional working, all that got cross functional working and the other group didn't, actually the two groups were operating in the same way.
John Turley:
They both thought their way of working was right, and one was espousing the virtues of waterfall and the other Agile, but the fact was they both thought that they were right, and the other was wrong. And they were both wrong in that. Waterfall works really, really well in a lot of scenarios. And full on Agile works really, really well in some environments. In some environments, it's quite limited by the way, in my opinion.
John Turley:
My friend and colleague, John Kern, who was a co author of the Agile Manifesto in 2001 or 2004, whatever it was, I can't remember. He says, "I love waterfall. I do loads of waterfall, I just do it in very small chunks." And because the fact is we've got to do work sequentially in some manner. I can't work on an infinite number of things in parallel. There has to be a sequence.
John Turley:
And that really, when I heard him say that, it sort of filled my heart with joy in a way because for somebody with a waterfall background, I used to say, "Look, I don't get this. In waterfall project management, we're talking about stages. And in Agile, we're talking about sprints." And they've both got an end. One's got a definition of done. And one's got some acceptance criteria, and they both got a beginning. The only difference is the language and the duration.
John Turley:
So what if we make sprints, sorry, stages 10 days long? What's the difference now? And yet people would say, "Well, we're Agile, and we do sprints, and that would still be a stage." Come on, we've got to find some common ground right to build a common meaning making between large groups of people. Otherwise, only the Agile listeners amongst us can work for Agile organizations, and everybody else is doomed. And that's not true, is it? That's nonsense, right? So we've got to come together and find these ways of working as my friend John Kern points out so eloquently.
Sean Blake:
Okay, that's good advice. So for these, some people that you meet, there's still this resistance that has been around for many years. How do you go about encouraging people to get out of their comfort zone to try this cross functional way of working and be more transparent, I guess with contributing to the team and not necessarily pushing towards being just an individual contributor?
John Turley:
Another great question, Sean. So there are a couple of ways we can do it. The psychometric instrument that I mentioned earlier, that can sort of measure I kind of always put that in inverted commas, because it doesn't really measure anything, it assesses, I suppose, is a really, really powerful tool. Off the back of that measurement, the psychologists that we work with can create a report that explains lots of this sort of meaning making stuff, adult developmental psychology to the individual. And it tends to be mind blowing. It really shifts people's perspective about what they are and how they're operating in the world.
John Turley:
Once people start to understand that there are these developmental stages, and we all move through them potentially to the last days of our life, we can start to see the disagreements. They just start to fall away. Disagreements start to fall away, because they cease to be seen as opposing views that can't be reconciled, because I'm this type of person and they're that type of person.
John Turley:
And they start to be seen as incompatibilities in meaning making. So people start to go, "Okay, well, I think this and you think that. How are we both making our meaning around this, that means we can see other's perspective?" And immediately, then you've started to find a mechanism to find some common ground.
John Turley:
So the leadership development profile report, which is the report that comes from the psychometric instrument really sheds a lot of light on for the individual, both on how they're working and what development looks like, what psychological development looks like for them. So that's a powerful tool. We have another service that we call dialogue partnering, which we're piloting, which is sort of what over an eight or 10 week program, it's a one on one collaborative inquiry into how an individual is making their meaning, and what the strengths of their meaning making and the limitations of their meaning making are.
John Turley:
And once people start to realize that the way, the reason they feel defensive because the way they code has just been criticized is because they're drawing their meaning from being the best coder on the planet. But there is a development path that leaves that behind, which is where many, many people get to. It's kind of like an a-ha moment, people just realize that reality is different to what they thought and it can be adjusted.
John Turley:
So the LDP, the Leadership Development Profile reports, dialogue partnering, and working with senior management to create a deliberately developmental environment, which does those things I mentioned before, they're the critical tools that we use to help individuals unlock their own psychological development. And the question is, of course, why would they be motivated to do this? Why would they care? And they care, because 80% of people have got a very low level of engagement in their work. Most people are treading water, killing time. It's not a joyous place to be. Once people start to work in cross functional teams and get involved in joyous work with their colleagues to create things they couldn't, which is a basic human instinct, that's a buzz, then you come into work and enjoying yourself.
John Turley:
That's what I said to you at the beginning of that call, right? I'm having a great time, I'm working with some brilliant people unlocking new knowledge that we believe humankind doesn't have. That's a buzz. I'm not treading water in my role, you know what I mean? And this isn't unique to me. In my view, the whole world could be like that. We could all work in roles like that, maybe that's got a bit far. But certainly, many more of this could then currently do to get on board with the psychological development and enjoy your role more, enjoy your work. There's a lot of time.
Sean Blake:
Yeah, I really resonate with what you said about the buzz. And I've seen that happen when the light bulb comes on in people, and it's no longer this factory line of work getting passed down to you. But you realize you're now part of a team, everyone's there to support you, you're working towards a common goal. And it's transparent, you can see what other people are working on, and you're helping each other build something together. It's actually fun. For the first time in a lot of people's careers, it's a fun and enjoyable experience to come to work. So that must make you feel really good about doing what you do.
John Turley:
Yeah, it does. It's why I get out of bed, and it's what I've been about for 20 years trying to unlock this, really help other people unlock this. I got a phone call from a colleague the other day who said they were doing some exercise, and they were thinking about their new role. And they thought to themselves, this is what it feels like to do joyous work.
John Turley:
I mean, that [inaudible 00:42:51] job done, because this is a very capable individual. Once they're feeling like that, you know that they're going to do great things. When they're feeling like they're other people feeling, that people are clot watching, or there's this culture of busyness, where we can't admit that we don't know things. And then we've got to be in a meeting doing something, in the transparent world that you're just talking about, if I've got any work to do, I can just sit and say, "I'm going to work today, I'm waiting for more stuff to write." And it's not a bad thing. It's like, great, you're working at a sustainable pace. That's a good thing. I worked for a Swiss bank for years and years, working at a sustainable pace but nobody was interested, you need to work at a full on flat out unsustainable pace. And when you're burned out, you can go and we'll get somebody else to come in and do it. That's how it works. That's miserable.
Sean Blake:
It's not what we want, Sean, is it? It's not what we want. And unfortunately, a lot of people have been there before and they've experienced it. And once they see the light, they never want to go back to it, which I guess is a good thing once you recognize that there's a better way.
John Turley:
Yeah, agreed.
Sean Blake:
Yeah. Okay, well, I think we're going to wrap up shortly. I do have two more questions for you before we call an end.
John Turley:
I'll try and keep the answers brief.
Sean Blake:
No, that's fine. I'm really enjoying it. I could probably go for another hour but I know we've got other things to do. So in the research, I've read some of your blog posts, and I watched some of the talks that you've done and events in the past, and you speak about this concept of hidden commitments. And I just like to learn a bit more, what is a hidden commitment? And what's the implication?
John Turley:
Great question. So Robert Kegan and Lisa Lahey, developmental psychologists, wrote a book called Immunity to Change. This is a book that I read here a few years ago. And in there, Bob and Lisa talk about hidden commitments. And so they start by pointing out that we all make New Year's resolutions and they all fail. We really mean them when we make them. And when I was in my late teens, maybe I really did mean them when I made them. But I could never keep them.
John Turley:
In another book, Kegan points out, I think it's in the book called The Evolving Self. He points out that a large majority of men, after they've had heart attacks, I think it's a study in America. But it's been a while since I read it, I think it's six out of seven, don't change either their diet or their exercise regime after they've had a heart attack. And the reason he uses that as a case study in the book, because he's pointing out that it's not that these people don't know what to do, you need less calories in, more out. And it's not that they're not motivated to do it. They've had a near death experience. They'd like to stay alive, we presume.
John Turley:
Yet still, they don't make any meaningful change to their diet, their exercise regime, why not? And what Bob and Lisa say in the book from their research is that it's down to hidden commitments. We all have our way of making meaning. We have our values and our assumptions that we absorb from society as if by osmosis. And we don't question them. We can't question all of the assumptions that we absorb as we grow up. It's just not possible. So we have these hidden assumptions that we're committed to hidden commitments. And sometimes, these hidden commitments conflict with our stated objectives. And when the hidden commitment conflicts with our stated objective, the result is that we get very confused about the fact that the stated objective sort of falls by the wayside, and we don't really understand why. We might think, I would think a common out, because I just need to try harder, I just need more willpower. I just need to stay the course. And it's not true very often. There is something else in your meaning making this conflicted with our stated objective. And once you can surface it, then you can start to examine that hidden commitment, and you can play around with it.
John Turley:
And when you can play around with it, then you're adjusting your meaning making. And the technique that we use in dialogue partnering comes from Bob and Lisa's book, where we're essentially uncovering those hidden commitments and seeing how they conflict with commitment. So that's sort of, and then once you can see it, and you can experiment with it, you can start to unlock change in yourself. Peter Senge, I think he's director of innovation. He's very famous, director of innovation for MIT. And he has a beautiful little quote, something like, "What folly it is to think of transforming our organizations without transforming ourselves?"
John Turley:
We need to change our relationship with power in order to change the way power is distributed across our organizations. And that's an example of a hidden commitment that we don't normally think about. We just think we can empower people magically, whilst retaining all the power for the senior manager. And that just doesn't work. There's a hidden commitment, conflicting with the idea that we want to empower our teams, which is a quite flawed idea.
Sean Blake:
Wow. Okay. Well, I really like the approach to work and looking at the social structure, the social networks, and the psychology behind it all. It's really fascinating and it's not something I've really come across before, especially in the Agile space. So that's really unique. Thanks for sharing that, John. Last question for you. 2020 has been interesting to say the least. We've talked about some things that have stayed the same over your career, some things that have change. What do you think is going to come next, looking forward to the next five, 10 years? What are some of those trends that you think are really going to stand out and maybe change the way that your work, it changes the way that that your nine to five looks or changes the way that you interact with your clients?
John Turley:
I think that this won't just change the way my nine to five looks. It will change like everybody's nine to five looks. I think that the world is in a difficult place. A lot of us are upset, and it looks like a bit of a mess, and we're all anxious, I think. A lot of us are anxious. But as a friend said to me, he was quoting somebody else, never let a good crisis go to waste. The amount of changes, a lot of energy in the system, the amount of changes in the system is palpably changing things.
John Turley:
Many of us recognize there must be a better way of doing things because our ways of organizing ourselves as society, including our organizations is collapsing. It doesn't work anymore. People are realizing through work that people like the names I've mentioned, and through our original research, I hope will sort of contribute in an original way to this, that there is a better way of organizing ourselves that humankind does have the knowledge and the experience to do what we need to do.
John Turley:
It just isn't in IT. We need to look outside of it to what the psychologists say about mindset, not what the Agile people say about mindset. That's a radical idea. And as we import this learning and this knowledge, we have a framework that helps us understand to a much greater degree what's really going on, and how we can unlock real change. So everything that I talked about today, very little of it is original. We have some original work I can't really talk about. Does it matter? The knowledge is out there. If we do the people and culture bit and the tools and the methodology together, then it scales, then we change the way organizations work, which is going to change everybody's nine to five.
Sean Blake:
That's great. It's bringing it back to basics, isn't it? What we know about human beings, and now let's apply that to what we know about work. So that's really eye opening. And I've learned a lot from our conversation, John. I've got a few books and a few research papers to go and look at after this. So thank you so much for appearing on the Easy Agile podcast, and we really appreciate your time.
John Turley:
Sure, my pleasure. I mean, I love and we love at Adaptavist to sharing what we're doing. So we can all engage in more joyous work, man. So thanks for helping us get the message out there.
- Podcast
Easy Agile Podcast Ep.34 Henrik Kniberg on Team Productivity, Code Quality, and the Future of Software Engineering
TL;DR
Henrik Kniberg, the agile coach behind Spotify's model, discusses how AI is fundamentally transforming software development. Key takeaways: AI tools like Cursor and Claude are enabling 10x productivity gains; teams should give developers access to paid AI tools and encourage experimentation; coding will largely disappear as a manual task within 3–4 years; teams will shrink to 2 people plus AI; sprints will become obsolete in favour of continuous delivery; product owners can now write code via AI, creating pull requests instead of user stories; the key is treating AI like a brilliant intern – when it fails, the problem is usually your prompt or code structure, not the AI. Bottom line: Learn to use AI now, or risk being left behind in a rapidly changing landscape.
Introduction
Artificial intelligence is fundamentally reshaping how software teams work, collaborate, and deliver value. But with this transformation comes questions: How do we maintain team morale when people fear being replaced? What happens to code quality when AI writes most of the code? Do traditional agile practices like sprints still make sense?
In this episode, I sit down with Henrik Kniberg to tackle these questions head-on. Henrik is uniquely positioned to guide us through this transition – he's the agile coach and entrepreneur who pioneered the famous Spotify model and helped transform how Lego approached agile development. Now, as co-founder of Abundly AI, he's at the forefront of helping teams integrate AI into their product development workflows.
This conversation goes deep into the practical realities of AI-powered development: from maintaining code review processes when productivity increases 10x, to ethical considerations around AI usage, to what cross-functional teams will look like in just a few years. Henrik doesn't just theorise – he shares real examples from his own team, where their CEO (a non-coder) regularly submits pull requests, and where features that once took a sprint can now be built during a 7-minute subway ride.
Whether you're a developer wondering if AI will replace you, a product owner looking to leverage these tools, or a leader trying to navigate this transformation, this episode offers concrete, actionable insights for thriving in the AI era.
About Our Guest
Henrik Kniberg is an agile coach, author, and entrepreneur whose work has shaped how thousands of organisations approach software development. He's best known for creating the Spotify model – the squad-based organisational structure that revolutionised how large tech companies scale agile practices. His work at Spotify and later at Lego helped demonstrate how agile methodologies could work at enterprise scale whilst maintaining team autonomy and innovation.
Henrik's educational videos have become legendary in the agile community. His "Agile Product Ownership in a Nutshell" video, created over a decade ago, remains one of the most-watched and shared resources for understanding product ownership, with millions of views. His ability to distil complex concepts into simple, visual explanations has made him one of the most accessible voices in agile education.
More recently, Henrik has turned his attention to the intersection of AI and product development. As co-founder of Abundly AI, he's moved from teaching about agile transformation to leading AI transformation – helping companies and teams understand how to effectively integrate generative AI tools into their development workflows. His approach combines his deep understanding of team dynamics and agile principles with hands-on experience using cutting-edge AI tools like Claude, Cursor, and GitHub Copilot.
Henrik codes daily using AI and has been doing so for over two and a half years, giving him practical, lived experience with these tools that goes beyond theoretical understanding. He creates educational content about AI, trains teams on effective AI usage, and consults with organisations navigating their own AI transformations. His perspective is particularly valuable because he views AI through the lens of organisational change management – recognising that successful AI adoption isn't just about the technology, it's about people, culture, and process.
Based in Stockholm, Sweden, Henrik continues to push the boundaries of what's possible when human creativity and AI capabilities combine, whilst maintaining a pragmatic, human-centred approach to technological change.
Transcript
Note: This transcript has been lightly edited for clarity and readability.
Maintaining Team Morale and Motivation in the AI Era
Tenille Hoppo: Hi there, team, and welcome to this new episode of the Easy Agile Podcast. My name is Tenille Hoppo, and I'm feeling really quite lucky to have an opportunity to chat today with our guest, Henrik Kniberg.
Henrik is an agile coach, author, and entrepreneur known for pioneering agile practices at companies like Spotify and Lego, and more recently for his thought leadership in applying AI to product development. Henrik co-founded Abundly AI, and when he isn't making excellent videos to help us all understand AI, he is focused on the practical application of generative AI in product development and training teams to use these technologies effectively.
Drawing on his extensive experience in agile methodologies and team coaching, Henrik seems the perfect person to learn from when thinking about the intersection of AI, product development, and effective team dynamics. So a very warm welcome to you, Henrik.
Henrik Kniberg: Thank you very much. It's good to be here.
Tenille: I think most people would agree that motivated people do better work. So I'd like to start today by touching on the very human element of this discussion and helping people maintain momentum and motivation when they may be feeling some concern or uncertainty about the upheaval that AI might represent for them in their role.
What would you suggest that leaders do to encourage the use of AI in ways that increase team morale and creativity rather than risking people feeling quite concerned or even potentially replaced?
Henrik: There are kind of two sides to the coin. There's one side that says, "Oh, AI is gonna take my job, and I'm gonna get fired." And the other side says, "Oh, AI is going to give me superpowers and give us all superpowers, and thereby give us better job security than we had before."
I think it's important to press on the second point from a leader's perspective. Pitch it as this is a tool, and we are entering a world where this tool is a crucial tool to understand how to use – in a similar way that everyone uses the Internet. We consider it obvious that you need to know how to use the Internet. If you don't know how to use the Internet, it's going to be hard.
"I encourage people to experiment, give them access to the tools to do so, and encourage sharing. And don't start firing people because they get productive."
I also find that people tend to get a little bit less scared once they learn to use it. It becomes less scary. It's like if you're worried there's a monster under your bed, maybe look under your bed and turn on the lights. Maybe there wasn't a monster there, or maybe it was there but it was kind of cute and just wanted a hug.
Creating a Culture of Safe Experimentation
Tenille: I've read that you encourage experimentation with AI through learning – I agree it's the best way to learn. What would you encourage leaders and team leaders to do to create a strong culture where teams feel safe to experiment?
Henrik: There are some things. One is pretty basic: just give people access to good AI tools. And that's quite hard in some large organisations because there are all kinds of resistance – compliance issues, data security issues. Are we allowed to use ChatGPT or Claude? Where is our data going? There are all these scary things that make companies either hesitate or outright try to stop people.
Start at that hygiene level. Address those impediments and solve them. When the Internet came, it was really scary to connect your computer to the Internet. But now we all do it, and you kind of have to, or you don't get any work done. We're at this similar moment now.
"Ironically, when companies are too strict about restricting people, then what people tend to do is just use shadow AI – they use it on their own in private or in secret, and then you have no control at all."
Start there. Once people have access to really good AI tools, then it's just a matter of encouraging and creating forums. Encourage people to experiment, create knowledge-sharing forums, share your own experiments. Try to role-model this yourself. Say, "I tried using AI for these different things, and here's what I learned." Also provide paths for support, like training courses.
The Right Mindset for Working with AI
Tenille: What would you encourage in team members as far as their mindset or skills go? Certainly a nature of curiosity and a willingness to learn and experiment. Is there anything beyond that that you think would be really key?
Henrik: It is a bit of a weird technology that's never really existed before. We're used to humans and code. Humans are intelligent and kind of unpredictable. We hallucinate sometimes, but we can do amazing things. Code is dumb – it executes exactly what you told it to do, and it does so every time exactly the same way. But it can't reason, it can't think.
Now we have AI and AI agents which are somewhere in the middle. They're not quite as predictable as code, but they're a lot more predictable than humans typically. They're a lot smarter than code, but maybe not quite as smart as humans – except for some tasks when they're a million times smarter than humans. So it's weird.
You need a kind of humble attitude where you come at it with a mindset of curiosity. Part of it is also to realise that a lot of the limitation is in you as a user. If you try to use AI for coding and it wrote something that didn't work, it's probably not the model itself. It's probably your skills or lack of skills because you have to learn how to use these tools. You need to have this attitude of "Oh, it failed. What can I do differently next time?" until you really learn how to use it.
"There can be some aspect of pride with developers. Like, 'I've been coding for 30 years. Of course this machine can't code better than me.' But if you think of it like 'I want this thing to be good, I want to bring out the best in this tool' – not because it's going to replace me, but because it's going to save me a tonne of time by doing all the boring parts of the coding so I can do the more interesting parts – that kind of mindset really helps."
Maintaining Code Quality and Shared Understanding
Tenille: Our team at Easy Agile is taking our steps and trying to figure out how AI is gonna work best for us. I put the question out to some of our teams, and there were various questions around people taking their first steps in using AI as a co-pilot and producing code. There are question marks around consistency of code, maintaining code quality and clean architecture, and even things like maintaining that shared understanding of the code base. What advice do you have for people in that situation?
Henrik: My first piece of advice when it comes to coding – and this is something I do every day with AI, I've been doing for about two and a half years now – is that the models now, especially Claude, have gotten to the level where it's basically never the AI's fault anymore. If it does anything wrong, it's on you.
You need to think about: okay, am I using the wrong tool maybe? Or am I not using the tool correctly?
For example, the current market leader in terms of productivity tools with AI is Cursor. There are other tools that are getting close like GitHub Copilot, but Cursor is way ahead of anything else I've seen. With Cursor, it basically digs through your code base and looks for what it needs.
But if it fails to find what it needs, you need to think about why. It probably failed for the same reason a human might have failed. Maybe your code structure was very unstructured. Maybe you need to explain to the AI what the high-level structure of your code is.
"Think of it kind of like a really smart intern who just joined your team. They're brilliant at coding, but now they got confused about something, and it's probably your code – something in it that made it confused. And now you need to clarify that."
There are ways to do that. In Cursor, for example, you can create something called cursor rules, which are like standing documents that describe certain aspects of your system. In my team, we're always tweaking those rules. Whenever we find that the AI model did something wrong, we're always analysing why. Usually it's our prompt – I just phrased it badly – or I just need to add a cursor rule, or I need to break the problem down a little bit.
It's exactly the same thing as if you go to a team and give them this massive user story that includes all these assumptions – they'll probably get some things wrong. But if you take that big problem and sit down together and analyse it and split it into smaller steps where each step is verifiable and testable, now your team can do really good work. It's exactly the same thing with AI.
Addressing the Code Review Bottleneck
Tenille: One of our senior developers found that he was outputting code at a much greater volume and faster speed, but the handbrake he found was actually their code review processes. They were keeping the same processes they had previously, and that was a bit of a handbrake for them. What kind of advice would you have there?
Henrik: This reminds me of the general issue with any kind of productivity improvement. If you have a value stream, a process where you do different parts – you do some development, some testing, you have some design – whenever you take one part of the process and make it super optimised, the bottleneck moves to somewhere else.
If testing is no longer the bottleneck, maybe coding is. And when coding is instant, then maybe customer feedback – or lack of customer feedback – is the bottleneck. The bottleneck just keeps moving. In that particular case, the bottleneck became code review. So I would just start optimising that. That's not an AI problem. It's a process problem.
Look at it: what exactly are we trying to do when we review? Maybe we could think about changing the way we review things. For example, does all code need to be reviewed? Would it be enough that the human who wrote it and the AI, together with the human, agree that this is fine? Or maybe depending on the criticality of that change, in some cases you might just let it pass or use AI to help in the reviewing process also.
"I think there's value in code review in terms of knowledge sharing in a large organisation. But maybe the review doesn't necessarily need to be a blocking process either. It could be something you go back and look at – don't let it stop you from shipping, but maybe go back once per week and say, 'Let's look at some highlights of some changes we've made.'"
We produce 10 times more code than in the past, so reviewing every line is not feasible. But maybe we can at least identify which code is most interesting to look at.
Ethical Considerations: Balancing Innovation with Responsibility
Tenille: Agile emphasises people over process and delivering value to customers. Now with AI in the mix, there's potential for raising some ethical considerations. I'm interested in your thoughts on how teams should approach these ethical considerations that come along with AI – things like balancing rapid experimentation against concerns around bias, potential data privacy concerns.
Henrik: I would treat each ethical question on its own merits. Let me give you an example. When you use AI – let's say facial recognition technology that can process and recognise faces a lot better than any human – I kind of put that in the bucket of: any tool that is really useful can also be used for bad things. A hammer, fire, electricity.
That doesn't have so much to do with the tool itself. It has much more to do with the rules and regulations and processes around the tool. I can't really separate AI in that sense. Treat it like any other system. Whenever you install a camera somewhere, with or without AI, that camera is going to see stuff. What are you allowed to do with that information? That's an important question. But I don't think it's different for AI really, in that sense, other than that AI is extremely powerful. So you need to really take that seriously, especially when it comes to things like autonomous weapons and the risk of fraud and fake news.
"An important part of it is just to make it part of the agenda. Let's say you're a recruitment company and you're now going to add some AI help in screening. At least raise the question: we could do this. Do we want to do this? What is the responsible way to do it?"
It's not that hard to come up with reasonable guidelines. Obviously, we shouldn't let the AI decide who we're going to hire or not. That's a bad idea. But maybe it can look at the pile of candidates that we plan to reject and identify some that we should take a second look at. There's nothing to lose from that because that AI did some extra research and found that this person who had a pretty weak CV actually has done amazing things before.
We're actually working with a company now where we're helping them build some AI agents. Our AI agents help them classify CVs – not by "should we hire them or not," but more like which region in Sweden is this, which type of job are we talking about here. Just classifying to make it more likely that this job application reaches the right person. That's work that humans did before with pretty bad accuracy.
The conclusion was that AI, despite having biases like we humans do, seemed to have less biases than the human. Mainly things like it's never going to be in a bad mood because it hasn't had its coffee today. It'll process everybody on the same merits.
I think of it like a peer-to-peer thing. Imagine going to a doctor – ideally, I want to have both a human doctor and an AI doctor side by side, just because they both have biases, but now they can complement each other. It's like having a second opinion. If the AI says we should do this and the doctor says, "No, wait a second," or vice versa, having those two different opinions is super useful.
Parallels Between Agile and AI Transformations
Tenille: You're recognised as one of the leading voices in agile software development. I can see, and I'm interested if you do see, some parallels between the agile transformations that you led at Spotify and Lego with the AI transformations that many businesses are looking at now.
Henrik: I agree. I find that when we help companies transition towards becoming AI native, a lot of the thinking is similar to agile. But I think we can generalise that agile transformations are not really very special either – it's organisational change.
There are some patterns involved regardless of whether you're transitioning towards an agile way of working or towards AI. Some general patterns such as: you've got to get buy-in, it's useful to do the change in an incremental way, balance bottom-up with top-down. There are all these techniques that are useful regardless. But as an agilist, if you have some skills and competence in leading and supporting a change process, then that's going to be really useful also when helping companies understand how to use AI.
Tenille: Are you seeing more top-down or bottom-up when it comes to AI transformations?
Henrik: So far it's quite new still. The jury's not in yet. But so far it looks very familiar to me. I'm seeing both. I'm seeing situations where it's pure top-down where managers are like "we got to go full-out AI," and they push it out with mixed results. And sometimes just completely bottom-up, also with mixed results.
Sometimes something can start completely organically and then totally take hold, or it starts organically and then gets squashed because there was no buy-in higher up. I saw all of that with agile as well. My guess is in most cases the most successful will be when you have a bit of both – support and guidance from the top, but maybe driven from the bottom.
"I think the bottom-up is maybe more important than ever because this technology is so weird and so fast-moving. As a leader, you don't really have a chance if you try to control it – you're going to slow things down to an unacceptable level. People will be learning things that you can't keep up with yourself. So it's better to just enable people to experiment a lot, but then of course provide guidance."
AI for Product Owners: From Ideation to Pull Requests
Tenille: You're very well known for your guidance and for your ability to explain quite complex concepts very simply and clearly. I was looking at your video on YouTube today, the Agile Product Ownership in a Nutshell video, which was uploaded about 12 years ago now. Thinking about product owners, there's a big opportunity now with AI for generating ideas, analysing data, and even suggesting new features. What's your advice for product owners and product managers in using AI most effectively?
Henrik: Use it for everything. Overuse it so you can find the limits. The second thing is: make sure you have access to a good AI model. Don't use the free ones. The difference is really large – like 10x, 100x difference – just in paying like $20 per month or something. At the moment, I can particularly strongly recommend Claude. It's in its own category of awesomeness right now. But that of course changes as they leapfrog each other. But mainly: pay up, use a paid model, and then experiment.
For product owners, typical things are what you already mentioned – ideation, creating good backlog items, splitting a story – but also writing code. I would say as a PO, there is this traditional view, for example in Scrum, that POs should not be coding. There's a reason for that: because coding takes time, and then as PO you get stuck in details and you lose the big picture.
Well, that's not true anymore. There are very many things that used to be time-consuming coding that is basically a five-minute job with a good prompt.
"Instead of wasting the team's time by trying to phrase that as a story, just phrase it as a pull request instead and go to the team and demonstrate your running feature."
That happened actually today. Just now, our CEO, who's not a coder, came to me with a pull request. In fact, quite often he just pushes directly to a branch because it's small changes. He wants to add some new visualisation for a graph or something in our platform – typically admin stuff that users won't see, so it's quite harmless if he gets it wrong.
He's vibe coding, just making little changes to the admin, which means he never goes to my team and says, "Hey, can you guys generate this report or this graph for how users use our product?" No, he just puts it in himself if it's simple.
Today we wanted to make a change with how we handle payments for enterprise customers. Getting that wrong is a little more serious, and the change wasn't that hard, but he just didn't feel completely comfortable pushing it himself. So he just made a PR instead, and then we spent 15 minutes reviewing it. I said it was fine, so we pushed it.
It's so refreshing that now anybody can code. You just need to learn the basic prompting and these tools. And then that saves time for the developers to do the more heavyweight coding.
Tenille: It's an interesting world where we can have things set up where anyone could just jump in and with the right guardrails create something. It makes Friday demos quite probably a lot more interesting than maybe they used to be in the past.
Henrik: I would like to challenge any development team to let their stakeholders push code, and then find out whatever's stopping you from doing that and fix that. Then you get to a very interesting space.
Closing the Gap Between Makers and Users
Tenille: A key insight from your work with agile teams in the past has been to really focus on minimising that gap between maker and user. Do you think that AI helps to close that gap, or do you think it potentially risks widening it if teams are focusing too much on AI predictions and stop talking to their customers effectively?
Henrik: I think that of course depends a lot on the team. But from what I've seen so far, it massively reduces the gap. Because if I don't have to spend a week getting a feature to work, I can spend an hour instead. Then I have so much more time to talk to my users and my customers.
If the time to make a clickable prototype or something is a few seconds, then I can do it live in real time with my customers, and we can co-create. There are all these opportunities.
I find that – myself, my teams, and the people I work with – we work a lot more closely with our users and customers because of this fast turnaround time.
"Just yesterday I was teaching a course, and I was going home sitting on the subway. It was a 15-minute subway ride. I finally got a seat, so I had only 7 minutes left. There's this feature that I wanted to build that involved both front-end and back-end and a database schema change. Well, 5 minutes later it was done and I got off the subway and just pushed it. That's crazy."
Of course, our system is set up optimised to enable it to be that fast. And of course not everything will work that well. But every time it does, I've been coding for 30 years, and I feel like I wake up in some weird fantasy every day, wondering, "Can I really be this productive?" I never would have thought that was possible.
Looking Ahead: The Future of Agile Teams
Tenille: I'd like you to put your futurist hat on for a moment. How do you see the future of agile teamwork in, say, 10 to 15 years time? If we would have this conversation again in 2035, given the exponential growth of AI and improvements over the last two to three years, what do you think would be the biggest change for software development teams in how they operate?
Henrik: I can't even imagine 10 years. Even 5 years is just beyond imagination. That's like asking someone in the 1920s to imagine smartphones and the Internet. I think that's the level of change we're looking at.
I would shorten the time a little bit and say maybe 3 or 4 years. My guess there – and I'm already seeing this transfer happen – is that coding will just go away. It just won't be stuff that we humans do because we're too slow and we hallucinate way too much.
But I think engineering and the developer role will still be there, just that we don't type lines of code – in the same way that we no longer make punch cards or we no longer write machine code and poke values into registers using assembly language. That used to be a big part of it, but no longer.
"In the future, as developers, a lot of the work will still be the same. You're still designing stuff, you're thinking about architecture, you're interacting with customers, and you're doing all the other stuff. But typing lines of code is something that we're gonna be telling our kids about, and they're not gonna believe that we used to do that."
The other thing is smaller teams, which I'm already seeing now. I think the idea of a cross-functional team of 5 to 7 people – traditionally that was considered quite necessary in order to have all the different skills needed to deliver a feature in a product. But that's not the case anymore. If you skip ahead 2 or 3 years when this knowledge has spread, I think most teams will be 2 people and an AI, because then you have all the domain knowledge you need, probably.
As a consequence of that, we'll just have more teams. More and smaller teams. Of course, then you need to collaborate between the teams, so cross-team synchronisation is still going to be an issue.
Also, I'm already seeing this now, but this concept of sprints – the whole point is to give a team some peace of mind to build something complex, because typically you would need a week or two to build something complex. But now, when it takes a day and some good prompting to do the same thing that would have taken a whole sprint, then the sprint is a day instead. If the sprint is a day, is there any difference between a sprint planning meeting and a daily standup? Not really.
I think sprints will just kind of shrink into oblivion. What's going to be left instead is something a little bit similar – some kind of synchronisation point or follow-up point. Instead of a sprint where every 2 weeks we sit down and try to make a plan, I think it'll be very much continuous delivery on a day-to-day basis. But then maybe every week or two we take a step back and just reflect a little bit and say, "Okay, what have we been delivering the past couple of weeks? What have we been learning? What's our high-level focus for the next couple of weeks?" A very, very lightweight equivalent of a sprint.
I feel pretty confident about that guess because personally, we are already there with my team, and I think it'll become a bit of a norm.
Final Thoughts: Preparing for the Future
Henrik: No one knows what's gonna happen in the future, and those who say they do are kidding themselves. But there's one fairly safe bet though: no matter what happens in the future with AI, if you understand how to use it, you'll be in a better position to deal with whatever that is. That's why I encourage people to get comfortable with it, get used to using it.
Tenille: I have a teenage daughter who I'm actually trying to encourage to learn how to use AI, because I feel like when I was her age, the Internet was the thing that was sort of coming mainstream. It completely changed the way we live. Everything is online now. And I feel like AI is that piece for her.
Henrik: Isn't it weird that the generation of small children growing up now are going to consider this to be normal and obvious? They'll be the AI natives. They'll be like, "Of course I have my AI agent buddy. There's nothing weird about that at all."
Tenille: I'll still keep being nice to my coffee machine.
Henrik: Yeah, that's good. Just in case, you know.
---
Thank you to Henrik Kniberg for joining us on this episode of the Easy Agile Podcast. To learn more about Henrik's work, visit Abundly AI or check out his educational videos on AI and agile practices.
Subscribe to the Easy Agile Podcast on your favourite platform, and join us for more conversations about agile, product development, and the future of work.