Si lees el blog de Seth Godins ( http://sethgodin.typepad.com/ ) verás el mismo mensaje una y otra vez:
- Enviar algo (y escuchar los comentarios)
- No intentes complacer a todas las personas todo el tiempo.
Tuve un problema similar con un producto que vendo. He tenido todo tipo de solicitudes para todo tipo de características. La aplicación se ha vuelto más compleja de lo que realmente quería. Cada opción agrega complejidad, algo que quería evitar. Y ahora tengo más complejidad de la que me gustaría.
Hacer esto agrada a más usuarios. Y ahuyenta a los usuarios que consideran que es demasiado difícil de configurar.
Tener una configuración simple / avanzada es una forma de salir del enlace. Hasta cierto punto. Sin embargo, hace que su desarrollo sea más complejo.
En todos los casos donde recibo una solicitud, siempre respondo cortésmente. A veces me niego rotundamente, aunque esto es raro. Y cuando hago esto, explico por qué, por lo general, sería en respuesta a una solicitud que requeriría la renovación de toda la interfaz de usuario, una empresa tan masiva que simplemente no iré allí. En ese caso explico mis razones, pero agradezco al usuario por la solicitud.
En TODOS los casos, incluidos los que rechazo de inmediato, los registro en la base de datos de características y defectos para su consideración en la próxima versión. Esto permite un poco más de tiempo para pensarlo todo, y quizás aparezca más tarde con una alternativa que no sea exactamente lo que se solicitó, pero que podría agregar algún valor.
Si se ha considerado, anotado una solicitud de función, y finalmente se toma la decisión (en el momento del desarrollo) de eliminarla, la cierro. De lo contrario, se dejan abiertos para su reconsideración más tarde.
Este no es un enfoque perfecto, pero al final, como autor del software, tiene ciertos principios de diseño que debe seguir o abandonar. La elección de cada enfoque debe considerarse cuidadosamente.