How does a programmer figure out multiple uses or applications for the original software he/she has written.
L'ho visto fare spesso e nonostante ciò che altre risposte dicono sistematicamente. Viene eseguito suddividendo e raggruppando le operazioni dell'applicazione in base alle funzionalità che eseguono. Scoprirai che ci sono molte diverse categorie che si sovrappongono. Poi pensi a quali tipi diversi di clienti potrebbero aver bisogno nella categoria generale della tua app. Decidi quindi quali dei clienti desideri perseguire e inserire le funzioni di cui hanno bisogno.
Ecco un esempio forzato. Diciamo che hai scritto un'applicazione per fare alcune manipolazioni fotografiche. Puoi suddividere le tue applicazioni in varie operazioni: correzioni del colore, distorsioni, stilizzazione, sfocature, nitidezza, ecc.
Successivamente, pensa ai tipi di clienti che potrebbero voler manipolare le foto. Hai fotografi d'arte e di riviste di fascia alta che hanno bisogno di molte opzioni, molto controllo e buone prestazioni. Hai utenti di fascia media che hanno bisogno di fare un insieme più limitato di operazioni moderatamente complesse per cose come fotografia di matrimonio, fotografia di eventi aziendali, ecc. Infine, hai utenti di fascia bassa che stanno scattando foto con i loro telefoni e vogliono fare qualche riparando, ma con una quantità minima di controlli, e probabilmente vuoi aggiungere alcune stilizzazioni stravaganti alle loro foto.
Infine, guardi al mercato per ognuno di questi. Gli utenti di fascia alta sono pochi e distanti tra loro, ma puoi caricare un braccio e una gamba se il tuo software è abbastanza buono. Ci sono più utenti di fascia media e pagheranno perché è per lavoro, ma solo così tanto. Gli utenti di fascia bassa sono abbondanti, ma vogliono o gratuitamente o hanno un costo molto basso.
Armati di queste informazioni, pensi a quale combinazione di software esistente, utenti e dimensioni del mercato puoi raggiungere e scegli le funzionalità per la tua nuova app o app basate su quella.
Se fai attenzione a come costruisci le cose, puoi renderle espandibili e puoi rendere diverse app gratuite. Ad esempio, gli utenti potrebbero iniziare a voler aggiungere solo distorsioni stupide alle proprie foto personali. In seguito potresti creare un servizio in cui possono caricarli e condividerli. Puoi anche creare un'app di medio livello che faccia cose più serie. Puoi riutilizzare il servizio di condivisione delle foto, ma ridiscutarlo e creare modelli più belli per gli utenti di fascia media. Ecc.
Potresti anche scoprire che ciò che è iniziato come un tipo di app ha pezzi che possono essere riutilizzati da altri tipi di app. Ad esempio, quei filtri fotografici potrebbero funzionare su video. O forse gli sviluppatori di giochi hanno bisogno di loro per creare le loro opere d'arte. Diamine, forse c'è anche un serio uso scientifico per alcuni di loro!