Gold Plating: Causes, Consequences and Prevention
Wikipedia provides a good explanation of Gold Plating as, "the phenomenon of working on a project or task past the point of diminishing returns. For example: after having met the requirements, the project manager or the developer works on further enhancing the product, thinking the customer will be delighted to see additional or more polished features, rather than what was asked for or expected. The customer might be disappointed in the results, and the extra effort by the developer might be futile"
Based on my experience, here are the causes of Gold Plating, its consequences and how to prevent it
- In some companies, the Project Manager / Developers add additional features to placate the client, when the client is not happy about the bugs and/or delayed deliverables
- When the developers don't understand the Scope/requirements, rather than clarifying with the client, the developers just add the features the client didn’t specifically want
- In a few cases, I have seen the Developers add the functionalities without informing or consulting with the Project Manager, because they wanted to “experiment some new technical feature", or "to prove their expertise to the PM or to the client". These developers consider Projects as technical experiments
- Gold Plating creates more code, and more code increases the potential for Bugs. Bug-fixing takes its own time, and you need to re-test. The original intention of pleasing (or at least placating) the client goes for a toss
- It delays Project completion and generally increases the Project Cost. You also lose the opportunity to "sell" these additional features
- While a few gold plated items may be interesting for the clients, their primary need is the software with the features they requested, and the bugs fixed. Clients with unmet needs aren’t happy
- Educate the entire Project Team (Business Analysts, Developers, Testers, etc.) about Scope Creep and its consequences. Train them to spot gold plating when someone does that. For example, Testers should be able to raise an alarm if he/she notices gold plating by developers. During Code Review, other Developers should be able to spot Gold Plating
- Double check the complex requirements to ensure they are broken down to easily understandable tasks. If your team members are hesitant to seek clarification from PM or the BA, you may even want to add what is not part of that requirement
- Consider introducing Agile practices. When Developers tell what they plan to do today or what they did yesterday in the Daily Stand-up (Scrum) meetings, the team will most likely catch the Gold Plating practices. There are plenty of other benefits too.
Published at pmmagazine.net with the consent of Seyed Ibrahim