fc

Principios Universales del Diseño: Feature creep

En esta entrada hablaré sobre la caracteristiquitis (palabra que acabo de inventar) o featuritis, del inglés feature, que quiere decir característica. La caracteristiquitis es un fenómeno en el que un producto, sea una app, un sitio web, o un objeto, le se agregan características adicionales a las que fueron planeadas originalmente y que van más allá de sus funciones básicas.

Normalmente es provocado por programadores o directores excesivamente ambiciosos y es considerado como algo malo para un proyecto. A las personas o proyectos que padecen de caracteristiquitis también se les conoce como feature creeps.

La caracteristiquitis provoca que un programa o producto que estaba originalmente planeado para cumplir una sola tarea, cumpla diez, de manera deficiente. Esto puede resultar en una complicación del diseño, ya que agregar características agrega complejidad y la complejidad agrega costo.

Ejemplos

https://en.wikipedia.org/wiki/File:The_Vasa_from_the_Bow.jpg
El Wasa

En 1626 Suecia construyó un barco llamado Wasa. Estaba equipado con 64 cañones de bronce y una tripulación de 300 personas. También llevaba cientos de esculturas y obras de arte por muchos de los mejores artistas de esa época. Se dice que es el barco de guerra mas imponente jamas creado.

Al barco,  que originalmente fue diseñado para cargar 34 cañones, le cargaron 64, para acomodarlos fue necesario construir una nueva cubierta. Los ornamentos y esculturas también agregaron suficiente peso exceder su capacidad original, lo que provocó que el barco se hundiera 1300 metros después de zarpar por primera vez.

http://techwhirl.com/wp-content/uploads/2013/06/WordToolbars.jpg
Barras de herramientas de Microsoft Word 2003

Otro ejemplo son las barras de herramientas de las versiones antiguas de Microsoft Word. Que están llenas de características que se fueron acumulando con el tiempo y que pueden afectar el rendimiento del programa hasta hacerlo inusable.

¿Por qué ocurre?

  1. Por el deseo de proveer al cliente con un producto más deseable o usable (más es mejor).
  2. Comunicación deficiente entre los miembros del proyecto o con el cliente.
  3. No llevar un buen control de cambios.
  4. No definir correctamente el alcance del proyecto.
  5. Por que las características son fáciles y convenientes de agregar, común en el desarrollo de software.
  6. Por que las características se van acumulando con el tiempo.
  7. Para llamar la atención de los stakeholders internos del proyecto. (Problema de la audiencia interna, en el que la gente de marketing o los diseñadores creen saber que es lo mejor para el cliente y muchas veces están equivocados).

¿Cómo se puede evitar?

  1. Estar a la búsqueda de características innecesarias durante la fase de diseño y desarrollo del proyecto.
  2. Asegurarse de que las características del proyecto estén vinculadas con necesidades del cliente y que no se agregan por conveniencia o por complacencia.
  3. Cuando se actualiza el diseño, además de preguntarse ¿Qué características se pueden agregar?, también cuestionarse ¿Qué características se pueden retirar?.
  4. Definir características mínimas necesarias para que el producto pueda funcionar.
  5. Crear una meta para fijar formalmente las especificaciones del proyecto, fijar significa que no habrá más cambios.

En el mejor de los casos, la caracteristiquitis modifica el alcance de un proyecto, incrementando el tiempo y costo con un impacto nominal en el rendimiento y la experiencia del cliente. En el peor de los casos genera problemas involuntarios de usablilidad y rendimiento que pueden acabar con un proyecto.

Más información/Fuentes:

One thought on “Principios Universales del Diseño: Feature creep

  1. odio miiil la barra de word 🙁 y estoy d acuerdo q en muchos muuuchos casos el menos es más ya q lo importante no es el atiborramiento de funciones y el despliegue de habilidades de los programadores sino que sea sencillo y navegabable para el usuario! he dicho!

Leave a Reply