Latest / DevQuestions with Tim Corey / 308. Avoiding Product Drift in a World of AI
Transcript
- 0:00SPEAKER_01: Have you noticed that applications seem to be getting worse?
- 0:03SPEAKER_01: It feels like everything is the worst version of itself.
- 0:07SPEAKER_01: And as application developers, it's important to understand why this is and how it can be avoided so that people don't say the same thing about our products.
- 0:17SPEAKER_01: In a day and age when everything seems to be getting worse, the products that get better, or even just the same, will be king.
- 0:26SPEAKER_01: But that's easier said than done.
- 0:28SPEAKER_01: So let's discuss ways to approach this problem in today's episode of Dev Questions.
- 0:41SPEAKER_00: Welcome to the Dev Questions Podcast with Tim Corey.
- 0:45SPEAKER_01: Software development is more than just writing code.
- 0:48SPEAKER_01: So let's talk about the rest of it.
- 0:49SPEAKER_01: Specifically, let's talk about how to avoid product drift.
- 0:53SPEAKER_01: Now, to start out, we need to acknowledge three things.
- 0:57SPEAKER_01: Number one, the world is always changing.
- 1:01SPEAKER_01: I have developers tell me, well, you know, these things are just horrible.
- 1:05SPEAKER_01: It's just changed.
- 1:06SPEAKER_01: Yes, you know how often it's changed?
- 1:08SPEAKER_01: Because I've been a developer for over 30 years now professionally, and the world has changed over and over and over again.
- 1:17SPEAKER_01: When I started working, I was working on Windows 3.1, and I was using Office 4.3.
- 1:23SPEAKER_01: We're using floppy disks to install those things on computers.
- 1:27SPEAKER_01: That's actually one of my jobs was to format and reset up computers.
- 1:31SPEAKER_01: And so I have a stack of floppy disks to install Windows and a stack of floppy disks to install Office on them.
- 1:38SPEAKER_01: And if you're too young to understand that, I'm sorry.
- 1:40SPEAKER_01: Your little save icon right there, that's called a floppy disk originally was.
- 1:44SPEAKER_01: And it held 1.38 megabytes of actual storage capacity, megabytes, not gigabytes.
- 1:52SPEAKER_01: 1.44 was the official amount, but it never held that much, that much.
- 1:57SPEAKER_01: So, anyways, the world has changed since then, right?
- 2:01SPEAKER_01: The software that I built back then for those machines that, while they were technically networked, were on a hub, not even a switch.
- 2:10SPEAKER_01: Um, and their networking capabilities were basically wide open ports that maybe had a password on them, um, and that was it.
- 2:20SPEAKER_01: Uh, very little management, very little security, and very little interaction.
- 2:25SPEAKER_01: There wasn't, oh, we're gonna send uh files back and forth to each other.
- 2:28SPEAKER_01: That's not how things worked really.
- 2:30SPEAKER_01: If you want to send file back and forth, you use a floppy disk.
- 2:34SPEAKER_01: Now, things have changed since then, right?
- 2:37SPEAKER_01: So the web started taking off, and all of a sudden, you know, we were doing more things in the web, and then the web boom happened with you know the dot-com boom and then bubble.
- 2:48SPEAKER_01: Um, but things changed.
- 2:50SPEAKER_01: And then, you know, Steve Jobs walks out on stage and says, hey, we've designed an iPhone.
- 2:55SPEAKER_01: And we've had smartphones before that, but for the first time, there was really this big influx of, oh, we can do more things on a phone than just make phone calls.
- 3:06SPEAKER_01: I remember back when texting was like a quarter just to send a text, you know, and you had a limited number of texts you could send, and you had a 12-button keypad.
- 3:18SPEAKER_01: You had to punch the, you know, punch the text into hit the five key three times in order to get the letter you wanted.
- 3:24SPEAKER_01: And oh my goodness, you went past it, then you have the lowercase versions of those same numbers.
- 3:27SPEAKER_01: So you're always yelling at each other because you're using the uppercase or you're always not using any punctuation or whatever.
- 3:32SPEAKER_01: Like things changed since then, right?
- 3:35SPEAKER_01: I send a bajillion texts a day, it seems like anymore.
- 3:38SPEAKER_01: I'm I'm constantly texting.
- 3:40SPEAKER_01: And I'm constantly on my phone as opposed to my desktop.
- 3:43SPEAKER_01: Desktop used to be king.
- 3:45SPEAKER_01: And everything that was done, all the websites that were built, we're all for the desktop platform, where you knew you're gonna have a widescreen, you're gonna have this and that.
- 3:54SPEAKER_01: And now it's like if you don't have a mobile version of your site, then you're gonna have problems because that's where the majority of your audience is gonna come from.
- 4:02SPEAKER_01: The world is always changing.
- 4:04SPEAKER_01: We have to acknowledge that.
- 4:06SPEAKER_01: We cannot say, well, you know, this software, you know, like Visual Studio is a great example.
- 4:11SPEAKER_01: Visual Studio should just, you know, shouldn't be changing so fast.
- 4:15SPEAKER_01: Why?
- 4:16SPEAKER_01: Because the rest of the world is changing.
- 4:17SPEAKER_01: And if it doesn't change as well, then there's gonna be problems because we won't have the features we need to do the new things we need to do with the new ways of working with the world because the world has changed.
- 4:31SPEAKER_01: You know, virtual reality wasn't a thing 15 years ago.
- 4:36SPEAKER_01: And now I've got a VR headset at my desk, and I can jump into, you know, playing a game, or I can even pull up my virtual desktop with virtual screens and start coding.
- 4:47SPEAKER_01: I can code on a plane with large screens because I have a VR headset.
- 4:54SPEAKER_01: The world is changing.
- 4:55SPEAKER_01: We need to acknowledge that that is the case.
- 4:58SPEAKER_01: The way things are today is not the way they were five years ago.
- 5:02SPEAKER_01: Obviously, with AI, that's a huge change.
- 5:05SPEAKER_01: But the way things are today is not how they will be in five years.
- 5:10SPEAKER_01: The world is changing.
- 5:11SPEAKER_01: So that's number one.
- 5:12SPEAKER_01: Number two, people want change.
- 5:15SPEAKER_01: Now you may say, I don't want change.
- 5:17SPEAKER_01: I want things to stay just the way they are.
- 5:19SPEAKER_01: No, you don't.
- 5:20SPEAKER_01: No, you don't.
- 5:22SPEAKER_01: Because what happens is let's say you decide, you know what, nothing should change.
- 5:26SPEAKER_01: Okay, let's freeze everything in time right now.
- 5:29SPEAKER_01: Well, that Windows 11 start menu, that's stupid.
- 5:31SPEAKER_01: We need to change that.
- 5:32SPEAKER_01: Wait, what?
- 5:33SPEAKER_01: We need to do what to it now?
- 5:35SPEAKER_01: We need to change it, right?
- 5:37SPEAKER_01: We need to change how it works.
- 5:39SPEAKER_01: Well, yeah, but that's because it's broken.
- 5:40SPEAKER_01: It's not the way I want it.
- 5:42SPEAKER_01: Okay.
- 5:43SPEAKER_01: All right.
- 5:43SPEAKER_01: So you change that.
- 5:44SPEAKER_01: Well, but you know, Visual Studio doesn't do this.
- 5:48SPEAKER_01: So you want to change it.
- 5:50SPEAKER_01: You know,.NET shouldn't change, it's changing too much, but yet you want this, that, and the other thing.
- 5:56SPEAKER_01: You want all the change, but you don't want change.
- 5:59SPEAKER_01: When you look at any open source project and look at their open issues, there are hundreds, thousands, tens of thousands of people asking for various changes.
- 6:10SPEAKER_01: People want change.
- 6:12SPEAKER_01: They just want the changes that they want, not the changes they don't want.
- 6:17SPEAKER_01: Okay, so people want change.
- 6:19SPEAKER_01: People want the new thing.
- 6:21SPEAKER_01: If people didn't want change, then AI would have died a long time ago.
- 6:26SPEAKER_01: Because it's change, it's radical change.
- 6:29SPEAKER_01: And yet people are adopting it more and more frequently, more and more deeply.
- 6:35SPEAKER_01: People want change.
- 6:37SPEAKER_01: Number three, too much change can ruin something good.
- 6:42SPEAKER_01: So things are gonna change.
- 6:45SPEAKER_01: People want change.
- 6:47SPEAKER_01: Too much change can ruin some good things.
- 6:50SPEAKER_01: So there's gonna have to be a balance.
- 6:54SPEAKER_01: We have to figure out how to manage these various, sometimes in conflict with each other, things.
- 7:01SPEAKER_01: An example of this is World of Warcraft.
- 7:05SPEAKER_01: Now, I am a huge World of Warcraft fan.
- 7:08SPEAKER_01: I'm a huge Warcraft fan, I'm a huge Blizzard fan from back in the day, right?
- 7:12SPEAKER_01: So when I was um in college, I went to college for a year to be an electrical engineer before I dropped out to pay for it.
- 7:18SPEAKER_01: It's a whole different thing.
- 7:19SPEAKER_01: But in that year at college, I played two games pretty much nonstop whenever I could, around my schoolwork, which was a lot.
- 7:29SPEAKER_01: But I played Doom 2 and I played Warcraft 2.
- 7:33SPEAKER_01: I like the twos, right?
- 7:35SPEAKER_01: So those are my two games.
- 7:36SPEAKER_01: That's where I really you know solidify a lot of my time spent with my friends.
- 7:40SPEAKER_01: Yes, I was a geek, yet no, I was not a jock.
- 7:42SPEAKER_01: I was always in, you know, playing on a computer or doing things like that.
- 7:47SPEAKER_01: But so when Warcraft, World of Warcraft came out, I was actually in the closed beta and the open betas.
- 7:53SPEAKER_01: I was so pumped for, I loved it.
- 7:55SPEAKER_01: When it came out, loved it.
- 7:57SPEAKER_01: It was awesome.
- 7:58SPEAKER_01: And yet it was buggy too, right?
- 8:00SPEAKER_01: Like the launch was in 2004, I think November.
- 8:04SPEAKER_01: Um, a little rough at first.
- 8:06SPEAKER_01: In fact, I remember reading through the change logs every time a new patch came out, and it was quite frequent, where they would say, okay, here's all the things we fixed, here's all the tweaks we've made.
- 8:16SPEAKER_01: And then they started doing these things where they would say, okay, we're gonna focus this patch on uh, you know, mages.
- 8:23SPEAKER_01: We're gonna have a whole bunch of changes to how mages work.
- 8:27SPEAKER_01: And then we're gonna tweak some other care other types, but this is a big one about mages.
- 8:31SPEAKER_01: Then the next time it might be druids, the next time it might be something else.
- 8:34SPEAKER_01: And so they would go through and change things and make things better because there was always things that were broken.
- 8:41SPEAKER_01: But I loved Warcraft.
- 8:42SPEAKER_01: And then came out the first expansion pack, and it was awesome.
- 8:46SPEAKER_01: And I loved the expansion pack.
- 8:48SPEAKER_01: It added so many new things.
- 8:49SPEAKER_01: It was, it changed how things work.
- 8:51SPEAKER_01: And I liked that and I wanted that, and I couldn't wait for it to come out.
- 8:55SPEAKER_01: And then the next expansion pack came out, actually, my favorite expansion pack, Wrath of the Lich King.
- 9:00SPEAKER_01: And it came out and it was awesome, and it changed things again, and it added new things, and it was amazing, and they did new things with how the world worked to actually be able to transform the world right, you know, for yourself.
- 9:12SPEAKER_01: Like you could see the transformed world, even though you're in MMO where people can see it in different states.
- 9:18SPEAKER_01: So, really cool stuff.
- 9:21SPEAKER_01: Warcraft today, World of Warcraft today, don't love it.
- 9:24SPEAKER_01: I don't love it.
- 9:26SPEAKER_01: And in fact, I stepped away from World of Warcraft for a while because I spent too much time in World of Warcraft.
- 9:32SPEAKER_01: And so I said, hey, until I reach certain financial goals in my life, until I reach a certain position in life where I can feel comfortable, I'm not going back.
- 9:40SPEAKER_01: And I did.
- 9:41SPEAKER_01: I waited until I hit those goals, and then I came back to World of Warcraft.
- 9:45SPEAKER_01: And I played through the new World of Warcraft, and I'm like, too much is different.
- 9:52SPEAKER_01: It's it lost the thing that I loved.
- 9:55SPEAKER_01: And so then a lot of people felt that way because a lot of people started leaving World of Warcraft, and it's like, this is just not for us.
- 10:02SPEAKER_01: Now you may say, well, it was a certain band of people a certain time, and that's naturally going to have a drop-off period.
- 10:09SPEAKER_01: And that's true.
- 10:10SPEAKER_01: However, when they came out with World of Warcraft Classic, a whole bunch of people, including myself, came back and loved it.
- 10:22SPEAKER_01: And that's all I still play World of Warcraft today.
- 10:26SPEAKER_01: I was playing it last night in classic.
- 10:28SPEAKER_01: I'm not playing in the new version.
- 10:31SPEAKER_01: I'm playing classic.
- 10:32SPEAKER_01: Now, I'll occasionally go back into the main version and play a little bit just to see, but it just doesn't feel right.
- 10:38SPEAKER_01: I just don't love it.
- 10:40SPEAKER_01: Why?
- 10:41SPEAKER_01: Because I wanted change.
- 10:43SPEAKER_01: I liked change.
- 10:44SPEAKER_01: I thought that, you know, the the Burning Crusade was pretty good and the, you know, the Wrath of Lich King was amazing.
- 10:50SPEAKER_01: And so I wanted those changes.
- 10:52SPEAKER_01: And if I just sat in Wrath of Lich King forever, at some point I'd probably go, man, I wish there was more.
- 10:59SPEAKER_01: I wish there's more I could do.
- 11:00SPEAKER_01: I want some more change.
- 11:02SPEAKER_01: Now, for me personally, I can stay in there for a long time before I'm dissatisfied.
- 11:07SPEAKER_01: But I wanted change.
- 11:11SPEAKER_01: But at some point the change became too much.
- 11:14SPEAKER_01: And it ruined a good thing.
- 11:16SPEAKER_01: And that's the balance, right?
- 11:19SPEAKER_01: Like, I want something until I get it.
- 11:22SPEAKER_01: And then I'm like, I don't really want that.
- 11:24SPEAKER_01: You know?
- 11:25SPEAKER_01: And so that's the kind of balance that we have to hit as developers is figuring out how do we do both things?
- 11:32SPEAKER_01: How do we have a great product?
- 11:34SPEAKER_01: That's first of all the hard thing to do, but then how do we build that up and change things to make it better, but not go so far that we ruin something good?
- 11:45SPEAKER_01: So it's really easy to drift away from what our customers want or from what made us good in the first place.
- 11:53SPEAKER_01: So, how do we avoid this?
- 11:55SPEAKER_01: Number one, clear purpose.
- 11:59SPEAKER_01: So let's say a couple things here.
- 12:02SPEAKER_01: What or ask a couple questions?
- 12:04SPEAKER_01: What value are we providing to the customer?
- 12:08SPEAKER_01: Why does our app exist?
- 12:10SPEAKER_01: And what differentiates our app?
- 12:14SPEAKER_01: If you can't answer those questions very, very clearly, then you're gonna wander off course because you won't know.
- 12:23SPEAKER_01: And in fact, if I've used World of Warcraft before as in my thought process, I try to figure out what was it that that really you know brought me in?
- 12:33SPEAKER_01: Was it the nostalgia of being a big Warcraft II fan and Warcraft III and and really wanting to get down the ground in World of Warcraft?
- 12:41SPEAKER_01: Was that it?
- 12:41SPEAKER_01: And that's part of it, you know.
- 12:43SPEAKER_01: But another part of it is I was never in a guilt.
- 12:46SPEAKER_01: I was never a big MO fan.
- 12:48SPEAKER_01: So I tried like EverQuest and others.
- 12:51SPEAKER_01: I just didn't get into them.
- 12:52SPEAKER_01: But World of Warcraft, I did, but I didn't team up.
- 12:56SPEAKER_01: I was a loner.
- 12:57SPEAKER_01: I was playing on my own in an MMO, right?
- 13:01SPEAKER_01: So there was something there, but I noticed there's a lot of people like me.
- 13:05SPEAKER_01: There's a lot of casuals.
- 13:07SPEAKER_01: And World of Warcraft really catered to that pretty well, where you didn't have to be a dungeon running, raid running, you know, locking out your weekends and nights to be in a guild kind of player.
- 13:25SPEAKER_01: You could be a casual and still find a lot of value in the game, even though it's also deeper content as well.
- 13:32SPEAKER_01: So there's a lot to that, but what value are you providing to customers?
- 13:38SPEAKER_01: You may not realize if you if you find out you have a hit, you you may not realize why it's a hit.
- 13:45SPEAKER_01: You need to figure out what value are you providing to the customer?
- 13:50SPEAKER_01: And then are you what's differentiating your app from other apps that that aren't or that aren't succeeding in this area?
- 13:59SPEAKER_01: And why does your app exist?
- 14:01SPEAKER_01: That's something that you need to ask yourself.
- 14:03SPEAKER_01: Why does your app exist?
- 14:04SPEAKER_01: Why are you doing this?
- 14:06SPEAKER_01: Because out of that can come some real clarity, some real understanding of what we are doing and why are we doing it.
- 14:14SPEAKER_01: Now, make sure your customers agree with you.
- 14:18SPEAKER_01: Because you may have this grand plan.
- 14:20SPEAKER_01: And you've probably all seen um you've been in companies where they say this is why we exist and this is what we do, and you're like, that ain't it.
- 14:28SPEAKER_01: That ain't it.
- 14:29SPEAKER_01: Um, you know, you need to make sure your customers agree with you.
- 14:32SPEAKER_01: Maybe, you know, if if you're a I don't know, an insurance company and they're like, well, you know, we exist because we offer these great support and services, like, you're the cheapest.
- 14:42SPEAKER_01: That's why.
- 14:43SPEAKER_01: That's your thing.
- 14:44SPEAKER_01: And it doesn't really, you know, good service is great, and you know, having great service is awesome.
- 14:49SPEAKER_01: But that's probably not why you ex why your customers go with you instead of the competition.
- 14:54SPEAKER_01: That's not what might not be what differentiates you.
- 14:57SPEAKER_01: It may be, but what differentiates you might be just you're the cheapest.
- 15:02SPEAKER_01: So clear purpose, understanding that clear purpose.
- 15:06SPEAKER_01: That's number one.
- 15:08SPEAKER_01: You need to know that.
- 15:09SPEAKER_01: Number two, you need to evaluate any change as negative until it's overwhelmingly positive.
- 15:19SPEAKER_01: So you can do this in a number of different ways.
- 15:21SPEAKER_01: You can do this a point system.
- 15:23SPEAKER_01: So let's say that you're gonna say, you know, assign a value of one point for every positive thing, one to three points, you know, for how positive it is, and one to three points for any anything negative.
- 15:35SPEAKER_01: So you're gonna add this feature.
- 15:37SPEAKER_01: Maybe you're adding, I don't know, copilot to a new app, right?
- 15:42SPEAKER_01: Maybe you're Microsoft.
- 15:43SPEAKER_01: Um, you're saying, let's add copilot to a new app.
- 15:46SPEAKER_01: Well, in the positives, you might say it's a one-pointer that you could talk to the AI right in the app.
- 15:53SPEAKER_01: Okay.
- 15:53SPEAKER_01: Um it's a two-pointer that you can talk in the app to the AI and it knows about your document.
- 16:00SPEAKER_01: And maybe it's a three-pointer that uh you know you can actually modify your document without having to write it or touch it.
- 16:08SPEAKER_01: Okay, so that's six points in the positive.
- 16:12SPEAKER_01: What are the negatives?
- 16:13SPEAKER_01: Um well, it's gonna add an additional point of of failure to the application.
- 16:19SPEAKER_01: Maybe that's uh uh a two.
- 16:21SPEAKER_01: Um and it's going to be seen as negative because it's a copilot.
- 16:27SPEAKER_01: That's another one.
- 16:27SPEAKER_01: Uh maybe it's a three, but let's call it a one.
- 16:30SPEAKER_01: Um and you could keep going on that path.
- 16:31SPEAKER_01: You're like, okay, now I've got negative three and I've got a positive six, therefore we should do it, right?
- 16:37SPEAKER_01: No.
- 16:38SPEAKER_01: You should start at like a negative 10 or negative 15, negative 20, and say it this feature isn't gonna be added unless we can add 20 more points in positive than we remove a negative.
- 16:55SPEAKER_01: So if you add 30 points in positive and only remove 10 and negative, and you start at negative 20, you're a zero.
- 17:02SPEAKER_01: Like, right?
- 17:03SPEAKER_01: You're you're just break-even, and that's probably not good enough.
- 17:06SPEAKER_01: You probably need to have 10, 15 points in the positive.
- 17:10SPEAKER_01: So you need to think about this as any new feature should start off at, or any new change should start off as being a no unless there's enough overwhelming reasons to make it a yes.
- 17:26SPEAKER_01: Otherwise, what happens is you start making changes because it's a little bit more positive than negative.
- 17:32SPEAKER_01: That's not good enough.
- 17:33SPEAKER_01: As we talked about last week, code's a liability.
- 17:36SPEAKER_01: So what you're doing is adding more liability to your application, and that's not good enough.
- 17:40SPEAKER_01: You need to have a great reason to add it.
- 17:43SPEAKER_01: Number three is adding additional products or features with the same system.
- 17:48SPEAKER_01: Um, or I'm sorry, adding additional products or features using that same system, uh, which is that start at negative.
- 17:55SPEAKER_01: So when you're talking about adding a new product to your line or adding a new feature to an app, not just you know improving or changing the app, but adding new things, you need to come with that same evaluation of no unless there's a great reason to do so.
- 18:12SPEAKER_01: You need to say, no, let's start with no and then figure out if we can get to a yes if it's overwhelming.
- 18:18SPEAKER_01: Now, number four, focus on the cost, the harm, the impact, not just the benefits.
- 18:24SPEAKER_01: Too often people will um will say, hey, you know, this this new feature didn't great, didn't great.
- 18:31SPEAKER_01: And you're like, yeah, but it's also going to hurt these things.
- 18:36SPEAKER_01: Um maybe it's going to be a great new feature, but it's going to slow down the app.
- 18:42SPEAKER_01: Maybe it's going to be a great new feature, but now our app has to be online only.
- 18:48SPEAKER_01: Maybe it's a great new feature, but we're gonna have to send customer data to the server.
- 18:53SPEAKER_01: All these things are are hurting your application, not just helping.
- 18:58SPEAKER_01: And maybe it balances out, and maybe the benefits are are still greater, but you need to make sure that you don't look at just the benefits.
- 19:06SPEAKER_01: Making a good app is hard.
- 19:08SPEAKER_01: Making an app that people want to use is even harder.
- 19:12SPEAKER_01: Keeping your customers satisfied while using your app is even harder still.
- 19:17SPEAKER_01: Just adding features and eliminating bugs isn't gonna be enough.
- 19:21SPEAKER_01: Just standing still while the world changes around you isn't usually enough either.
- 19:26SPEAKER_01: It takes careful planning and lots of work.
- 19:30SPEAKER_01: But you can stand out with a great product.
- 19:33SPEAKER_01: You just need to be careful on how you change it and how you build it.
- 19:38SPEAKER_01: All right, so thanks for listening.
- 19:40SPEAKER_01: And as always, I am Tim Corey.
- 19:42SPEAKER_00: Thank you for joining us for this episode of Dev Questions.
- 19:45SPEAKER_00: When you're ready to learn to think and code like a professional developer, head over to IamtimCorey.com and enroll in a course.