Sto cercando di scoprire le tue decisioni su quando fare cosa. Sono felice di fornire più contesto, ma voglio renderlo generale per ora.
Sto cercando di scoprire le tue decisioni su quando fare cosa. Sono felice di fornire più contesto, ma voglio renderlo generale per ora.
Suppongo che sia eccessivamente semplificato, ma questo è vero come una linea guida generale:
e
Se sì, allora preferisco scriverlo piuttosto che comprarlo.
Se il costo totale di proprietà del prodotto (inclusi sviluppo, test, manutenzione, supporto o eventuali spese correlate) è superiore al costo del prodotto, e che il ritorno sull'investimento calcolato non compenserà questo costo, quindi è meglio acquistarlo e andare avanti.
Elementi da prendere in considerazione per una decisione di acquisto o di acquisto
costo di sviluppo / costo per manutenzione vs. costo del prodotto / costo per contratto di manutenzione: ovviamente, questa è la cosa ovvia, ma in realtà non è l'unica cosa. Ad esempio, se ho intenzione di utilizzare il software non solo per la mia azienda, ma anche di venderlo ad altri, il calcolo sembra abbastanza diverso
Disponibilità di un prodotto adatto. Per molti processi aziendali, non esiste un software standard di tipo shelving disponibile. Oppure c'è qualcosa di disponibile, ma non è adatto, perché contiene 100 funzionalità dalle quali è necessario solo 3 in un modo leggermente diverso, mentre mancano altre 2 funzionalità importanti.
Si vuole diventare dipendenti da un fornitore di terze parti? In particolare, i fornitori più piccoli offrono sempre il rischio che il fornitore svanisca dal mercato in futuro o che l'ulteriore sviluppo del prodotto non vada nella direzione richiesta. Per un prodotto che hai sotto il tuo controllo, puoi orientare molto meglio la direzione dello sviluppo.
Quando ho bisogno di un software specifico, e cosa va più veloce: svilupparlo da solo o acquistare qualcosa, adattarlo fino a quando non si adatta ai miei processi e lo si espande? L'acquisto di qualcosa dal shelving può sembrare un'alternativa più veloce ea volte più economica, ma personalmente ho visto anche scenari in cui sviluppare un software esattamente per le esigenze di un'azienda, adattarsi ai processi aziendali esistenti, risparmiare così tanto tempo rispetto all'acquisto di qualcosa e insegnare diversi centinaia di utenti che fanno il loro lavoro in un modo nuovo e diverso, che il costo di sviluppo era trascurabile.
Tutto ciò che ha a che fare con la crittografia. Ci sono 100.000 modi per sbagliare ed esporre il tuo software a gravi vulnerabilità della sicurezza e solo alcuni modi per farlo nel modo giusto. Per questo sono necessarie competenze elevate.
A livello personale, sviluppo una strana combinazione di ciò che voglio e di ciò che sarebbe interessante scrivere.
A livello professionale, @haylem fa un buon punto su quando comprare rispetto a quando scrivere. Dirò che c'è un enorme elemento che viene trascurato: opportunità. Per le aziende più grandi, a mio parere, spesso ha senso scrivere in modo personalizzato una linea di applicazioni aziendali (non quella di tutte di app di business), in tal caso, rendendo l'azienda più agile. C'è un costo opportunità associato all'acquisto di software perché la tua azienda (non solo il tuo IT) è bloccata nel modo in cui il fornitore guarda al tuo dominio.
Per la maggior parte delle cose, non importa. Il tuo sistema di contabilità sarebbe stato meglio non essere creativo. Il tuo word processor sarà lo stesso di chiunque altro. Ma le cose che ti rendono forse potrebbero essere meglio scritte in casa in modo che possa adattarsi a quello che la tua azienda sta cercando di realizzare.
È, come quasi ogni altra risposta ha detto, una decisione sui costi:
Dipende dal fatto che il costo, compensato dai vantaggi, di una soluzione sviluppata su misura sia inferiore al costo del prodotto standardizzato.
Ci sono anche dei costi di opportunità da considerare. Comprendi che questi non devono essere inclusi nei costi reali dello sviluppo rispetto all'acquisto, ma nel mondo più ampio, devi considerarli. Se il tuo personale di sviluppo interno sta lavorando a questo progetto, non stanno lavorando su nessun altro progetto; questo significa che se c'è un altro progetto sulla lista che ti costa denaro ogni giorno che non è fatto, potrebbe essere una priorità più alta che ti costringe a mettere da parte o addirittura annullare lo sviluppo personalizzato e andare con il pacchetto immediatamente disponibile. Tuttavia, se non facendo questo progetto significa che il personale interno è seduto sulle loro mani, il costo dello sviluppatore è affondato; stai pagando il tuo staff di sviluppo indipendentemente dal fatto che funzioni o meno, quindi ti costerà meno complessivamente se li stai utilizzando al loro potenziale.
Suppongo che tu stia chiedendo in un contesto professionale e commerciale e che stiamo parlando di una parte importante del tuo sistema piuttosto che di una singola libreria.
Ci sono situazioni in cui la tua organizzazione può utilizzare un prodotto disponibile in commercio. Ad esempio, poche persone scrivono il proprio word processor, usano MS Word o OpenOffice o altro. Lo stesso vale per i fogli di calcolo. Nota che potresti "personalizzare" il tuo word processor con i tuoi modelli o macro, ma le persone non lo considerano come personalizzazione. È solo "usare" il word processor, così come lo vedono.
Potrebbe essere possibile utilizzare sistemi più complicati allo stesso modo, dai negozi online ai sistemi ERP. Ma arriverà un punto in cui i tuoi designer o gli addetti allo sviluppo commerciale vorranno un cambiamento che non è incluso nello standard. Una riprogettazione della pagina di pagamento, forse, o un nuovo modo di calcolare le offerte di sconto.
Se lo sai dall'inizio, allora la tua decisione è davvero Crea o Personalizza . Solo Acquista non è più un'opzione. E anche se al momento non ci sono tali requisiti, ti aspetti dai tuoi colleghi di venire con loro più tardi?
Leggi altre domande sui tag project-management