Comments & Opinions |
Home Page | Comments | Articles | Faq | Documents | Search | Archive | Tales from the Machine Room | Contribute | Set language to:en it | Login/Register
Fino a qualche tempo fa (sto' parlando di fine anni '80 e inizio anni '90), tutti i manuali ed i corsi di sviluppo software spiegavano coscenziosamente che lo sviluppo di un programma si compone di 4 fasi separate: per prima cosa si fa la Raccolta dei Requisiti, dove qualcuno (il Capo Progetto?) parla con gli utenti per sapere cosa vogliono che il software faccia, poi viene la fase di Analisi, dove qualcun'altro (l'Analista) si mette a pensare molto intensamente a come fare si che il software faccia cio' che gli utenti vogliono, poi viene la fase di Codifica, dove uno o piu' Programmatori (ah! questa vituperata parola) scrivono il programma mettendo in pratica cio' che l'Analista ha deciso, dopo di che si passa alla fase di Debug e Documentazione, dove tutti gli errori vengono risolti e si scrive il Manuale Utente.
Ora, tutti quelli che hanno fatto i programmatori per un po' sanno benissimo che questa bella favoletta non funziona in realta'. I "Requisiti" sono un miraggio irraggiungibile, gli utenti sanno benissimo cosa vogliono (fare niente ed in fretta), ma non possono dirlo e non hanno la piu' pallida idea di cosa il software dovrebbe fare, l'Analista non puo' analizzare il niente che il Capo Progetto non gli ha dato, quindi la scrittura del codice e' della serie "hodge podge", aka: tu scrivi quello che ti pare e poi vedremo come metterlo a posto, chiaramente, se questo e' l'inizio, possiamo immaginare come sara' la fase di 'debugging'...
Ok, e' il momento di revisionare le cose, via la noiosa procedura tanto cara alla 'vecchia scuola' ed arriva la modernizzazione: Extreme Programming! RAD! Continous Revisioning Process! Che gia' a sentirli uno si spaventa... Se poi scopre quello che significano...
Extreme Programming... che uno si immagina di saltare dall'aereo con il laptop ed aprire il paracadute solo quando il programma funziona... invece che e'? Invece dei "Requisiti di Sistema" ci sono le "User Cases"... che si somigliano sospettosamente... invece dell'Analisi c'e' il Relase Planning... invece del debugging ci sono le "Iterations"...
Poi c'e' il RAD (Rapid Application Development), che secondo me e' un refuso ed era RSD (Rapid Screw-up Deployment), dove, invece di far scrivere il codice ad un programmatore che sa quello che sta facendo, si usa un'accrocchio precostituito, che non funziona uguale, ma fa' tanto high-tech a vederlo.
Poi viene il Continous Revisioning Process, che non e' lo stesso che 'ci abbiamo la nuova release, vuoi fare l'aggiornamento'.... noooooo....
Contemporaneamente, c'e' stato un'aggiornamento nella terminologia... non si parla piu' di 'problemi', ma di 'challanges', non esistono piu' 'errori' o 'bugs' ma 'issues'...
Ed io resto a chiedermi... ma che fine hanno fatto i vecchi programmatori? Quelli che scrivevano il codice che funzionava?
Davide
Davide Bianchi
22/03/2008 00:00
Comments are added when and more important if I have the time to review them and after removing Spam, Crap, Phishing and the like. So don't hold your breath. And if your comment doesn't appear, is probably becuase it wasn't worth it.
non e' vero che ... By Anonymous coward posted 20/07/2009 14:00
This site is made by me with blood, sweat and gunpowder, if you want to republish or redistribute any part of it, please drop me (or the author of the article if is not me) a mail.
This site was composed with VIM, now is composed with VIM and the (in)famous CMS FdT.
This site isn't optimized for vision with any specific browser, nor
it requires special fonts or resolution.
You're free to see it as you wish.