🎙 Develpreneur Podcast Episode

Audio + transcript

Big Hairy Audacious Goals (BHAGs) as an anti-pattern in software development

In this episode, Developer Nord discusses the anti-pattern of Big Hairy Audacious Goals (BHAGs) in software development. BHAGs can be a problem when you focus too much on the goal and not enough on the processes to get there. Developer Nord shares strategies for overcoming BHAGs, including breaking down big goals into smaller tasks and focusing on making progress, not just achieving the goal.

2022-04-15 •Season 16 • Episode 562 •Big Hairy Audacious Goals (BHAGs) as an anti-pattern in software development •Podcast

Summary

In this episode, Developer Nord discusses the anti-pattern of Big Hairy Audacious Goals (BHAGs) in software development. BHAGs can be a problem when you focus too much on the goal and not enough on the processes to get there. Developer Nord shares strategies for overcoming BHAGs, including breaking down big goals into smaller tasks and focusing on making progress, not just achieving the goal.

Detailed Notes

In this episode, Developer Nord discusses the anti-pattern of Big Hairy Audacious Goals (BHAGs) in software development. BHAGs are goals that are so big and ambitious that they can become overwhelming and lead to analysis paralysis. Developer Nord explains that BHAGs can be a problem when you focus too much on the goal and not enough on the processes to get there. He shares strategies for overcoming BHAGs, including breaking down big goals into smaller tasks and focusing on making progress, not just achieving the goal. Developer Nord also emphasizes the importance of setting a positive and optimistic attitude when tackling big goals. He believes that by focusing on making progress and not getting overwhelmed by the goal, individuals can overcome BHAGs and achieve their objectives. Overall, the episode provides a thoughtful and engaging discussion on the concept of BHAGs and how to overcome them in software development.

Highlights

  • BHAGs can be a problem when you focus too much on the goal and not enough on the processes to get there.
  • Analysis paralysis can occur when faced with a big goal, making it difficult to take action.
  • Breaking down a big goal into smaller, manageable tasks can help overcome BHAGs.
  • Focus on making progress, not just achieving the goal.
  • Setting a positive and optimistic attitude can help overcome BHAGs.

Key Takeaways

  • BHAGs can be a problem in software development when you focus too much on the goal and not enough on the processes to get there.
  • Breaking down big goals into smaller tasks can help overcome BHAGs.
  • Focusing on making progress, not just achieving the goal, can help overcome BHAGs.
  • Setting a positive and optimistic attitude can help overcome BHAGs.
  • Analysis paralysis can occur when faced with a big goal, making it difficult to take action.

Practical Lessons

  • Break down big goals into smaller tasks to make them more manageable.
  • Focus on making progress, not just achieving the goal.
  • Set a positive and optimistic attitude when tackling big goals.
  • Avoid getting overwhelmed by the goal and focus on the processes to get there.
  • Use a roadmap to plan and track progress towards big goals.

Strong Lines

  • BHAGs can be a problem when you focus too much on the goal and not enough on the processes to get there.
  • Analysis paralysis can occur when faced with a big goal, making it difficult to take action.
  • Break down big goals into smaller tasks to make them more manageable.
  • Focus on making progress, not just achieving the goal.
  • Set a positive and optimistic attitude when tackling big goals.

Blog Post Angles

  • The concept of BHAGs in software development: a review of the literature.
  • Strategies for overcoming BHAGs: a case study.
  • The importance of setting a positive and optimistic attitude when tackling big goals: a personal anecdote.
  • BHAGs in software development: a survey of industry professionals.
  • The role of analysis paralysis in BHAGs: a critical analysis.

Keywords

  • BHAGs
  • software development
  • big hairy audacious goals
  • analysis paralysis
  • goal-setting
Transcript Text
Welcome to Building Better Developers, the Developer Nord podcast, where we work on getting better step by step, professionally and personally. Let's get started. Hello and welcome back. We'll continue our season where we're looking at software architecture patterns and anti-patterns. And this is going to be the last of ours, last anti-pattern. And then we will wrap it up at next episode and finish up the season. We've looked at a lot of patterns and anti-patterns. And as we've gotten into these last few, they are new ones. They're things that I have not found out there anywhere, at least named as such. And some of them are maybe meta. But this is one that I have talked about many times, not as an anti-pattern, but it's I guess it's recurring theme as a challenge. And it's maybe, again, not necessarily an architecture related one, but it is something that we see really, I think in a lot of the problems we're trying to solve. And I'm going to call this anti-pattern, Big Hairy Audacious Goals, also known as BHAG. Now this is a concept that is used when companies are putting together like mission statements and vision and things like that. And even sometimes individuals, where the goal of this is to set objectives that are big, don't limit yourself by your objectives. And in itself is a really good approach. Don't let your goals limit you. Don't let your objectives limit you. Set something that is really almost unachievable and then go after it and see how far you can get. Because then your goal is going to be approaching this thing that is going to be far out there and going to be complex and difficult. But also you still have a focus, but you also have so much to do to get to there. You're going to stay busy for a while. And you end up doing stretch goals basically. You're going to push yourself. So instead of thinking about it from a software development point of view, when you get into large projects, it's sort of what we run into, is that you have sort of this ebb and flow. Maybe early on you don't feel the urgency of deadlines. And so you're okay. You can take a minute here, take a minute there. And actually we do that in some of us all through our life. That's why there is the idea of people waiting to the last minute to cram for their test or exam or final. Because exactly that. You think, hey, I got plenty of time. This is not going to be a problem. It's great. And the next thing you know, it's like, oh, I ran out of time. I have got to get moving on this. Behags are the same way or I really address that in a sense by saying, you sort of puts this like underlying consistent urgency of we always have so much to do. We don't want to sit around and let time go by. Now, I did mention this was an anti-pattern, not a pattern. And this is where Behags come into that can be a problem. And it is that we may focus too much on the Behag part of it, as opposed to the processes to get there. It can be very difficult for us to find the first place to make a dent in a project when it's huge. And also we can be overwhelmed by the, I guess we'll call it the urgency or the pressure to get something done. This happens a lot when we have a project we really want to do and that is important or valuable, particularly if it's one of those things where every day that goes by is, it would be a benefit to have that project. That there's sort of a loss or lack of a gain every day that we don't have this thing done. A good example would be if your team needs to hire another person or persons, then every day that you don't have those people hired, you're not training them, you're not bringing them up to speed, you're not getting them in place to help the team. And so there is that ongoing pressure. Behags are like this. This anti-pattern is like that, we have these goals and they really aren't necessarily doable today or this week or maybe even this month. You think about a roadmap, especially like a five-year roadmap, if you're feeling the pressure of what's projected to get done five years from now, today, if you're feeling that pressure today, then you've fallen into this anti-pattern. And the way this works is that you're not focusing on the journey, you're focusing on the end goal, the end objective. And so this goes back to something we have actually talked about a lot. And that's the idea of breaking a large thing down into smaller bite-sized chunks, to use as an analogy. And so instead of us getting overwhelmed by all these things we have or we want to do, take a step back, take a deep breath, and say, okay, what is my progress that I can make on this today? And sometimes even now, is there something I can do right now that will at least help me move forward in this thing? Don't worry about that end goal, other than as sort of like a directional guide. And instead, you know, probably you've got a huge number of things you can do. Just sometimes it's just pick one and move forward. If you've got a big bucket of tasks and you're overwhelmed by them, instead of sort of falling into that woe is me, I've got too much to do, how am I ever going to get all this done? Just stop, pick one, and work on it. And then when you're done, you will be further along than you are when you start. I know it seems so simple and so common sense, but we get this a lot. I see this a lot. I run into this personally, as in I will look at something and go, oh my gosh, what am I going to do? And you just sort of sit there until drool comes out of your mouth with a sort of that analysis paralysis. But in some of these cases, you're not even analyzing. You're just process paralysis. You're just trying to process what it is that's out there, what it is that is your goal or your objective. And like I said, I have so many conversations around this and it's so easy for us to run into this too, because we have a full plate. Whether you know it or not, whether you like it or not, in the world of IT, we have a full plate. We have things changing, we have things growing, we have new versions, we have enhancements, we have customers, we have customers we have to support, we have customers we have to sell. There's always a huge amount of stuff to do. And you can look at that and essentially panic and say, oh my gosh, this is too much. And then you end up just spinning your wheels in panic mode. Or you can say, all right, I'm not going to get it all done today. I'm not going to get it all done this week. Instead, I'm going to look at what can I get done and what steps towards that or step towards that can I get done. And then I'm going to do that. And that's going to be my focus. And if I get that done, then great. And in particular, one of the ways I've seen this, now sometimes it's, you know, we get into like a new job, a new situation, we've got a new project and we just, it feels overwhelming because we see that we have maybe nothing if we start from scratch, but we have this big thing we want to build or create or design or whatever it is. And we just, we don't see how we get from here to there. There's no way to get there from here. Some people, you know, as you sometimes get with directions. Likewise, we can run into this kind of situation when we have, we have a third, this I think probably another common thing that we don't feel it as much, but when we have third parties that we have to deal with, there are sometimes that we are limited by other, other actors, other resources where all we can do is say, Hey, I need you to do X for me. And until they do it, we're blocked. And blockers can be very frustrating if we focus on the fact that we're blocked as opposed to accepting that we're blocked and say, okay, we're blocked. This thing is where we have to wait. It has to go on hold for a little bit and then go shift to something else. So instead of that, you know, panic or whatever it is, it says, Hey, gosh, this thing, you know, daylight is burning. We got to get this thing done. I'm waiting on this person. I'm blocked. We need to get this done right away. And particularly when you use that, turn that into, you know, like pestering them with like calls and emails and things like that. Although granted, sometimes that's required just to light a fire under somebody, but usually it's not that not to that point. But we do sometimes panic and end up just like, Hey, did you get that done? Hey, did you get that done? Hey, did you get that done? And that doesn't help anybody. That just turns up the heat on everybody and doesn't really add to the productivity level. So with this anti pattern, it's not that you're setting big goals. It's not that you have a lot to do. It's not that you are pushing yourself. It's that you are pushing yourself into the ground. It's that you are letting that pressure and focusing on that, all those big things, letting that paralyze you, letting that be your focus, letting that be what you are quote working on as opposed to getting tasks done to achieve that goal. It's always to, you know, that's the anti pattern of this is when we take that big stretch goal and focus only on it and let it seep into us and scare us or cause us stress and worry and concern as opposed to, you know, occasionally looking up and saying, yeah, that's where we're going to get almost with a really with that positive optimistic kind of attitude, which is really when you hear people push the BHAGS, that's really what they're pushing is that like, let's be positive. Let's be optimistic. Let's assume we can get all of these things done, do that occasionally, but then go back to, okay, in order to get there, what is it I've got to do? And I know this feels like repetitive because we have touched on this almost a lot of the patterns, a lot of patterns and anti patterns have dealt with, how do we take something that's big and intimidating and break it down into something that is smaller, doable, understandable, and that we can jump right in and make progress? And it's like, you know, sort of one of the things that's out there is you can't be the best until you get better on a regular basis. There's like, unless you're just born that way, which nobody really is, you're going to have to get better. And so instead of worrying about this big goal, instead worry about the things that you can control, the things you can do. And hopefully what you end up doing is not both for yourself and your teams that you're working with, whether you're a staff member or manager or whatever, is that you set this up so that you get up every day and you have stuff to do. There's things like, okay, I have got stuff on my plate. I got something to do today. I'm not looking at it. I don't get up on a day and say, what am I going to do today? There should always be stuff to do. And hopefully it is something where it's just like, boom, here you go. Here's your plate. Here's the things to do, whether you're selecting that yourself or someone's giving that to you and say, all right, I got stuff to do when I get done. All right, I got stuff. I got my stuff for today done. I'm not going to stress about what I need to get done by next week because this ends up being a, an anti-pattern. It's like a life-sucking, morale-sucking anti-pattern is that we get, we are too stressed, too tightly wound for too long. And it just eats away at us and then our productivity falls and then just everything goes the wrong direction at that point. So set big goals, but don't let those big goals intimidate you. Stay with that. It's just stick with the positive attitude. If you know what, I'm going to get there and it may take a while and that's okay because I understand that if anything worth doing is going to take a while to do, it's going to take effort. It's going to take work. So don't let the fact that we didn't get there today wear you out. That's it. That is your big hag anti-pattern. That being said, I think we can wrap this one up. I'm not going to, I'm going to say that, Hey, that was my goal for this episode. I've achieved it and it's time for us to move on. We will come back one more episode. We will wrap things up for this season and then maybe a brief hiatus, trying to decide if I'm going to take a little break or not, you know, a week or two, and then we will jump into season 17. Wow. Where has the time gone? Well, before we go into that rabbit hole, why don't you go out there and have yourself a great day, a great week, and we will talk to you next time. Thank you for listening to Building Better Developers, the Develop-a-Noor podcast. You can subscribe on Apple Podcasts, Stitcher, Amazon, anywhere that you can find podcasts. We are there. And remember, just a little bit of effort every day ends up adding into great momentum and great success. One more thing before you go, Develop-a-Noor podcast and site are a labor of love. We enjoy whatever we do, trying to help developers become better. But if you've gotten some value out of this and you'd like to help us be great, if you go out to developernor.com slash donate and donate whatever feels good for you. If you get a lot of value, a lot. If you don't get a lot of value, even a little would be awesome. In any case, we will thank you and maybe I'll make you feel just a little bit warmer as well. Now you can go back and have yourself a great day.