Alcune pratiche di sviluppo inefficaci sono state scelte così spesso, da così tante persone, con risultati così prevedibili e negativi che meritano di essere chiamati "errori classici" ...
Questa sezione elenca tre dozzine di errori classici. Ho visto personalmente ciascuno di questi errori commessi almeno una volta e ne ho fatti molti da solo ...
Il comune denominatore in questo elenco è che non si otterrà necessariamente uno sviluppo rapido se si evita l'errore, ma si otterrà sicuramente uno sviluppo lento se non lo si evita ...
Per facilità di riferimento, l'elenco è stato diviso in base alle dimensioni della velocità di sviluppo di persone, processo, prodotto e tecnologia.
Persone
# 1: motivazione indebolita ...
# 2: personale debole ...
# 3: dipendenti con problemi incontrollati ...
# 4: Heroics ...
# 5: aggiunta di persone a un progetto in ritardo ...
# 6: uffici rumorosi e affollati ...
# 7: attrito tra sviluppatori e clienti ...
# 8: aspettative non realistiche ...
# 9: mancanza di un'efficace sponsorizzazione del progetto ...
# 10: mancanza di buy-in degli stakeholder ...
# 11: mancanza di input dell'utente ...
# 12: Politica posta sulla sostanza ...
# 13: pio desiderio ...
Processi
# 14: Programmi eccessivamente ottimisti ...
# 15: Gestione del rischio insufficiente ...
16: fallimento dell'appaltatore ...
17: Pianificazione insufficiente ...
# 18: Abbandono della pianificazione sotto pressione ...
# 19: tempo perso durante il front end fuzzy. Il "front end fuzzy" è il tempo prima dell'inizio del progetto, il tempo normalmente impiegato nel processo di approvazione e budget ...
# 20: Attività a monte modificate ... Conosciuto anche come "saltare in programmazione" ...
21: design inadeguato ...
# 22: garanzia di qualità modificata ...
# 23: Controlli di gestione insufficienti ...
# 24: convergenza prematura o troppo frequente. Poco prima che un prodotto sia programmato per essere rilasciato, c'è una spinta per preparare il prodotto al rilascio: migliorare le prestazioni del prodotto, stampare la documentazione finale, incorporare i ganci del sistema di aiuto finale, lucidare il programma di installazione, stub funzionalità che non sarà pronto in tempo, e così via ...
# 25: omettere le attività necessarie dalle stime ...
# 26: Pianificazione di recuperare più tardi ...
# 27: Programmazione simile al codice. Alcune organizzazioni pensano che la codifica veloce, libera e all-as-you-go sia una via per un rapido sviluppo ...
Prodotto
# 28: requisiti di doratura. Alcuni progetti hanno più requisiti di quelli necessari fin dall'inizio ...
# 29: Creep Feature ...
# 30: placcatura in oro per gli sviluppatori. Gli sviluppatori sono affascinati dalle nuove tecnologie e talvolta sono ansiosi di provare nuove funzionalità ... - se è richiesto o meno nel loro prodotto ...
# 31: spingimi, tirami trattativa ...
# 32: sviluppo orientato alla ricerca. Seymour Cray, il progettista dei supercomputer Cray, afferma di non tentare di superare i limiti ingegneristici in più di due aree alla volta perché il rischio di fallimento è troppo elevato (Gilb 1988). Molti progetti software potrebbero imparare una lezione da Cray ...
Tecnologia
# 33: Sindrome del proiettile d'argento ...
# 34: Risparmio sopravvalutato da nuovi strumenti o metodi ... Un caso speciale di risparmio sopravvalutato sorge quando i progetti riutilizzano il codice di progetti precedenti ...
# 35: Cambio di strumenti nel mezzo di un progetto ...
# 36: Mancanza di controllo automatizzato del codice sorgente ...