I processi pianificati e quelli agili per il software possono essere rapidamente caratterizzati da alcune coppie.
- Cascata vs iterativa / incrementale
-
Watts Humphrey contro Kent Beck.
- Gestione guidata vs. team driven.
- SEI CMM vs. manifesto Agile.
- Progetto Microsoft contro elenchi di masterizzazione
- Rassegna intermedia xyz vs scrum si incontrano.
- Versione annuale vs. build giornaliera.
- Ispezione codice contro programmazione coppie
- Pianificazione degli orari rispetto al gioco di pianificazione.
- Comitati vs visionari.
In qualche modo, questa domanda ha già ricevuto risposta dal Agile Manifesto , ma invece di leggere da sinistra a destra, leggi da destra a sinistra.
- Individui e interazioni su processi e strumenti
- Software di lavoro su documentazione completa
- Collaborazione con il cliente per la negoziazione del contratto
- Risposta al passaggio successivo a un piano
Alcuni dei confronti sopra riportati possono essere un po 'aspri, perché certamente c'è un sacco di sviluppo basato sulle funzionalità che è prassi con pianificato, e le pubblicazioni possono essere trimestrali (ma probabilmente non mensilmente).
I migliori pensatori dietro il processo pianificato sono stati influenzati da problemi con approcci ad-hoc o poco adatti a software come quelli descritti in Mythical Man-Month. Già nel 1968, la NATO ha tenuto una conferenza sull'ingegneria del software per cercare di risolvere la crisi e a quel punto. Penso che abbiano avuto delle grandi innovazioni. Pagina 12 del loro rapporto della conferenza ha un disegno notevole che descrive la cascata ma con le curve invece di scatole. Include anche materiale sulle sfide della stima dei progetti software. Successivamente, gli esperti di processo software pianificati hanno preso in prestito e rubato dai pionieri del controllo qualità come Demming e dai numerosi esperti giapponesi che hanno dimostrato il loro valore nella produzione di automobili ed elettronica.
Penso che i migliori pensatori agili fossero estremamente familiari con il processo pianificato e reagirono contro i suoi limiti, pur mantenendo alcuni dei suoi punti di forza. Il processo pianificato non ha perso tutta la sua rilevanza e alcuni sostengono che sia essenziale per i grandi progetti. Pianificato è ancora ampiamente utilizzato, in particolare nelle grandi organizzazioni, ma molti cercano di ibridarsi con tecniche agili. Forse sono pianificati approcci progettuali di System of Systems, ma hanno una buona caratteristica di creare piccoli team che è un posto più pratico per l'agile. Pianificato era sensibile alla necessità di sartoria locale, ma si aspettava che sarebbe stato facilitato da riunioni e comitati.
Grandi riferimenti a questo argomento includono libri, articoli e rapporti tecnici di Watts Humphries sul gruppo organizzativo e processo del software personale. Confrontate quelli con le sezioni introduttive di Kent Beck da Programmazione eXtreme illustrata .
Uno dei miei professori ha descritto la storia dello sviluppo del software qualcosa del genere:
- Anni '70: Strumenti - un'esplosione cambriana di sistemi operativi, linguaggi di programmazione e strumenti
evoluzione.
- Anni '80: Processo - non incolpare le persone, incolpare (e correggere) il processo.
- Anni '90: persone - potenziano il processo decisionale e le comunicazioni e le interazioni tra le persone.