Seilevel
Seilevel Home
Back to Blog Home - Requirements Defined

Friday, April 28, 2006

How to Deal with "Bonus" Features

Here’s the situation: You’ve created the best requirements document ever written. You are eagerly reviewing the output from the development team (High Level Design Documents if you are lucky, early releases otherwise). And then it happens… you find out that there are “features” coming from the development team that weren’t included in the requirements. This situation—developers adding features to the system that are not specified in the requirements—is known as gold plating.

What do you do?

Ideally, you stop the gold plating. Gold plating frequently indicates one or more organizational problems, such as:
  • The organization does not understand that gold plating is a problem and that there is a high cost for this unnecessary development in the form of additional testing, documentation, and maintenance.
  • The development process is not well-defined and the organization has not established a process for development which adheres to the requirements.
  • The development process is well-defined, but management has either failed to communicate it or failed to enforce it.

If there is an organizational problem, it will typically take some time to fix. Unfortunately, while product managers can be the catalyst for organizational change, we typically do not have the authority to impose change. If you can’t immediately stop the gold plating, how do you address this situation?

Features have been added to the system, so the entire team needs to know about them in order to properly address them: the documentation team will need to write about them, the quality assurance team will need to test them, etc. The information about these features should be added to the documents used within your organization to understand the capabilities of the system. If you have design documents, it will fit nicely there.

When the requirements documents are the primary documents used to understand the capabilities of the system, my line of reasoning says the information belongs there. However, these new features are really not requirements because the business unit has not asked for them. What’s a product manager to do?

I was recently faced with this situation. After soliciting advice from my colleagues, I decided the best approach would be to add the information about these features to an appendix in the Software Requirements Specification. It worked well as features were documented in an obvious location, yet not presented as requirements.

And, for those of you who are wondering, yes, the entire team is working on process improvement as well.

Requirements Defined Newsletter Bookmark and Share

1 Comments:

Anonymous Anonymous said...

You add the gold-plating features to the requirements and get client signoff, otherwise software testing can't incorporate them into the acceptance tests and the software is ultimately a failure.

There are markets like late mainstream where developer gold-plating will result in product failures. In the early mainstream markets gold plating might be acceptable. The product manager must face the market. If the features are wrong for the market, then the product manager must say no!

Keep in mind that in developer oriented companies, the developers win over marketing, but the market still determines if the company wins.

Also keep in mind that version 1.0 was created long before any product manager was hired. The end result is that the product is fit for geeks, but not real users. Desktop publishing is a good example. Typographers and printers talk about location in terms of points. The version 1.0 DTP package talked about location in inches and centemeters. Eventually, DTP was aligned with the real market.

6/03/2006 12:51 PM  

Post a Comment

<< Home