Put Away The Raid™ …Bugs Are Our Friends
I admit it. In real life bugs freak me out. Cockroaches? Disgusting and do not want them anywhere near me. Titan beetles… my skin just crawled. And of course do not even get me going on spiders. So it is no wonder in technology, when we hear about bugs we instinctively recoil. But I’m going to let you in on a little known fact, bugs are features, in fact they’re our friends.
Really? Appreciating bugs or issues are features requires us to step away from our bias, against; bugs, customer issues, production faults or whatever we call the customer pain points our products have created for our install base. By removing bias the situation is no longer emotional, without emotional bias we are liberated to evaluate through evidence-based approaches regarding these issues. The rest of this article I will simply refer to everything as issues that describe anything causing pain for our customers.
How issues got into the hands of our customers needs to be identified so we can consistently start delivering quality products to market.
Technical debt is a derivative of traditional waterfall product development implementations where the business mandates delivering specific features by a hard non-movable date. Think about it. Do software engineering teams want to build software that does not work? So what causes that outcome? As stated it is the combination of the business mandating a date that a specific group of feature sets must be delivered by. Those two directive events in combination cause development teams to cut technical corners and create hacks; which end up causing downstream issues. Pretending that the feature is actually delivered when it is incomplete, or does not function properly, because the development team mask the unfinished work so they do not get punished. Sound familiar?
Product or production issues that are having a direct material impact on your customers use of the product or service. Usually these become visible shortly after a new product or production release and must be addressed immediately.
Existing product or production issues are largely caused by technical debt described above. That simple thing also causes introduction of issues because the source code tends to be a group of hacks and it is hard to identify all the areas in which product enhancements will affect the rest of the product. Many times the existing customers discover the product is no longer working, and often in areas of the product you did not even touch.
Lifecycle generated issues are created as the development team builds and tests incremental work in process. These are normal and a feature cannot be delivered until these issues are rectified, otherwise the feature has not been build.
- Production or product issues that are having direct material impact on your customers must be fixed now.
- Existing product or production issues are features that your customers and the market is providing explicated feedback about your offering.
- Lifecycle generated issues must be fixed prior to delivering to your customers.
Now let’s consider how each of these issues are prioritized along with new feature work. Below is the priority of work if your organization is focused on delivering business value that delights your customers.
- Production or product issues that are having direct material impacton your customers.
- Lifecycle generated bugs.
- Existing product or production issues.
- Product backlog.
Consider what all the above have in common; they all require work to complete and they all provide business value. Because your organization requires rapid customer delight to maintain its relevance, business value must be the key driver. Business value needs to be realized by your customers; that downstream business value becomes your organizations ability to stay in business. We also need to realize that incremental minimum viable products (MVP) are the formula for success in today’s rapidly changing accelerated world, therefore choose your priority carefully.
Figure: Okay some bugs are less intimidating!
Image Credits: freepixelstock.com
Customer/Product Discovery cause iterations on MVPs and eventually product market fit (PMF) is delivered to your market allowing you to keep your existing customers and acquire new customers. For a discussion on how to manage your product/portfolio backlog/road-map please read this.
Now the epiphany, all work needs to be treated the same. That is it all needs to be prioritized by the business or Product Owner in Scrum terms. It all needs to be estimated by the development team, developed and delivered to your market.
Existing product or production issues are direct feedback from your customers about what they do not want. Your product backlog is a group of guesses from your organization about what you think your customers want.
– Tim Bertheau
In that context what gets developed first, existing issues or new features becomes obvious. Delight your existing customers and they will refer your offering to their network and you will acquire new customers.
Little Miss Muffet had it wrong. When that spider sat down beside her she should have thanked him for offering to help!
I would be interested how some of you have solved this problem, please comment here with you success or failures.
Image Credits: Los Angeles Times
– Tim Bertheau