← Back
IAmTimCorey July 9, 2026 23m

317. How Managing Software Development Goes Wrong

Read full transcript 17 segments
  1. Software development is a hard field to Software development is a hard field to quantify. Building great apps that are quantify. Building great apps that are quantify. Building great apps that are performant, secure, maintainable, and performant, secure, maintainable, and performant, secure, maintainable, and that meet the need of the customer, it's that meet the need of the customer, it's that meet the need of the customer, it's hard to do all that well. It's as much hard to do all that well. It's as much hard to do all that well. It's as much an art as it is science. Which is why an art as it is science. Which is why an art as it is science. Which is why managing software development projects managing software development projects managing software development projects is so difficult. Over the decades, is so difficult. Over the decades, is so difficult. Over the decades, different approaches have been tried to different approaches have been tried to different approaches have been tried to manage software projects. from waterfall manage software projects. from waterfall manage software projects. from waterfall to agile to extreme programming. The to agile to extreme programming. The to agile to extreme programming. The longer you're in software development, longer you're in software development, longer you're in software development, the more you see. Each of these systems, the more you see. Each of these systems, the more you see. Each of these systems, as well as many others, have their as well as many others, have their as well as many others, have their benefits, but too much of a good thing benefits, but too much of a good thing benefits, but too much of a good thing is often a bad thing. So, let's talk is often a bad thing. So, let's talk is often a bad thing. So, let's talk about what happens when good systems go about what happens when good systems go about what happens when good systems go bad in this episode of Dev Questions. Software development is more than just Software development is more than just writing code. So let's talk about the writing code. So let's talk about the writing code. So let's talk about the rest of it. Specifically, let's talk rest of it. Specifically, let's talk rest of it. Specifically, let's talk about bad development systems. And let's about bad development systems. And let's about bad development systems. And let's start with the foundational principle start with the foundational principle start with the foundational principle that almost anything good in moderation that almost anything good in moderation that almost anything good in moderation is bad in excess. For example, salt can is bad in excess. For example, salt can is bad in excess. For example, salt can really elevate the flavor of dish, but really elevate the flavor of dish, but really elevate the flavor of dish, but too much salt ruins it. I just did that too much salt ruins it. I just did that too much salt ruins it. I just did that recently. The same is true for recently. The same is true for recently. The same is true for techniques around managing software techniques around managing software techniques around managing software development. So, let's let's talk about development. So, let's let's talk about development. So, let's let's talk about a few. I'm gonna step on your toes.

  2. a few. I'm gonna step on your toes. a few. I'm gonna step on your toes. Hope, you know, hopefully not too hard. Hope, you know, hopefully not too hard. Hope, you know, hopefully not too hard. Um, but just think about what I'm saying Um, but just think about what I'm saying Um, but just think about what I'm saying in these things. All these things can be in these things. All these things can be in these things. All these things can be good, but they're often done to excess. good, but they're often done to excess. good, but they're often done to excess. And let's talk the one we talked about And let's talk the one we talked about And let's talk the one we talked about last week because we can just touch on last week because we can just touch on last week because we can just touch on and move on. But spectriven development. and move on. But spectriven development. and move on. But spectriven development. So, you know, I did a whole video on why So, you know, I did a whole video on why So, you know, I did a whole video on why I dislike Spectrum in development last I dislike Spectrum in development last I dislike Spectrum in development last week, and there was some questions, some week, and there was some questions, some week, and there was some questions, some push back, and one of the things that push back, and one of the things that push back, and one of the things that people were confused on is the people were confused on is the people were confused on is the difference between writing good difference between writing good difference between writing good specifications and spec driven specifications and spec driven specifications and spec driven development. Because writing good development. Because writing good development. Because writing good specifications, that's a good thing. specifications, that's a good thing. specifications, that's a good thing. Knowing what your app should do, putting Knowing what your app should do, putting Knowing what your app should do, putting that down in writing so that you can say that down in writing so that you can say that down in writing so that you can say this is what it should do. That's a good this is what it should do. That's a good this is what it should do. That's a good thing. Being very clear about this is thing. Being very clear about this is thing. Being very clear about this is what it will do. This is how it'll work. what it will do. This is how it'll work. what it will do. This is how it'll work. These are the inputs you'll give us. These are the inputs you'll give us. These are the inputs you'll give us. These are the outputs we'll give you. These are the outputs we'll give you. These are the outputs we'll give you. These things are really important to do These things are really important to do These things are really important to do well. However, we often see this gone well. However, we often see this gone well. However, we often see this gone too far where what you end up doing is too far where what you end up doing is too far where what you end up doing is basically you end up doing all the basically you end up doing all the basically you end up doing all the development on paper where you have such development on paper where you have such development on paper where you have such a detailed spec that what you're a detailed spec that what you're a detailed spec that what you're actually doing is designing your actually doing is designing your actually doing is designing your application but on paper. And the application but on paper. And the application but on paper. And the problem with that is first of all you're problem with that is first of all you're problem with that is first of all you're doing all the design upfront and then doing all the design upfront and then doing all the design upfront and then you're having it developed. And if you you're having it developed. And if you you're having it developed. And if you think about that, what is the what is

  3. think about that, what is the what is think about that, what is the what is the development term for doing the development term for doing the development term for doing everything up front, all the plan up everything up front, all the plan up everything up front, all the plan up front and then doing all the all the front and then doing all the all the front and then doing all the all the development next? That's waterfall. And development next? That's waterfall. And development next? That's waterfall. And we've moved away from waterfall in most we've moved away from waterfall in most we've moved away from waterfall in most projects. We'll talk about that next. projects. We'll talk about that next. projects. We'll talk about that next. But that's what you suddenly slip into But that's what you suddenly slip into But that's what you suddenly slip into because what you're doing is you're because what you're doing is you're because what you're doing is you're going too far. I have seen specs that going too far. I have seen specs that going too far. I have seen specs that are hundreds of pages long. are hundreds of pages long. are hundreds of pages long. That's no longer a spec. That is a That's no longer a spec. That is a That's no longer a spec. That is a management nightmare. You have spent so management nightmare. You have spent so management nightmare. You have spent so much time in so many meetings trying to much time in so many meetings trying to much time in so many meetings trying to hammer out the exact details. And what hammer out the exact details. And what hammer out the exact details. And what the problem is is that you spent all the problem is is that you spent all the problem is is that you spent all that time when it would have been faster that time when it would have been faster that time when it would have been faster to get the the structure you need the to get the the structure you need the to get the the structure you need the the overall picture and then develop a the overall picture and then develop a the overall picture and then develop a part of it and say, "Hey, how about part of it and say, "Hey, how about part of it and say, "Hey, how about this?" And let's modify a little bit and this?" And let's modify a little bit and this?" And let's modify a little bit and let's go back and figure out what we let's go back and figure out what we let's go back and figure out what we missed in our specification and then missed in our specification and then missed in our specification and then let's do the next thing. and the next let's do the next thing. and the next let's do the next thing. and the next thing. And that sounds a bit more like thing. And that sounds a bit more like thing. And that sounds a bit more like agile. And that's more of what we've agile. And that's more of what we've agile. And that's more of what we've done. That's why agile development even done. That's why agile development even done. That's why agile development even came about because we saw that when you came about because we saw that when you came about because we saw that when you do all the work up front, all the do all the work up front, all the do all the work up front, all the planning up front and then you do all planning up front and then you do all planning up front and then you do all the work, what happens is it's a long the work, what happens is it's a long the work, what happens is it's a long process. It's months or even years in process. It's months or even years in process. It's months or even years in the process from the idea to when you the process from the idea to when you the process from the idea to when you see the first thing. And the problem is see the first thing. And the problem is see the first thing. And the problem is when you start to see things, you start when you start to see things, you start when you start to see things, you start to go, "Oh, well, it actually be great to go, "Oh, well, it actually be great to go, "Oh, well, it actually be great if we did this, right?" And when you if we did this, right?" And when you if we did this, right?" And when you start to see it, then you go, "Oh, I start to see it, then you go, "Oh, I start to see it, then you go, "Oh, I want something changed."

  4. want something changed." want something changed." Because the end users don't know exactly Because the end users don't know exactly Because the end users don't know exactly what they want. And so by taking it too what they want. And so by taking it too what they want. And so by taking it too far in spectrum and development, what far in spectrum and development, what far in spectrum and development, what you're doing is you're saying, "You have you're doing is you're saying, "You have you're doing is you're saying, "You have to know upfront or we have to get it out to know upfront or we have to get it out to know upfront or we have to get it out of you upfront." But even developers of you upfront." But even developers of you upfront." But even developers don't know everything up front because don't know everything up front because don't know everything up front because there are always going to be pitfalls or there are always going to be pitfalls or there are always going to be pitfalls or things that you didn't anticipate and things that you didn't anticipate and things that you didn't anticipate and that changes what the spec says. And so that changes what the spec says. And so that changes what the spec says. And so then you have to say, okay, well now then you have to say, okay, well now then you have to say, okay, well now let's go back and change the spec. And let's go back and change the spec. And let's go back and change the spec. And if you're not careful, you don't do that if you're not careful, you don't do that if you're not careful, you don't do that fully, but you just make the changes in fully, but you just make the changes in fully, but you just make the changes in the code. And before you know it, the the code. And before you know it, the the code. And before you know it, the spec is different than the code and you spec is different than the code and you spec is different than the code and you have a whole mess. And what you're doing have a whole mess. And what you're doing have a whole mess. And what you're doing is creating a whole bunch of management is creating a whole bunch of management is creating a whole bunch of management instead of getting the job done. instead of getting the job done. instead of getting the job done. Now, I mentioned waterfall and that's, Now, I mentioned waterfall and that's, Now, I mentioned waterfall and that's, you know, number two in this list of you know, number two in this list of you know, number two in this list of examples is that waterfall development examples is that waterfall development examples is that waterfall development has got a bad name, but really it's not has got a bad name, but really it's not has got a bad name, but really it's not a bad process. So, put that out of your a bad process. So, put that out of your a bad process. So, put that out of your mind. Don't think waterfall equals bad.

  5. mind. Don't think waterfall equals bad. mind. Don't think waterfall equals bad. The reason we think waterfall equals bad The reason we think waterfall equals bad The reason we think waterfall equals bad is because we're thinking about it in is because we're thinking about it in is because we're thinking about it in terms of larger projects where you have terms of larger projects where you have terms of larger projects where you have months of of planning before you do months of of planning before you do months of of planning before you do months of development before the months of development before the months of development before the customer sees anything. But that's not customer sees anything. But that's not customer sees anything. But that's not true of every project, right? Some true of every project, right? Some true of every project, right? Some projects are smaller projects. They projects are smaller projects. They projects are smaller projects. They might entail a week or two of work. might entail a week or two of work. might entail a week or two of work. Well, that's that can be waterfall. Well, that's that can be waterfall. Well, that's that can be waterfall. Doesn't have to be some type of other Doesn't have to be some type of other Doesn't have to be some type of other process with more management. But what process with more management. But what process with more management. But what happened was that waterfall went from happened was that waterfall went from happened was that waterfall went from it's good in certain circumstances to it's good in certain circumstances to it's good in certain circumstances to it's the way we do things and that may it's the way we do things and that may it's the way we do things and that may have worked in certain size projects but have worked in certain size projects but have worked in certain size projects but then you get larger projects if you then you get larger projects if you then you get larger projects if you stick with the same techniques where stick with the same techniques where stick with the same techniques where you're saying no what we do is we plan you're saying no what we do is we plan you're saying no what we do is we plan things out and we design the whole plan things out and we design the whole plan things out and we design the whole plan we break the plan down to pieces and we break the plan down to pieces and we break the plan down to pieces and then we we work on each piece make sure then we we work on each piece make sure then we we work on each piece make sure it's all right and then we take all of it's all right and then we take all of it's all right and then we take all of that and move into the develop phase I that and move into the develop phase I that and move into the develop phase I was a project management professional, was a project management professional, was a project management professional, PMP, uh for a number of years. I've PMP, uh for a number of years. I've PMP, uh for a number of years. I've actually given it up now. I didn't want actually given it up now. I didn't want actually given it up now. I didn't want to keep um maintaining it, but to keep um maintaining it, but to keep um maintaining it, but I trained on this and there was a whole I trained on this and there was a whole I trained on this and there was a whole series of of of sections, you know. So series of of of sections, you know. So series of of of sections, you know. So the the initial part of the planning was the the initial part of the planning was the the initial part of the planning was was a two-step process with things was a two-step process with things was a two-step process with things underneath that and then there was the underneath that and then there was the underneath that and then there was the the actual like detailed plan that was I the actual like detailed plan that was I the actual like detailed plan that was I think 21 steps um worth of work and then think 21 steps um worth of work and then think 21 steps um worth of work and then there was I think 14 steps of of actual there was I think 14 steps of of actual there was I think 14 steps of of actual of of actual work and then you did

  6. of of actual work and then you did of of actual work and then you did another 12 steps of of follow-up like another 12 steps of of follow-up like another 12 steps of of follow-up like testing and those kind of things and testing and those kind of things and testing and those kind of things and validation before the final two steps. validation before the final two steps. validation before the final two steps. And so most of the work went up front. And so most of the work went up front. And so most of the work went up front. There's a lot of these these steps you There's a lot of these these steps you There's a lot of these these steps you went through to get to the point of even went through to get to the point of even went through to get to the point of even doing any work. And there's a whole doing any work. And there's a whole doing any work. And there's a whole bunch of management. bunch of management. bunch of management. And the problem is is that when you do And the problem is is that when you do And the problem is is that when you do all that work, you have to basically all that work, you have to basically all that work, you have to basically have a full-time person maintaining all have a full-time person maintaining all have a full-time person maintaining all that that planning and design and that that planning and design and that that planning and design and management, all that management, all that management, all that meeting work, right? Um before you even meeting work, right? Um before you even meeting work, right? Um before you even get to the point of doing the job. And get to the point of doing the job. And get to the point of doing the job. And this is where if you ever, you know, if this is where if you ever, you know, if this is where if you ever, you know, if you're in the US, you ever dream past a you're in the US, you ever dream past a you're in the US, you ever dream past a road crew, sometimes it feels like road crew, sometimes it feels like road crew, sometimes it feels like there's, you know, eight guys standing there's, you know, eight guys standing there's, you know, eight guys standing around a hole and one guy digging. And around a hole and one guy digging. And around a hole and one guy digging. And this is what it feels like when you put this is what it feels like when you put this is what it feels like when you put all these layers of management on is all these layers of management on is all these layers of management on is that there's a whole bunch of people that there's a whole bunch of people that there's a whole bunch of people having a meeting about work and only you having a meeting about work and only you having a meeting about work and only you were doing the work or you know half the were doing the work or you know half the were doing the work or you know half the time you're doing the work while you're time you're doing the work while you're time you're doing the work while you're in meetings, the other half the time in meetings, the other half the time in meetings, the other half the time talking about the work you did or were talking about the work you did or were talking about the work you did or were going to do or why the work you did was going to do or why the work you did was going to do or why the work you did was took too long. So this is where again took too long. So this is where again took too long. So this is where again waterfall kind of was messy because it waterfall kind of was messy because it waterfall kind of was messy because it it had a whole bunch of these these it had a whole bunch of these these it had a whole bunch of these these planning things up front and it takes a planning things up front and it takes a planning things up front and it takes a whole bunch of work to get going and whole bunch of work to get going and whole bunch of work to get going and once you get going again the real world once you get going again the real world once you get going again the real world asserts itself because the real world is asserts itself because the real world is asserts itself because the real world is not this nice digital world with ones not this nice digital world with ones not this nice digital world with ones and zeros and perfection. It's messy.

  7. and zeros and perfection. It's messy. and zeros and perfection. It's messy. Things don't work right. things that you Things don't work right. things that you Things don't work right. things that you think are going to interface together think are going to interface together think are going to interface together need something else because they just need something else because they just need something else because they just don't quite mesh or you have a you found don't quite mesh or you have a you found don't quite mesh or you have a you found a bug in a a software to you know switch a bug in a a software to you know switch a bug in a a software to you know switch gears and try something else. gears and try something else. gears and try something else. There's so many things can go wrong in There's so many things can go wrong in There's so many things can go wrong in the real world and you have to adjust. the real world and you have to adjust. the real world and you have to adjust. So waterfall is another one of those So waterfall is another one of those So waterfall is another one of those things where there's a whole bunch of things where there's a whole bunch of things where there's a whole bunch of management before you even start work. management before you even start work. management before you even start work. But then we get into the agile world But then we get into the agile world But then we get into the agile world because the agile world is you know the because the agile world is you know the because the agile world is you know the solution for waterfall the the waterfall solution for waterfall the the waterfall solution for waterfall the the waterfall downsides which again there's upsides downsides which again there's upsides downsides which again there's upsides but the downsides of waterfall we said but the downsides of waterfall we said but the downsides of waterfall we said okay we need to do agile instead and so okay we need to do agile instead and so okay we need to do agile instead and so then out of agile comes a number of then out of agile comes a number of then out of agile comes a number of these management things that put a whole these management things that put a whole these management things that put a whole bunch of ceremony around doing the work bunch of ceremony around doing the work bunch of ceremony around doing the work that aren't bad in of themselves but that aren't bad in of themselves but that aren't bad in of themselves but they can often be taken too far. For they can often be taken too far. For they can often be taken too far. For example, again, I'm going to step on example, again, I'm going to step on example, again, I'm going to step on toes. Sprints. toes. Sprints. toes. Sprints. The idea of a sprint is that you have a The idea of a sprint is that you have a The idea of a sprint is that you have a set amount of time. And let's just set amount of time. And let's just set amount of time. And let's just choose a twoe sprint because that's a choose a twoe sprint because that's a choose a twoe sprint because that's a pretty common one. And so you say, okay, pretty common one. And so you say, okay, pretty common one. And so you say, okay, we're going to do work in twoe chunks.

  8. we're going to do work in twoe chunks. we're going to do work in twoe chunks. So when you work on something, you have So when you work on something, you have So when you work on something, you have to have it done before the end of the to have it done before the end of the to have it done before the end of the twoe chunk. That way we can show the twoe chunk. That way we can show the twoe chunk. That way we can show the customer, show the user, whoever, get customer, show the user, whoever, get customer, show the user, whoever, get feedback on it, and iterate for the next feedback on it, and iterate for the next feedback on it, and iterate for the next sprint. And you can overlap these and sprint. And you can overlap these and sprint. And you can overlap these and other things, but that's the typical other things, but that's the typical other things, but that's the typical process. So what do you do? Usually you process. So what do you do? Usually you process. So what do you do? Usually you spend the first day or so planning out spend the first day or so planning out spend the first day or so planning out the next sprint and then you work on the the next sprint and then you work on the the next sprint and then you work on the sprint maybe three or four days that sprint maybe three or four days that sprint maybe three or four days that week and then the next week you can only week and then the next week you can only week and then the next week you can only work through Wednesday because then you work through Wednesday because then you work through Wednesday because then you have to have everything locked down so have to have everything locked down so have to have everything locked down so you can do QA so you can do testing you can do QA so you can do testing you can do QA so you can do testing before you launch on Friday or the next before you launch on Friday or the next before you launch on Friday or the next Monday. Monday. Monday. That's the the typical process of That's the the typical process of That's the the typical process of sprints. So what happens? you start to sprints. So what happens? you start to sprints. So what happens? you start to get more and more management around that get more and more management around that get more and more management around that where there's some things that just where there's some things that just where there's some things that just don't fit that mold where yes, the idea don't fit that mold where yes, the idea don't fit that mold where yes, the idea behind this is break the problem down behind this is break the problem down behind this is break the problem down into small enough chunks so that you can into small enough chunks so that you can into small enough chunks so that you can do it inside of a sprint. That way you do it inside of a sprint. That way you do it inside of a sprint. That way you know that you're not doing as massive know that you're not doing as massive know that you're not doing as massive changes take six months to do kind of changes take six months to do kind of changes take six months to do kind of falling back on a waterfall. Um but some falling back on a waterfall. Um but some falling back on a waterfall. Um but some things really are going to need to be things really are going to need to be things really are going to need to be that that larger thing. And so you have that that larger thing. And so you have that that larger thing. And so you have to think about do I break the sprint to think about do I break the sprint to think about do I break the sprint process for this where I do this out of process for this where I do this out of process for this where I do this out of band and do it over multiple sprints.

  9. band and do it over multiple sprints. band and do it over multiple sprints. But then you have this whole process of But then you have this whole process of But then you have this whole process of am I doing that too much? And you have am I doing that too much? And you have am I doing that too much? And you have to have meetings about is it okay to go to have meetings about is it okay to go to have meetings about is it okay to go outside the sprint process and for how outside the sprint process and for how outside the sprint process and for how long and in what branch and how does long and in what branch and how does long and in what branch and how does that work with other things that are that work with other things that are that work with other things that are going on and so on. before you know it, going on and so on. before you know it, going on and so on. before you know it, you're doing lots of meetings to talk you're doing lots of meetings to talk you're doing lots of meetings to talk about development. about development. about development. And then with that comes the the the And then with that comes the the the And then with that comes the the the connecting bit which is story points. Um connecting bit which is story points. Um connecting bit which is story points. Um this is one that's that's always is fun this is one that's that's always is fun this is one that's that's always is fun to deal with in different organizations to deal with in different organizations to deal with in different organizations because story points points if you're because story points points if you're because story points points if you're not familiar the idea is that it's a way not familiar the idea is that it's a way not familiar the idea is that it's a way of estimating how long something will of estimating how long something will of estimating how long something will take. And so you have these points and take. And so you have these points and take. And so you have these points and the different points mean again the different points mean again the different points mean again different organizations do do it different organizations do do it different organizations do do it differently but they mean different differently but they mean different differently but they mean different things. So you know one point might be a things. So you know one point might be a things. So you know one point might be a I don't know a half hour an hour change I don't know a half hour an hour change I don't know a half hour an hour change two points might be a half a day change two points might be a half a day change two points might be a half a day change three points might be a full day change three points might be a full day change three points might be a full day change and so on and what you do is you say and so on and what you do is you say and so on and what you do is you say okay I can do a three and two ones in okay I can do a three and two ones in okay I can do a three and two ones in this sprint or whatever that might be.

  10. this sprint or whatever that might be. this sprint or whatever that might be. Um so what you do is you spend a lot of Um so what you do is you spend a lot of Um so what you do is you spend a lot of time figuring out how much is this going time figuring out how much is this going time figuring out how much is this going to take? How much is this going to take? to take? How much is this going to take? to take? How much is this going to take? I if if I, you know, look into this a I if if I, you know, look into this a I if if I, you know, look into this a little bit more, I can probably figure little bit more, I can probably figure little bit more, I can probably figure out a little bit better what it's going out a little bit better what it's going out a little bit better what it's going to take and do some research on this. to take and do some research on this. to take and do some research on this. And so you start down the path of even And so you start down the path of even And so you start down the path of even investigating what the problem is in investigating what the problem is in investigating what the problem is in order to figure out what a good estimate order to figure out what a good estimate order to figure out what a good estimate of the time is. And so then you can of the time is. And so then you can of the time is. And so then you can figure out the time, but then you stop figure out the time, but then you stop figure out the time, but then you stop doing the work and and context switch to doing the work and and context switch to doing the work and and context switch to the next task instead of just doing the the next task instead of just doing the the next task instead of just doing the work because that's not how it fits in work because that's not how it fits in work because that's not how it fits in the sprint. You got to make sure you get the sprint. You got to make sure you get the sprint. You got to make sure you get the right number of points on the right number of points on the right number of points on everything. And so what ends up everything. And so what ends up everything. And so what ends up happening is you have bidding wars. You happening is you have bidding wars. You happening is you have bidding wars. You have other things that just make this have other things that just make this have other things that just make this process a management process that takes process a management process that takes process a management process that takes up a whole lot of extra time instead of up a whole lot of extra time instead of up a whole lot of extra time instead of actually adding value. actually adding value. actually adding value. Now with this is the last step in agile Now with this is the last step in agile Now with this is the last step in agile or another step in agile that is another or another step in agile that is another or another step in agile that is another area that's often abused even though area that's often abused even though area that's often abused even though it's a good thing and that's stand-ups. it's a good thing and that's stand-ups. it's a good thing and that's stand-ups. where the idea behind stand-ups is that where the idea behind stand-ups is that where the idea behind stand-ups is that for 5 minutes, 15 minutes at the for 5 minutes, 15 minutes at the for 5 minutes, 15 minutes at the beginning of the day or at the beginning beginning of the day or at the beginning beginning of the day or at the beginning of the shift, what you you all get of the shift, what you you all get of the shift, what you you all get around you literally standing because around you literally standing because around you literally standing because you don't want it to be a long meeting, you don't want it to be a long meeting, you don't want it to be a long meeting, but you're saying this is what I'm but you're saying this is what I'm but you're saying this is what I'm working on. That way, the rest of the working on. That way, the rest of the working on. That way, the rest of the team knows what's going on without team knows what's going on without team knows what's going on without having to go really in depth and you can having to go really in depth and you can having to go really in depth and you can go, "Oh, I can talk to you about that or go, "Oh, I can talk to you about that or go, "Oh, I can talk to you about that or or I can collaborate on this or or I can collaborate on this or or I can collaborate on this or whatever." It keeps everyone in the whatever." It keeps everyone in the whatever." It keeps everyone in the loop. That's the idea. The problem is loop. That's the idea. The problem is loop. That's the idea. The problem is that's not exactly what happens.

  11. that's not exactly what happens. that's not exactly what happens. daily stand-ups turn into daily 45minute daily stand-ups turn into daily 45minute daily stand-ups turn into daily 45minute meetings or an hour meeting. And instead meetings or an hour meeting. And instead meetings or an hour meeting. And instead of being a standing meeting, it's a of being a standing meeting, it's a of being a standing meeting, it's a sitting meeting because well, you can't sitting meeting because well, you can't sitting meeting because well, you can't stand for that long. Um, which is the stand for that long. Um, which is the stand for that long. Um, which is the whole point of a standup is that you whole point of a standup is that you whole point of a standup is that you want to make sure you don't encourage want to make sure you don't encourage want to make sure you don't encourage long meetings. But then you have to get long meetings. But then you have to get long meetings. But then you have to get into like, well, let's talk about this into like, well, let's talk about this into like, well, let's talk about this thing or that thing and make sure that thing or that thing and make sure that thing or that thing and make sure that we're on the same page and and let's we're on the same page and and let's we're on the same page and and let's work through the details and have this work through the details and have this work through the details and have this whole meeting around this topic and what whole meeting around this topic and what whole meeting around this topic and what you've turned your standup into is just you've turned your standup into is just you've turned your standup into is just one more meeting. And you know, not one more meeting. And you know, not one more meeting. And you know, not everyone comes in at the same time. So everyone comes in at the same time. So everyone comes in at the same time. So let's let's make sure we delay the stand let's let's make sure we delay the stand let's let's make sure we delay the stand up by an hour. So instead of starting if up by an hour. So instead of starting if up by an hour. So instead of starting if the race starts roughly at 8, we're the race starts roughly at 8, we're the race starts roughly at 8, we're going to do a stand up at 9:00. which going to do a stand up at 9:00. which going to do a stand up at 9:00. which means that people come in, they don't means that people come in, they don't means that people come in, they don't really get a whole lot of work done really get a whole lot of work done really get a whole lot of work done because they're waiting for the standup. because they're waiting for the standup. because they're waiting for the standup. And so you're basically wasting an hour And so you're basically wasting an hour And so you're basically wasting an hour and then you take another hour for the and then you take another hour for the and then you take another hour for the standup and now it's 10:00 and then standup and now it's 10:00 and then standup and now it's 10:00 and then lunch is coming pretty soon and you're lunch is coming pretty soon and you're lunch is coming pretty soon and you're thinking about that and you can't get thinking about that and you can't get thinking about that and you can't get too deep into something. What you've too deep into something. What you've too deep into something. What you've done is taken a good thing and turned it done is taken a good thing and turned it done is taken a good thing and turned it into a lot of maintenance that probably into a lot of maintenance that probably into a lot of maintenance that probably isn't helping your your process. what isn't helping your your process. what isn't helping your your process. what it's probably doing is just adding it's probably doing is just adding it's probably doing is just adding another layer. So, I can go on, but each another layer. So, I can go on, but each another layer. So, I can go on, but each of these situations illustrates the of these situations illustrates the of these situations illustrates the point. A good thing can be ruined by point. A good thing can be ruined by point. A good thing can be ruined by doing it to excess.

  12. doing it to excess. doing it to excess. I'm not saying that specifications are I'm not saying that specifications are I'm not saying that specifications are bad. They're good. I'm not saying that bad. They're good. I'm not saying that bad. They're good. I'm not saying that waterfall is bad. It can be good. I'm waterfall is bad. It can be good. I'm waterfall is bad. It can be good. I'm not saying sprints or story points or not saying sprints or story points or not saying sprints or story points or standups are bad. They can all be great. standups are bad. They can all be great. standups are bad. They can all be great. But if they're taken in excess, if But if they're taken in excess, if But if they're taken in excess, if they're done too far, then what happens they're done too far, then what happens they're done too far, then what happens is they become a management nightmare is they become a management nightmare is they become a management nightmare where it is a drain on the team. It where it is a drain on the team. It where it is a drain on the team. It slows the process down and it's more slows the process down and it's more slows the process down and it's more about managing the process than actually about managing the process than actually about managing the process than actually doing the process. So what's the doing the process. So what's the doing the process. So what's the solution? Right? Uh number one, solution? Right? Uh number one, solution? Right? Uh number one, keep the main thing the main thing. This keep the main thing the main thing. This keep the main thing the main thing. This too often is one that is overlooked. too often is one that is overlooked. too often is one that is overlooked. What's the goal? What's the point? Why What's the goal? What's the point? Why What's the goal? What's the point? Why are we even doing this work? Why doing are we even doing this work? Why doing are we even doing this work? Why doing the management? Why are we doing this the management? Why are we doing this the management? Why are we doing this design, the specification, the the design, the specification, the the design, the specification, the the standups? Why are we doing this? It's to standups? Why are we doing this? It's to standups? Why are we doing this? It's to deploy quality software. deploy quality software. deploy quality software. So, the system needs to serve that. If So, the system needs to serve that. If So, the system needs to serve that. If this if the thing you're doing is this if the thing you're doing is this if the thing you're doing is helping you deploy quality software helping you deploy quality software helping you deploy quality software faster and better, then keep it. But if faster and better, then keep it. But if faster and better, then keep it. But if it's dragging you down, if it's slowing it's dragging you down, if it's slowing it's dragging you down, if it's slowing you down and and restricting you from you down and and restricting you from you down and and restricting you from deploying quality software, then you deploying quality software, then you deploying quality software, then you need to re-evaluate it.

  13. need to re-evaluate it. need to re-evaluate it. The things that you're doing probably The things that you're doing probably The things that you're doing probably did help you deploy quality software did help you deploy quality software did help you deploy quality software better and faster in the beginning, but better and faster in the beginning, but better and faster in the beginning, but over time they tend to degrade and make over time they tend to degrade and make over time they tend to degrade and make it worse instead of better. This is why it worse instead of better. This is why it worse instead of better. This is why number two, apply the phrase it depends number two, apply the phrase it depends number two, apply the phrase it depends to managing software projects, not just to managing software projects, not just to managing software projects, not just the software itself. And this is where I the software itself. And this is where I the software itself. And this is where I come back to the illustration of come back to the illustration of come back to the illustration of waterfall. waterfall. waterfall. Waterfall is not inherently bad. It's Waterfall is not inherently bad. It's Waterfall is not inherently bad. It's just not for every project. And quite just not for every project. And quite just not for every project. And quite frankly, for enterprise projects, it frankly, for enterprise projects, it frankly, for enterprise projects, it probably isn't the right solution for probably isn't the right solution for probably isn't the right solution for the overall project, but it might be for the overall project, but it might be for the overall project, but it might be for a feature. So what you do is say it a feature. So what you do is say it a feature. So what you do is say it depends for every project. That might depends for every project. That might depends for every project. That might mean that you do one feature in a mean that you do one feature in a mean that you do one feature in a waterfall style and another feature in waterfall style and another feature in waterfall style and another feature in agile, which that can have its own agile, which that can have its own agile, which that can have its own problems and drawbacks, too. I'm I'm not problems and drawbacks, too. I'm I'm not problems and drawbacks, too. I'm I'm not saying it won't. It may be that you say, saying it won't. It may be that you say, saying it won't. It may be that you say, "Yeah, it probably beneficial, but for "Yeah, it probably beneficial, but for "Yeah, it probably beneficial, but for our overall process and for making sure our overall process and for making sure our overall process and for making sure we're doing this right, we might need to we're doing this right, we might need to we're doing this right, we might need to stay the same do the same thing for both stay the same do the same thing for both stay the same do the same thing for both of them." That can be okay as well, but of them." That can be okay as well, but of them." That can be okay as well, but that's where it depends comes in. For that's where it depends comes in. For that's where it depends comes in. For some teams, you could do different some teams, you could do different some teams, you could do different things for different teams. For others, things for different teams. For others, things for different teams. For others, you're like, "No, we've got to have in you're like, "No, we've got to have in you're like, "No, we've got to have in lock step." Because it just makes it lock step." Because it just makes it lock step." Because it just makes it easier to not think about, but you easier to not think about, but you easier to not think about, but you should look at every situation that should look at every situation that should look at every situation that you're working in and say, you know,

  14. you're working in and say, you know, you're working in and say, you know, should we have standups? Well, it should we have standups? Well, it should we have standups? Well, it depends. Are they helping? Are they depends. Are they helping? Are they depends. Are they helping? Are they doing what we want them to do? Or is it doing what we want them to do? Or is it doing what we want them to do? Or is it just that's the thing you do? just that's the thing you do? just that's the thing you do? Number three, cut as much management as Number three, cut as much management as Number three, cut as much management as possible. possible. possible. Too often, management tends to creep in Too often, management tends to creep in Too often, management tends to creep in and accumulate, right? It just kind of and accumulate, right? It just kind of and accumulate, right? It just kind of builds up over time. Um, Microsoft builds up over time. Um, Microsoft builds up over time. Um, Microsoft unfortunately just announced a whole unfortunately just announced a whole unfortunately just announced a whole bunch of layoffs to the Xbox division. bunch of layoffs to the Xbox division. bunch of layoffs to the Xbox division. And one of the things in that note was And one of the things in that note was And one of the things in that note was that there are some uh workers that had that there are some uh workers that had that there are some uh workers that had 14 layers of management between the 14 layers of management between the 14 layers of management between the decision maker and the person doing the decision maker and the person doing the decision maker and the person doing the work. That's insane, right? That but work. That's insane, right? That but work. That's insane, right? That but that is a very common thing. When you that is a very common thing. When you that is a very common thing. When you see any industry look at the layoffs see any industry look at the layoffs see any industry look at the layoffs they do when they're trying to get more they do when they're trying to get more they do when they're trying to get more lean, they're trying to be more lean, they're trying to be more lean, they're trying to be more efficient. What do you often see? Middle efficient. What do you often see? Middle efficient. What do you often see? Middle management gets laid off. And the reason management gets laid off. And the reason management gets laid off. And the reason why is because slowly we accumulate more why is because slowly we accumulate more why is because slowly we accumulate more management. And it isn't a bad thing at management. And it isn't a bad thing at management. And it isn't a bad thing at first.

  15. first. first. Management is necessary. It's necessary Management is necessary. It's necessary Management is necessary. It's necessary to have a person that's got a bird's eye to have a person that's got a bird's eye to have a person that's got a bird's eye view that makes the decisions that are view that makes the decisions that are view that makes the decisions that are are more, you know, business focused or are more, you know, business focused or are more, you know, business focused or or focused on the customer that are in or focused on the customer that are in or focused on the customer that are in the meetings talking to the customers, the meetings talking to the customers, the meetings talking to the customers, understanding the big picture and then understanding the big picture and then understanding the big picture and then passing that down the line. That is passing that down the line. That is passing that down the line. That is important. important. important. But if you're not careful, what happens But if you're not careful, what happens But if you're not careful, what happens is you start putting more and more is you start putting more and more is you start putting more and more layers in which are beneficial at first, layers in which are beneficial at first, layers in which are beneficial at first, but over time aren't. And it's not just but over time aren't. And it's not just but over time aren't. And it's not just people, it's processes. Processes are people, it's processes. Processes are people, it's processes. Processes are probably worse because we do it more probably worse because we do it more probably worse because we do it more often. We don't think about it. And even often. We don't think about it. And even often. We don't think about it. And even we're trying to cut down, be lean, we we're trying to cut down, be lean, we we're trying to cut down, be lean, we often don't look at our processes. often don't look at our processes. often don't look at our processes. There are businesses that I've worked There are businesses that I've worked There are businesses that I've worked in. I've worked as a consultant for a in. I've worked as a consultant for a in. I've worked as a consultant for a number of years. And so I've been over a number of years. And so I've been over a number of years. And so I've been over a hundred companies uh working on their hundred companies uh working on their hundred companies uh working on their team or with their team. And there are team or with their team. And there are team or with their team. And there are some businesses where the majority of some businesses where the majority of some businesses where the majority of their time or it feels like that at their time or it feels like that at their time or it feels like that at least is spent in meetings. You know, I least is spent in meetings. You know, I least is spent in meetings. You know, I joke that it's you have a meeting in the joke that it's you have a meeting in the joke that it's you have a meeting in the morning that talks about what you're morning that talks about what you're morning that talks about what you're going to do. You have the meeting in the going to do. You have the meeting in the going to do. You have the meeting in the mid-after afternoon that talks about mid-after afternoon that talks about mid-after afternoon that talks about what you've done so far and then you what you've done so far and then you what you've done so far and then you have a meeting later to discuss why have a meeting later to discuss why have a meeting later to discuss why you're not getting enough done. And it's you're not getting enough done. And it's you're not getting enough done. And it's like because I'm in meetings, right? I like because I'm in meetings, right? I like because I'm in meetings, right? I could have got the job done, but I' i've could have got the job done, but I' i've could have got the job done, but I' i've been in all these meetings and I I look been in all these meetings and I I look been in all these meetings and I I look at some people's schedules and I'm like, at some people's schedules and I'm like, at some people's schedules and I'm like, man, your your your schedule is filled man, your your your schedule is filled man, your your your schedule is filled with meetings and yet I don't feel like with meetings and yet I don't feel like with meetings and yet I don't feel like that's actually helping you get the job that's actually helping you get the job that's actually helping you get the job done. And this is why, you know, when I

  16. done. And this is why, you know, when I done. And this is why, you know, when I when I work with people, whenever I try when I work with people, whenever I try when I work with people, whenever I try to work with people, I try and say, to work with people, I try and say, to work with people, I try and say, "Okay, Monday is my meeting day." And "Okay, Monday is my meeting day." And "Okay, Monday is my meeting day." And so, if we're going to meet, we're going so, if we're going to meet, we're going so, if we're going to meet, we're going to meet on Monday if possible. I'm going to meet on Monday if possible. I'm going to meet on Monday if possible. I'm going to try and eliminate as many meetings as to try and eliminate as many meetings as to try and eliminate as many meetings as possible. The people that work for me, possible. The people that work for me, possible. The people that work for me, they don't have meetings hardly ever they don't have meetings hardly ever they don't have meetings hardly ever because I'm like, I'm going to let you because I'm like, I'm going to let you because I'm like, I'm going to let you do your job. My goal is to empower you. do your job. My goal is to empower you. do your job. My goal is to empower you. If you need something, let me know. But If you need something, let me know. But If you need something, let me know. But otherwise, do your job. I'll give you otherwise, do your job. I'll give you otherwise, do your job. I'll give you what you need. Get it done because as what you need. Get it done because as what you need. Get it done because as much as possible, I want to stay out of much as possible, I want to stay out of much as possible, I want to stay out of the way and not have the hovering over the way and not have the hovering over the way and not have the hovering over their shoulders, you know, layering their shoulders, you know, layering their shoulders, you know, layering management upon management onto them in management upon management onto them in management upon management onto them in order to try and control what they do. order to try and control what they do. order to try and control what they do. Instead, I want them to do their job. Instead, I want them to do their job. Instead, I want them to do their job. That's really what I want that want That's really what I want that want That's really what I want that want done. That's my end goal. The main thing done. That's my end goal. The main thing done. That's my end goal. The main thing is for them to get the job done, not to is for them to get the job done, not to is for them to get the job done, not to be in meetings talking to me about what be in meetings talking to me about what be in meetings talking to me about what job they're going to do. Now, again, job they're going to do. Now, again, job they're going to do. Now, again, there is value to meeting with people, there is value to meeting with people, there is value to meeting with people, setting expectations, making sure that setting expectations, making sure that setting expectations, making sure that you've laid out ahead of time what you've laid out ahead of time what you've laid out ahead of time what you're looking for. This is all good you're looking for. This is all good you're looking for. This is all good things, but too much of that turns into things, but too much of that turns into things, but too much of that turns into a bad thing.

  17. a bad thing. a bad thing. Uh, number four, hold loosely to your Uh, number four, hold loosely to your Uh, number four, hold loosely to your systems. The system you're using right systems. The system you're using right systems. The system you're using right now may work great. That's awesome. If now may work great. That's awesome. If now may work great. That's awesome. If you're hit on all cylinders, that's you're hit on all cylinders, that's you're hit on all cylinders, that's awesome. Great. But don't think that's awesome. Great. But don't think that's awesome. Great. But don't think that's going to be the case forever. There may going to be the case forever. There may going to be the case forever. There may be different situations come up where be different situations come up where be different situations come up where your current system does not fit. Or it your current system does not fit. Or it your current system does not fit. Or it may be over time your team will change may be over time your team will change may be over time your team will change and it does not work well for your new and it does not work well for your new and it does not work well for your new team. And so you need to make sure that team. And so you need to make sure that team. And so you need to make sure that you don't hold so tightly to your you don't hold so tightly to your you don't hold so tightly to your systems that become this this mantra you systems that become this this mantra you systems that become this this mantra you have to do. This is the this is what we have to do. This is the this is what we have to do. This is the this is what we do, right? You probably heard that a do, right? You probably heard that a do, right? You probably heard that a lot. This is what we do. Why hold lot. This is what we do. Why hold lot. This is what we do. Why hold loosely to those systems? loosely to those systems? loosely to those systems? So the bottom line is this that um good So the bottom line is this that um good So the bottom line is this that um good management systems often morph into management systems often morph into management systems often morph into burdensome bureaucratic nightmares that burdensome bureaucratic nightmares that burdensome bureaucratic nightmares that slow down development that involve more slow down development that involve more slow down development that involve more ceremony than actual development. And ceremony than actual development. And ceremony than actual development. And the way to prevent that is to the way to prevent that is to the way to prevent that is to continually re-evaluate you're doing and continually re-evaluate you're doing and continually re-evaluate you're doing and adjust as necessary. You have to keep adjust as necessary. You have to keep adjust as necessary. You have to keep cutting back. Remember that your primary cutting back. Remember that your primary cutting back. Remember that your primary goal is to deploy good software. keep goal is to deploy good software. keep goal is to deploy good software. keep adjusting your system to help you best adjusting your system to help you best adjusting your system to help you best accomplish that goal. That way, you'll accomplish that goal. That way, you'll accomplish that goal. That way, you'll set yourself up for success no matter set yourself up for success no matter set yourself up for success no matter what you're doing. Now, thanks for what you're doing. Now, thanks for what you're doing. Now, thanks for listening. As always, I am Tim Corey.

Summary

The main theme is that while various software development methodologies like waterfall and agile have merits, they can become detrimental when taken to excess. The discussion highlights that good specifications are crucial for clarity, but overly detailed "spec-driven development" can hinder progress, much like too much salt ruins a dish. The practical takeaway is that moderation and balance are key to effective software project management, avoiding the pitfalls of any single approach being applied too rigidly or excessively.

View original episode ↗