From Bugs to Bloat: Product Debt, KPIs, and the Cost of Features
In this episode of "How Many CTOs Does It Take?" podcast, hosts Scott Porad and Brad Hefta-Gaub dig into the messy reality of product management effectiveness, and what happens when bugs reveal deeper product debt.
They kick things off with a retrospective on a critical login bug that exposed lingering legacy code, sparking a conversation about how product decisions and technical debt intertwine. From there, the discussion expands into the challenges of measuring product management impact, balancing ROI vs. customer friction, and the growing need for KPIs that capture both engineering and product effectiveness.
Along the way, Scott and Brad wrestle with big questions:
- How do you know if product management is "working"?
- What KPIs actually measure value delivered versus features shipped?
- Why do teams struggle to prune software bloat, and what does it really cost?
- Where should the line be drawn between engineering metrics and product owner accountability?
Whether you're a CTO, product leader, or engineer, this episode shines a light on the cost of keeping old features alive, the hidden tradeoffs behind bug triage, and how better metrics can drive smarter product choices.
- 00:00 Introduction and Welcome
- 01:09 Incident Retrospective Discussion
- 05:26 Challenges in Product Management
- 16:40 Engineering KPIs and Performance Metrics
- 18:45 Evaluating Product Management Effectiveness
- 27:28 Closing Remarks and Outro
Resources:
- How Many CTOs Pod: https://howmanyctospod.com
- Scott Porad: https://www.linkedin.com/in/scottporad/
- Brad Hefta-Gaub: https://www.linkedin.com/in/bradheftagaub/
#TechPodcast #EngineeringPodcast #DevTalks #PodcastForDevs #HowManyCtos #Podcast #Ctos #CtoPodcast #Technology #Engineering #SoftwareDevelopment #Entrepreneurship #TechLeadership #ProductManagement #ProductKPIs #EngineeringMetrics #ProductDebt #SoftwareBloat #ROI
Scott: How can we know what quantitative way can we know if product management is doing a good job?
Welcome to this week's episode of How Many CTOs Does It Take?
A.K.A.
CTO Therapy.
My name is Scott Porad, and I am here with my trusty CTO therapist.
Brad: Brad Hefta-Gaub.
Scott: Brad,
how are you today?
Brad,
here's the question.
Brad: What's the question?
Scott: Today, are you in the chair or are you on the couch?
Brad: I think I'm on the couch today,
but I don't know.
Scott: Okay,
well,
I'll sit in the chair.
I'll just do my best.
I don't play a therapist on TV, nor do I play one on real life,
but I will do my best.
Trent,
Brad,
how are you feeling?
What's going on?
Brad: Well, we just had today was really interesting day.
We had a incident retrospective. We had essentially a
Whatever you want to call it, SevZero incident where some customer domains were having problems with logging in,
like one of the most classic,
like if they can't log in,
they can't use the system.
Scott: Mm-hmm.
Brad: The team, this incident happened a couple days ago,
but today we had our meeting to kind of go over the results of the incident investigation and the fixes and everything.
And the team basically discovered that there was a bug in code and they had to fix it. And that bug was preventing a particular subset of users to be able to reset their passwords.
And this subset of users were essentially these.
legacy accounts from a long long time ago where um we didn't have like a kind of robust authentication system but we had kind of kept this code around so classic example of some tech debt but actually kind of product debt right like it was a bug but the bug was in this code you
That had the product team still wanted to keep alive,
but the engineering team had kind of assumed was no longer being used.
Scott: Hmm.
Brad: Yeah.
So how am I feeling?
Oh, I'm feeling really proud of the team for they did a really great job.
Like they're a pretty novice team. They don't.
you know we don't have a lot of customers we don't have a lot of runtime with this so they're a pretty novice team in doing this sort of thing this is only really like the second kind of real incident they've had to deal with and they did a great job of following the playbook that i gave them of doing a really high quality investigation you know getting a really high quality timeline
We've got a bunch of recently installed,
you know, recently, like in the last three or four months, we rolled out hotel observability and they were able to use that to actually just figure out what the heck happened.
So that was cool.
That was all good stuff.
But the team was really beating themselves up because they felt like, why weren't we?
advocating stronger to eliminate this feature because not only was there this bug in the code but the feature itself has weaknesses to it vulnerabilities to it and we kind of kept the old vulnerable feature around and that was kind of the the fruit of the poison tree that caused the incident
So it's a tough one,
right?
This is a great example where the product owners kind of have to be in that egoless retrospective and they need to be able to consider their part in the incident.
Scott: Yeah.
So why didn't the team advocate harder for that, stronger for that more or whatever?
Brad: I mean, it's a good question, you know, in the end,
myself as the CTO and the and kind of the lead developer on the feature, we're both kind of saying like, yeah, I blame myself for not advocating stronger to get rid of this, you know, feature.
you know there was a perception within the product team that they're that you know for these old legacy users they want to add any friction to make them switch over to some new system and there was maybe a little bit of a misunderstanding of how much friction there really was because it turns out there's probably not that much friction they get like an invite email and then click through it and boom next thing you know they're logged in you Mm know so but
Scott: -hmm.
Brad: you know there's the classic there's the classic you know real concern like hey emails come in and get
dropped into spam folders and you know people are like i can't log in anymore how do i log in um i mean to answer your question directly like why didn't the team advocate better i think that's there's some soul searching going on you know within the engineering team about like why did we why did we let this
Fall through the cracks.
Scott: I have a more interesting why patient breath.
Brad: Yeah.
Scott: Because why?
I mean, because someone didn't big whip. I mean,
it happens.
But I actually think here's a more interesting why.
Software across the industry gets bloated.
It happens.
Software gets bloated.
And software is expensive to build and expensive to maintain.
It has never been anywhere that's except I've never worked anywhere on any project or any company that's been good or disciplined. I'm not sure the right word to use about, let's call it grooming the bloat, about going back and saying,
do we really need this?
Yeah. I can think of actually one time not that long ago.
This is when I was primarily working on Dolly. So this is the 2021 through 2024 time frame when we were kind of building, we were kind of, we weren't totally rewriting something,
but effectively we were kind of rewriting something.
And there were all these features, you know, there's a long list of features that.
we need to do include and we were able to persuade product management like well look let's let's do the very very what seems like an uncomfortably bare bones version of this new rev of this thing and put it out there and then we'll see if we really need these things and
Brad: Yeah, that's a great idea.
Scott: i have gotten you know it was took a lot of negotiation a lot of it was a you know we all got along so it wasn't like fighting but it was definitely
not ideal and but I've since gotten positive feedback from that product management team of like yeah it turns out we didn't really need a lot of this stuff and some of it
was needed and got added and so sometimes it was very painful to add it I'm sorry I should say it wasn't painful to add it it was painful to wait while it got added customers
Brad: Yeah.
Scott: were having a bad experience but so I think the real question I want to ask is as an industry as teams why aren't we very good at that product cruft bloat grooming and how could we be better at it
Brad: Yeah,
that's a good question.
I sort of was like maybe there's like
there's like a marie kondo like does it spark spark joy if
Scott: Yeah.
Brad: not get rid of it you know is it did you use it yesterday or does it spark joy if not get rid of it yeah
Scott: Yeah.
I worked with an engineering director once who was really good at that.
He was just great at throwing stuff out.
I wonder if it's because we don't account for the cost very well.
So this was like a...
Going back to that way old John Helm conversation we had about six months ago,
this was like a call option that came due.
It wasn't causing you guys any harm until the minute it was.
Brad: Yeah.
Scott: But so there was an expected cost, you know, you could you could compute an expected value or an expected cost of just having that around.
Brad: Yeah, and I think that, you know, give the product team credit where they deserve it, that they did genuine, like when we, you know, in retrospective now we're talking about it and it's like.
there was a little bit of like wait we thought we decommissioned all these accounts and there was a well i made a choice we made a choice this customer was special we wanted to like not add any friction to that customer right
Scott: Mm
Brad: i
Scott: -hmm.
Brad: mean i think that's a legitimate stance to take for your product team right like you you want to be able to say like hey this is a this is a legacy customer they're a vip customer whatever the reasoning is to say like that that
it's our perception that that feature is important to
Scott: It's
Brad: them right
Scott: valuable.
Brad: is valuable to them and um that's the job of the product team right like we like you know like let's we're all in this together and each of us have different jobs and and one of the jobs is to to really be that strong advocate for what value the customer sees in a feature
Scott: Mm-hmm.
Brad: I think that in this particular case, you know, it's complicated and I'm not going to get into all the little gory details, but I think it's it's also the case that in this in this particular case, the engineering team in retrospect.
sort of silenced themselves they cut themselves off early and didn't say yeah but this is a problem like this isn't just a thing of like an old feature that we'll have to kind of remember to work around or but like hey it's got it's got vulnerabilities to it we should definitely like get we should aggressively get people off
Scott: It's
Brad: of this
Scott: a
Brad: thing
Scott: different class. It's in a different class of its own because of those
Brad: yeah
Scott: vulnerabilities.
Brad: so it's not the same as like a you know a cool little
widget that the particular customer really loves and you're kind of you know kind of working around it to keep it active you know like whatever it doesn't fall into that category it falls into a category of something that's a little bit more serious and probably should have been taken seriously I think that there you know again we're a pretty young organization I think we're learning to build out our processes and if we had a little bit more process it might have been there might have been a little bit more structured to the way we would have that conversation
station,
Scott: Mm-hmm.
Brad: right?
Like, I think that, I think that
You know, again,
it's not like we're not dealing with, you know, like if this had been at 98.6, right,
then there'd obviously be like health related, you know, HIPAA related things,
SOC 2 related things,
all these very strong compliance types of patterns would have would have kicked up and there would have been a place to have
Scott: Mm
Brad: that conversation.
Scott: -hmm.
Yeah.
Brad: Right.
We're smaller.
We're younger.
This is a, you know, kind of a much more.
lightweight related SaaS offering that is you know really about like it doesn't have those types of implications so that typically have those kinds of like security type implications around it and we're moving fast and we're trying to innovate we're trying to build stuff and I think that you know I think that one of the we've talked about this in the past that one of the really cool things about being at a startup is that
Everyone has to be on their toes.
Everyone has to, if they see something,
they have to say something,
right?
There's nobody coming through the kitchen to clean up the dirty dishes,
right?
And so if anything,
I think the team probably in reflecting on this kind of feels like that's the piece they let down.
That's the part they let down, right?
Scott: Yeah
Brad: Where they accepted or didn't think to say,
hey, this is really important. Let's follow up on did we convert all these customers.
customers over yep
Scott: I feel like I heard your team learned two good things today.
One, you need to have product management in your retrospectives.
Brad: which they were so that was good
Scott: Oh,
Brad: and
Scott: they were. Okay,
Brad: i yeah
Scott: I thought.
Brad: they were there they were there and i would say i feel like that's pretty important for most retrospectives
Scott: Yeah.
Brad: right unless
Scott: For
Brad: it's
Scott: sure.
Brad: really just a raw it was only engineering involved right but if it's got any kind of a whiff of a product feature gone awry or a business process gone awry you know i think you once told me a story about a retrospective where it was like a demo was happening in a place that shouldn't have been happening and the demo caused some kind of system to go sideways or something like that you know um
Scott: I don't remember that, but I'm sure that's happened.
Brad: So anyway,
I think there's a lot of value in having some representative of your product team be part of retrospectives that get read on product features.
Scott: And the other thing I heard is there are certain classes of things that a team should push harder on.
And
Brad: Mm hmm.
Scott: that varies by business, but certainly security,
I don't know if this is a security vulnerability,
but certainly vulnerabilities of a certain type are one of them.
Brad: Yeah.
Yeah.
Scott: You
Brad: And
Scott: said
Brad: I agree that that that is kind of the way that those are,
I think, the key that that second one in particular,
I think, is the key.
uh takeaway you know because it was cascading failures of course it was never one thing right it's cascading failures right like um you know and i and i ironically it's almost like the bug actually kind of helped mitigate the vulnerability so it's almost like while fixing the bugs when they discovered the vulnerability they're like oh no okay wait a second you know and so the cascading failures were all around like
Wow, the code review let the bug get through the QA process let the bug get through the, you know, and,
and, you know, there was all kinds of cool good things that came out of the retrospective. Why was the code? Why did the code review let the bug get through?
It was a massive.
uh pr that was related to it in fact it was about adding observability like the pr that introduced the bug was about adding observability and
Scott: Yeah, the irony.
Brad: so it was a classic like oh we're it's a big pr but really it's only just sprinkling some if then statements around everything kind of thing right let's you know so so you know how many times have we learned that lesson right
Right.
Massive PRs are impossible to code review.
Right.
Scott: Yeah.
Yeah.
Brad: The.
Scott: Hey,
can I ask a question about something you said earlier?
Brad: Yeah. Yeah.
Scott: You said a phrase that I had never heard before.
So now the patient,
the client is going to teach the therapist here for a second.
Brad: OK,
yes.
Scott: So you talked, I think it was, I think you said.
Well, I'm thinking of, I'm going to have the word wrong because the word in my head is OLED,
like TVs now,
but
Brad: Oh,
Scott: she was called like
Brad: yeah.
Scott: OLED or OTAP something or observability.
What's
Brad: that?
Open, open telemetry.
Scott: Oh, what is that?
I never heard that before.
Brad: Open telemetry is a kind of industry pseudo standard,
a little open source, a little bit kind of standard, and it's around like telemetry in general.
A lot of the big telemetry providers like Datadog and,
you know.
amazon and stuff like that they have like o-tel compatibility um but open
Scott: Oh.
Brad: o-tel stands for open telemetry uh it's an open source project um that that has you know
It essentially has coding plug-ins for all the different languages and all the different stacks,
and it standardizes on the way that the essentially the formatting of the telemetry data so that people can build like data analyzers or data visualizers, and those visualizers can just say, I support any open telemetry formatted telemetry data stream.
Scott: Address you learn something new every day, even
Brad: Yeah,
Scott: when you're not there trying.
Brad: you go.
Scott: Awesome.
So you said something else in there that I wanted to ask about that actually reminded me of a conversation I had today with somebody.
You said product management.
This is a little bit of a pivot, by the way. There's a pivot of topic, if that's okay.
You said that product management, you know,
their role is advocating for what's valuable to the customer.
Okay, so I have a report that is produced on my team every month, which is a set of engineering KPIs.
We have about five or six top level KPIs, but then overall,
which is like the sort of executive summary.
And but then overall, I bet there's about 40 different KPIs and they include, you know, things like cycle time.
They include number of open bugs,
average time to fix a bug,
uptime, just lots of different KPIs.
And they're all under the umbrella of this.
How do we know if engineering is doing a good job?
Brad: Okay.
Scott: And I started doing this a while ago because I got frustrated that stakeholders would have opinions about whether the engineering team was doing a good job and they were entirely subjective.
And so I said,
Brad: Yep.
Scott: well,
could we at least like try to quantify what are the things that you're actually expecting us to do and could we try to quantify that?
And so we've got that and,
you know, the stakeholders I work with really appreciate it because they appreciate the transparency.
I think they don't really,
but that's beside the point. I think it gives me a tool to tell the story of our team and how we're performing. And it also gives me, you know, sometimes it's you got to be vulnerable.
I'll give you a concrete example. Last month, our mean time to response,
which is one of our top six mean time for incident response,
which is one of our top six.
metrics was bad because we had an incident that we did not respond to for two days and so we have like
Brad: Oh,
Scott: a five
Brad: yeah.
Scott: minute SLA and it was like 213 minutes on average for that month right so um because because we didn't right
Brad: Yeah, you have one two day response with a five day SLA or five minute SLA and you're pretty much screwed for the until you reset the counter.
Scott: but it's a it's a tool for us as a team both to tell our story but for us to also know like
Like,
hey,
this is what is important to us, right,
as a team in terms of, you know, both operating our system and delivering new software.
So, okay,
so just today somebody asked me, someone on the engineering team asked,
well,
how do we know if product management is doing a good job?
And I said to myself,
That's a good question.
How do we know if product management is doing a good job?
And that's the question I want to ask you. How do we know if product management is doing a good job? Is there a set of KPIs that we could put to that? And to be a little bit fair to you and to product managers out there,
I've been thinking about this set of KPIs that I use for engineering for my entire career pretty much.
So it's taken a while to refine it.
Maybe it'll take like another 30 years to figure out this stuff with product management, but maybe there's some product managers or some product chief product officers or whatever out there that know it. I don't know. What do you think? How do we know?
What quantitative way can we know if product management is doing a good job?
Brad: Yeah, that's a great question.
First of all, I would love to get some chief product officers to come onto the pod and talk to us about that. I think that's something that, you know, early on in the in us talking about doing this pod, we talked about the idea of like bringing in these stakeholders from different disciplines and talking to them about their their experience.
Scott: Working with CTOs and I think this would be a great topic to to dive into with them like what's the what is the the models that they have seen work successfully between kind of like managing the that relationship and a piece of that relationship between engineering and product is the what what is the definition of a successful product
Brad: Well,
Scott: team.
Brad: if you're one of our 39 listeners out there.
If you are a chief product officer or no one, we would love to hear from you.
But let's talk about it.
So this is, okay,
I have a few ideas,
not comprehensive,
but certainly
Scott: Yeah.
Brad: one of them is I think of product managers as investors.
They're investing engineering time,
which is money because we pay wages to engineers.
And what is the ROI on those investments?
Scott: Mm-hmm.
Brad: It's actually the first one is, well,
how accurate are you at predicting the ROI on an investment?
And then there's an even more basic one.
Of the features on your backlog, what percentage of the investments on your backlog have you calculated an estimated ROI for?
That's like the very basic,
right?
Do we even attempt to try and see if these investments are worthwhile?
Scott: Yeah, totally.
And I think that, you know, I think that sort of opens this can of maybe it's worms, I don't know, but it opens a can around,
you know, how do you measure,
how do you measure the, the result of a feature, right?
Like an obvious.
You know, like you and I talked about this on a, you know, we discussed this on an episode once before for a few minutes where it's like, okay,
like just because sale, it's just because sale number go up, you know, revenue number go up, that doesn't mean that it was the features that got asked for that made the revenue number go up, right?
It could have just been like better marketing that month or better sales that month or all of a sudden, you know.
You know, a customer started using your
Brad: Mm
Scott: product more,
Brad: -hmm.
Scott: you know, like they could be using the old features, not the new features. Right.
Brad: You can run
Scott: So,
Brad: a split test.
Scott: yeah, I think it's really.
Brad: A-B test.
Scott: Yeah, certainly.
If you have enough scale to do A-B testing,
that's certainly the type of thing that you can do.
I also think that there are other kind of classic metrics like net promoter score and things like that where you kind of try to judge like does your customer base love your product or not?
Does that change over time when you add more features?
Yeah, it's a good question.
I do think that.
I do think that you're right that the main value add that we would expect from a product team is identifying the surface area of, you know, customer needs that the customers value enough that they will exchange money for that value,
right?
Like that's the most important role of a product
Brad: I
Scott: team,
Brad: agree.
Scott: I think.
um and so any metric that's going to help us measure that is certainly going to be a good metric yeah
Brad: I think about like after we put a metric around,
they wrote, you know, the product manager wrote good requirements.
Scott: i mean there are like certainly a whole bunch of uh logistical things that um
matter too,
like, you know, I'll pivot a little bit, but let's stick to the topic of the role of product management.
I'm a big believer that you can't do a bug triage or you can't do a kind of technical debt assessment without having the voice of product there.
Right.
Like like I need to like the product owner needs to tell me if a bug really reads on that customer value or not.
Right. And if if there's a bunch of bugs or a bunch of deficits in some manner that is having some kind of a drag or some kind of a negative effect on the value perceived by the customer.
Then I I need a great product partner who's going to be able to help me weigh those two things like, hey,
do I.
Do I want to add this new whiz bang feature or do I actually want you to go improve the behavior of existing features by fixing bugs, by making them faster or whatever that might be.
And that to me, that's an inherently a product question,
not an engineering question.
Brad: I agree 100%. To me, bug triage is a product management function because to us, to engineering,
it's just an item in the sprint backlog.
And you could pick fixing
Scott: Yeah, totally.
Brad: an old item or...
We're making a new item. It's just a thing we're going to chew up and spit out the other end.
Scott: Yeah.
So I think that that falls into that category.
So like the whole like how quickly does it take us to adjudicate? So like how quickly do we fix bugs?
Like maybe that should go on the engineering
Brad: Yeah,
Scott: KPI.
But how quickly do we adjudicate whether or not we're going to fix the bug?
Brad: could be,
yeah.
Scott: That feels to me like a KPI that should almost live in the product owner KPI list,
not the engineering
Brad: Yeah,
Scott: KPI list.
Brad: this is an interesting question.
Scott: And I think there's a handful of those types of things. So you mentioned like, you know, what's the, you know, some qualitative measure of the of the of the description of the specification of the new features,
you know, whatever that might be some kind of a way to.
you know, measure that.
To me, that adjudication of bugs,
you know, some sort of ROI analysis of features,
these are all types of like logistical things that I think relate to like,
are we capturing the value to the customer?
of the Yeah. software we're building.
Brad: Well,
that's one dimension. And then the other dimension is, is the product manager effectively conveying to the engineer what to build?
But a product manager is a tough job.
to acknowledge all the product managers out there. We love you.
I have worked as a product manager before.
I've also worked as a manager of product manager support,
so I get it.
We have a hard,
we product managers, I'm putting my product manager hat on.
We have many jobs. One of them is understanding the marketplace, the landscape,
et cetera, looking, finding opportunities and problems.
That's like a kind of, I think of that as the outward facing job.
And then we've got a prioritization job, like how we judge what order we put these in.
And then we have a communication job of like,
how do we tee this up for the engineering team to go execute on it?
You know, some companies do that depending on what you're building and all sorts of cultural issues with a very detailed spec.
And with some people, it's just a conversation. That's what Agile is about, what Scrum is about.
Let's just have a conversation and go build some stuff and we'll come back and tell you if you tell us if it works for you.
Scott: Yeah, totally.
Yeah.
And then there's that, that's all kind of the input stuff. And then the output stuff too.
You've got like, depending on where you divide the lines between product and kind of sales and marketing too, you've got the, how do you communicate the value,
you know, to the, to the team that's communicating the value to
Brad: Yeah,
Scott: potential customers.
Brad: all the go-to-market stuff,
yeah.
Scott: Yeah.
I was just going to say like,
uh,
I'm feeling like I was hurt,
Scott.
Brad: Well,
I was feeling like we're almost 30 minutes into this conversation and we have not talked about AI yet,
which
Scott: Are you sure you want to talk about AI in this
Brad: to
Scott: episode?
Brad: me is therapeutic all by itself.
Scott: I love it.
Well.
Brad: Well,
Scott: I need
Brad: Brad,
Scott: to
Brad: it's been a good talk today.
I don't have anything to say about AI today,
but maybe
Scott: We need to talk about AI at all.
Well, let's make sure we cover it next because there's always something new happening in AI.
Brad: All right,
well, until next week,
Brad,
Scott: All right. Till next week.
Brad: smash that subscribe button,
rate and review.
Scott: Rate and review.
Brad: Bye, everyone.
This episode of How Many CTOs Does It Take podcast was edited by Saffron Epigab.
Our theme song was AI-generated by Brad.
Please follow us on all the social media platforms at at how many CTOs pod you can find us on YouTube LinkedIn Instagram Facebook threads X TikTok and patreon or at our website at how many CTOs pod comm and remember to rate review and subscribe on the podcast platform of your choice thanks for listening