Reconciling Maintenance And New Releases

By Jacques Murphy August 15, 2007

from PRODUCT MANAGEMENT CHALLENGES
A Newsletter of Tips For Companies that Develop Software

One challenge facing a Product Manager is how to balance limited Development resources between the need for maintenance work on the one hand and for new capabilities on the other. Devoting too many resources to one or the other can cause your product to be out of whack and lose ground to competitors who do a better job of mastering that balance.

With limited resources, it is always a struggle to determine what portion to devote to maintenance over new features. It's a little like trying to fight a two-front war: each front draws precious attention and time, and requires careful consideration of priorities. Too much spent on one front may cause you to lose on the other. And as the need for maintenance grows as your customer base grows, your more mature product is probably facing stiffer competition as its market matures and moves towards commoditization. All the while, you can't afford to neglect your base of existing customers.

Read on below for a discussion of what you need to consider as you continually strike a balance between development on maintenance releases and on new feature releases.

Taking the Patient's Vital Signs

I view how a Product Manager monitors the status of the product as taking the patient's vital signs. It's a never-ending task. You will always need to have an eye toward whether there are bugs, how many and how severe they may be, and how they are affecting customer satisfaction. Is your product critical? Stable? In guarded condition? In good health?

The ongoing effort to be on alert for signs of instability means that you can respond quickly when problems surface.

Why You Need Maintenance

If you ask most developers, maintenance work on a software product is not something they enjoy or want. It's boring compared to creating new features. It's often a thankless task. You get flak from customers when something doesn't work, then when you fix it, you get silence.

But maintenance work is vital to the effective use of your product. Most new capabilities are done quickly and without completing all requirements (perhaps not even thinking through all requirements), so there are always details that need to be finished. More importantly, it is only after customers begin to actually use a capability that real-life scenarios and needs lead to the discovery of design limitations and gaps. There is no way that certain uses and scenarios could have been foreseen during the initial design.

Rounding out limitations and closing gaps leads to great improvements in the software. The polished product that results is impressive and highly competitive. Prospects clearly see that you have given careful thought to the design. By anticipating needs they don't, you are providing a product which will significantly improve how they do things.

And that's not even addressing the issue of bugs. When your software doesn't work as documented, you absolutely must fix it, as soon as realistically possible.

It is vital for the competitive success of your product that it garner a good reputation in the customer base. This leads to more sales, and having better maintenance and customer service than your competition may result in as many sales as having better capabilities.

Why You Need New Capabilities

New capabilities are sexy and fun to show. They dazzle prospects during the sale. When your product's new features provide a distinct advantage over what the prospect has today, they are enough to motivate companies and individuals to overcome the inertia of staying with their existing situation in order to migrate to new technology.

Markets are constantly on the move with new requirements and capabilities. Your competitors are always trying to catch up with each other and with your product, or you with theirs. If you do not build enough new capabilities, you risk falling behind the competition, or at least lessening your lead if you're out in front. And with a smaller lead, fewer prospects may be willing to overcome their inertia and purchase your product.

So neglecting new capabilities can harm your competitive position and new sales.

Urgency vs. Importance

Probably the biggest challenge with maintenance work is that bug fixes and improvements called for by customers are always more urgent than new features. This can easily put you in the position of delaying development of new capabilities again and again.

In the book Seven Habits of Highly Effective People, Stephen R. Covey explains the significance of distinguishing between urgent matters and important ones. Urgent matters are always urgent. And they may be important. Chances are you will naturally focus on urgent matters that are also important. But the problem is that people tend to neglect matters which are important but NOT urgent.

You must learn to pay attention to the development of new capabilities, ones that are important, well before they become urgent. Chances are when they have become urgent, it's a sign that your product is behind and has to play catch-up. That's never a good place to be.

The Heady Startup Days

The startup days for a product are always easier and more fun, at least as far as Development is concerned. There are no customers, or very few, so there are few bugs and maintenance fixes required. Programmers get to have fun creating new capabilities that make them look like geniuses and that are fun to build from scratch.

There is nothing wrong with spending little time on maintenance work during the startup phase of your product. But Product Management must shoulder the burden of guiding the company and the product towards more responsible, and less appealing, maintenance activities as your customer base grows and the product matures.

Damn the Torpedoes, Full Speed Ahead

In its zeal to gain competitive advantage and grab market share, your company may put too much effort into creating new capabilities when there are critical bugs that need fixing and noticeable gaps that need filling. Truly, new capabilities may be just what you need in order to obtain mindshare among both prospects and industry analysts. But if you're not careful, this risk-taking attitude can become foolhardy rather than brave.

It's crucial to always take a reading of the patient's vital signs to determine whether it's time to slow down and mind the torpedoes before they hit you.

Cautious to a Fault

It's also easy to give too much weight to bug fixes and customer requests at the expense of new development. There will always be a steady stream of requests from customers, and your coworkers can clearly see who can benefit from a suggested improvement and why because they your customers tell them directly. But if you wait until you think the product is completely stable and defect-free before moving on to new features, you will wait forever.

At some point you need to realize that creating new capabilities at the expense of some maintenance work is a risk that is worth it in order to remain competitive. Remember that competitors are always trying to develop new features, and you don't want to hand them advantages that could cost you sales.

Judging Priorities

As Product Manager, you need to apply as systematic an approach as possible to measuring and judging the relative priority of specific new capabilities compared to specific maintenance work. This helps add a little science to the art of prioritizing software development work.

Categorize development requests so that their benefit is clear. For example, you might break benefits out into those that provide Customer Satisfaction (bug fixes), Usability (filling in design gaps), Competitive Matching (catching up with competitors), Feature Leadership (pulling ahead of competitors), Sales Appeal, and Cost Cutting.

If you can, assign a Value score to features so that you can more consistently weigh the benefits of maintenance work versus new development.

You Can't Build on Shaky Ground

If your product has too many defects or gaps in its design, you may find that putting in new features doesn't get you the sales you had hoped. That's because the customer satisfaction issues will hold it back. Your reputation will suffer, and your references will not be positive enough to win more sales. While the product, like a patient, doesn't have to be in top condition, it must be in stable condition, improving slowly and steadily without any sudden drop in vital signs.

It Will Never Be Perfect

I always like to say that when you develop software, you create bugs. Somewhere out there are development teams that magically create software with no defects. They must exist, judging by some of the claims. I just have never found any myself. So your product will always have defects, or areas that aren't really defects, but which could stand a little improvement (or a lot).

You can't wait for the product to be perfect before you launch into development of new features. Otherwise you'd never start, and after a year of inaction you will have fallen behind in the marketplace.

Return to Me

One way to cut back on maintenance work is to carefully measure the return that can come from the many suggestions by existing customers for design improvements. A customer can make a compelling case for a new feature, but you'd be surprised how idiosyncratic an individual customer's operation can be. An inflexible customer will argue strongly for new maintenance work, but their inflexibility may very well mean they don't do their work the way most of your customers and prospects do.

Review suggestions for maintenance work with a number of customers before you determine that it will bring a good return.

Squeaky Wheel Customers

Some customers are squeaky wheels. They'll push harder than others for changes, not just fixes, that support quirky uses of the software. Remember that work on features just to appease them, even though they are not very valuable to other customers or prospects, takes work away from competitive features that will win you new sales. Working with a number of customers to review these suggestions and judge their relative and absolute merit can help you keep suggestions from squeaky wheel customers in check.

High Maintenance and High Return

Just because a customer sounds like a squeaky wheel doesn't mean their suggestions are automatically suspect. It's important not to get stuck on the principle that demanding customers aren't worth the extra cost. When you spend extra effort on certain customers, which means they cost more, but they bring more to you overall in the form of sales references, marketing stories, word-of-mouth referrals, or great feature suggestions, then your high maintenance customer may be worth every penny.

Torn Between Two Necessary Goals

The considerations above are the main ones that Product Management needs to balance in order to have a product that effectively competes and gains market share. This requires constant accommodation of two goals that compete with each other, yet are both necessary to a positive outcome for your product and its competitive position.

Categories: Working with Development Requirements
Jacques Murphy

Jacques Murphy

Jacques Murphy is a consultant who helps software companies develop their products faster. He does this using a focused process which quickly develops product requirements. Contact him at www.ProductManagementChallenges.com.

.

Looking for the latest in product and data science? Get our articles, webinars and podcasts.