Se leggi il blog di Seth Godins ( http://sethgodin.typepad.com/ ) vedrai lo stesso messaggio che viene ripetutamente:
- Spedisci qualcosa (e ascolta il feedback)
- Non cercare di soddisfare tutte le persone per tutto il tempo.
Ho avuto un problema simile a te con un prodotto che vendo. Ho ricevuto ogni tipo di richiesta per ogni tipo di funzionalità. L'applicazione è diventata più complessa di quanto volessi davvero. Ogni opzione aggiunge complessità, qualcosa che volevo evitare. E ora ho più complessità di quanto vorrei.
In questo modo piace più utenti. E allontana gli utenti che lo trovano troppo difficile da configurare.
Avere una configurazione semplice / avanzata è una via d'uscita. Fino a un certo punto. Rende il tuo sviluppo più complesso, però.
In tutti i casi in cui ricevo una richiesta, rispondo sempre educatamente. A volte mi rifiuto completamente, anche se questo è raro. E dove lo faccio, spiego perché, di solito sarebbe in risposta a una richiesta che richiederebbe il rinnovamento dell'intera interfaccia utente, un'impresa così massiccia che non ci andrei. In tal caso spiego i miei motivi, ma ringrazio l'utente per la richiesta.
In TUTTI i casi, compresi quelli che rifiuto immediatamente, li registro nel database delle caratteristiche e difetti per essere preso in considerazione per la prossima versione. Questo concede un po 'più di tempo per pensarci su, e forse verrà in seguito con un'alternativa che non è esattamente ciò che è stato richiesto, ma potrebbe aggiungere un valore.
Se una richiesta di funzionalità è stata considerata, annotata e alla fine (al momento dello sviluppo) viene presa la decisione di ucciderla, la chiudo. Altrimenti vengono lasciati aperti per la riconsiderazione più tardi.
Questo non è un approccio perfetto, ma alla fine come autore del software hai determinati principi di progettazione che devi rispettare o abbandonare. La scelta di ciascun approccio deve essere attentamente considerata.