Qué es el gold plating y cómo evitarlo

El término gold plating hace referencia a una mala práctica que consiste en ampliar la funcionalidad de un producto o servicio sin un motivo claro desde el punto de vista metodológico y de gestión. La persona encargada de crear un producto le añade características que no están incluidas en la documentación aprobada, y lo hace generalmente sin el conocimiento, las indicaciones y el respaldo de la dirección del proyecto. Es un error especialmente lamentable, ya que no tiene una causa externa directa: surge en el seno del proyecto y es generado por el propio equipo. En español, se emplea a veces la traducción bañado en oro.

Cómo identificar el gold plating

Aparece generalmente en dos fases del proyecto:

  • Toma de requisitos. Sucede cuando se modifican los requisitos funcionales para introducir funcionalidad compleja que no suscita un interés real en el cliente, y que no está respaldada por un caso de negocio u otro tipo de propuesta formal. También puede ocurrir con los requisitos no funcionales, elevando los criterios iniciales de rendimiento, disponibilidad del servicio, tiempos de respuesta, etc.
  • Creación del producto. Es el caso más común, especialmente en proyectos TI, los más afectados por esta mala práctica, donde a la etapa de fabricación de producto se la denomina desarrollo. Aparece cuando el desarrollador decide por su cuenta mejorar el producto, alterando lo definido en la documentación de análisis y diseño, ampliando la casuística inicialmente contemplada para incorporar nuevas características o empleando tecnologías novedosas que complican la implementación.

Por qué es una mala práctica

No es difícil encontrar opiniones favorables, especialmente de desarrolladores que ven en esta mala práctica la oportunidad de conseguir ciertos réditos personales. He aquí algunos ejemplos frecuentemente utilizados para justificar el fenómeno, y que pueden distraernos de las verdaderas consecuencias del gold plating:

  • Al cliente le ha gustado la nueva funcionalidad. No la esperaba y ha sido una sorpresa agradable.
  • La mejora introducida ha sido una de las opciones más utilizadas de la aplicación informática.
  • La novedad técnica es bienvenida y cuenta con el visto bueno de otros técnicos.
  • Es conveniente dejar libertad absoluta al creador, de lo contrario se perjudica la calidad y se castiga la creatividad.

Sin embargo, los efectos del gold plating son casi siempre perjudiciales y su impacto en la planificación del proyecto suele ser elevado. Quizá no sea tan evidente comprobar el precio que se paga:

  • Prioridades. El equipo permite que pase a un segundo plano el verdadero objetivo del proyecto: entregar un producto o servicio de acuerdo a los requisitos, tiempo y presupuesto acordados.
  • Decisiones. Este apartado es especialmente delicado, ya que quien incurre en gold plating acaba cometiendo dos errores. Por un lado, toma decisiones que no le competen, ya que no cuenta con el cliente ni el director de proyecto. Por otro lado, toma decisiones equivocadas: ¿era imprescindible para el cliente incluir una nueva características de la que no había oído hablar? Quizá lo más importante era la fecha de entrega, el presupuesto, la disponibilidad de recursos para otros proyectos…
  • Recursos. El gold plating es en esencia un sobreesfuerzo injustificado, y por tanto tiene una consecuencia directa: se malgastan recursos de todo tipo (horas/hombre, recursos informáticos, presupuesto, etc.).
  • Complejidad. Se añade complejidad al producto y su implementación, y ello puede revertir negativamente en tareas de documentación de análisis, diseño, requisitos, manuales, etc., así como en el mantenimiento futuro del producto o servicio.
  • Frustración. En ocasiones detrás del gold plating se esconde la intención, más o menos loable, de colgarse una medalla. No valorar con entusiasmo una funcionalidad extra puede causar frustración en ese desarrollador que, sin tener en cuenta las consecuencias anteriormente descritas, incurre en gold plating por puro perfeccionismo y cree haber realizado un esfuerzo colosal y digno de aplauso.

Estrategia para evitar el gold plating

En un proyecto hay múltiples factores que favorecen la aparición del gold plating, y por tanto la mejor estrategia es considerarlo un riesgo. Para evitarlo o para mitigar sus efectos es necesario actuar de manera continuada en cinco frentes:

  1. Dirección. Establecer con claridad meridiana las líneas de trabajo y el rumbo a seguir. Una labor de coordinación deficiente puede ser causa de interminables problemas.
  2. Gestión de equipos. Ingenieros y programadores no deben trabajar en solitario, hacerlo en equipo y estar sujeto a dependencias reduce el riesgo de desviaciones por gold plating.
  3. Responsabilidad. Un buen reparto de roles y responsabilidades lleva implícito mecanismos de contrapeso que pueden evitar malas prácticas. La concentración excesiva de competencias dificulta la detección del gold plating.
  4. Monitorización y control. Para prevenir desviaciones innecesarias es imprescindible que las tareas se deleguen correctamente. Además, evitar el gold plating a menudo exige conocimientos técnicos muy específicos, especialmente cuando se produce en la fase de desarrollo del producto. Por ello es necesario no conformarse con las explicaciones de alto nivel, sino bajar más al detalle y preguntar, indagar y aclarar.
  5. Expectativas. Detrás de cada caso de gold plating siempre se esconde el mismo problema: una muy mala gestión de expectativas. Lo que el cliente espera se entiende mal y se distorsiona. Conviene por tanto llevar a cabo una buena gestión de expectativas, aclarando completamente qué está incluido (y qué no) en el alcance del proyecto, documentándolo, revisándolo y recordándolo frecuentemente.