Primo passo, parla con una vasta gamma di potenziali clienti e scopri quali sono i loro bisogni, cosa stanno attualmente utilizzando e cosa desiderano fare i loro prodotti attuali. Spendi 10 volte tanto a questo come pensi di aver bisogno in questo momento. Disegna su carta una potenziale GUI e invita le persone che intervisti a guardare i disegni e a dare suggerimenti. Se possibile, assumere alcune persone del settore come analisti aziendali per aiutare con questo passaggio. Chiedi informazioni sui requisiti legali. Alcune industrie hanno un sacco di problemi di complicanze legali e altre no. Qualunque cosa sia collegata in qualche modo al mondo medico e tu dovrai ricercare e comprendere appieno i requisiti HIPPA, per esempio.
Progettare la struttura del database e una GUI per far sì che alcuni utenti reali giochino con esso. Refactor basato su quello che dicono (è incredibile quante cose gli utenti lasciano fuori dalle richieste che raccolgono a cui non pensano fino a che non si trovano di fronte a una GUI reale).
Pensa a ciò che deve essere comune a tutti i potenziali clienti e dove potresti aver bisogno di personalizzazione - le tue interviste dovrebbero guidarti qui. Decidi come gestire la personalizzazione. O anche se lo permetteresti. Questo può dipendere molto dal settore e dal livello di standard delle loro pratiche.
Se si tratta di un software box, spesso il progetto include una tabella con campi personalizzabili che possono essere aggiunti a maschere e report dall'utente.
In una soluzione basata sul Web, spesso ogni utente che desidera la personalizzazione può disporre di un proprio database in cui sono archiviate le informazioni personalizzate (e un database centrale stand-by per le cose non personalizzabili) ei programmatori apportano le modifiche in base alle richieste dei client . Se segui questa strada, la seconda volta che esegui una personalizzazione similare per un secondo cliente, valuta se è necessario un refactoring per rendere questa una nuova funzionalità del software disponibile per tutti. Non è necessario scrivere 17 rapporti di presenza personalizzati che variano solo di uno o due campi quando il cliente può avere meno denaro con un rapporto standard.
Nel modello Web, è anche possibile creare un gruppo di moduli e fare in modo che i client selezionino e scelgano quale aggiungere alla propria soluzione personalizzata. Pagherebbero in base al numero e alla complessità dei moduli che scelgono. Quindi il cliente che vuole solo tre report standard pagherebbe meno del client che desidera tutti i 27. Quando viene suggerita una nuova personalizzazione, il client paga per lo sviluppo se il suggerimento non sembra applicabile per gli altri, ma il modulo è fatto in modo che anche altri possano comprarlo. Se altri lo comprano, il cliente originario che ha chiesto la modifica potrebbe ottenere una parte del denaro fino al pagamento dei costi di sviluppo. Potrebbero anche richiedere che qualcosa rimanga come un modulo personalizzato e pagare un prezzo molto più alto per questo lavoro. Abbiamo alcuni clienti che non vogliono nemmeno i loro dati sugli stessi server nella stessa posizione degli altri clienti. Inutile dire che applichiamo un enorme premio per fare qualcosa del genere.
La personalizzazione è costosa e può portare a molti più programmatori necessari. Considerare molto fortemente prima di andare al percorso di personalizzazione. Può davvero essere la cosa che vende la tua soluzione software, ma non si adatta bene. Non è male quando hai dieci clienti, ma quando ne hai un centinaio puoi perdere il controllo molto velocemente. È molto più difficile interrompere la personalizzazione dopo averla offerta, piuttosto che aggiungere la personalizzazione in seguito da una suite standard. Spesso la necessità di personalizzazione è più nell'organizzazione del reporting aziendale. Se è possibile creare un'interfaccia di reporting in cui le persone possano scegliere e scegliere quali informazioni desiderano e salvare i propri report personalizzati, è possibile gestire la maggior parte delle esigenze di personalizzazione nel proprio settore senza la necessità di una personalizzazione completa.
Potrebbe essere vero, se applicazione nello stesso dominio, in tal caso, l'applicazione si comporta come un prodotto per tutti ... –