Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > it.comp.www.php > #21255
| From | Alessandro Pellizzari <shuriken@amiran.it> |
|---|---|
| Newsgroups | it.comp.www.php |
| Subject | Re: Metodologie Agile |
| Date | 2016-10-31 17:27 +0000 |
| Message-ID | <e7pd8bFlmduU1@mid.individual.net> (permalink) |
| References | <nv767a$oc2$1@dont-email.me> <e7oojlFgp2jU1@mid.individual.net> <nv7n0m$ijp$1@dont-email.me> |
On 31/10/2016 15:12, Gerry wrote: > Neppure io, però ho preso atto molto presto che è impossibile > documentare applicazioni ad oggetti con il buon vecchio flowchart. Ecco, l'unico flowchart che abbia mai fatto deve essere stato nel 1986 o 87... :D Il modo più semplice è di spezzare il più possibile l'applicazione in micro-moduli indipendenti o quasi. A quel punto hai una "superficie di contatto" col resto del mondo che è molto ridotta, e puoi riassumerla in un paio di interface, che diventeranno il tuo contratto. Documentate quelle, i loro metodi e, a grandi linee, cosa fanno, non ti serve sapere cosa fa tutto l'albero di classi sotto. E quando ti serve saperlo (perché devi cambiare il comportamento, leggi il codice, fai le modifiche, fai girare i test e, se sono verdi, sei a posto. Se rompi qualcosa significa che i test erano incompleti. :) > Sul fatto che ogni 3 per 2 devi "incontrare il committente", ecco... in > effetti non capisco dove stia la differenza con il Waterfall. Qui dipende da cosa fai. Nel waterfall, in realtà, dovresti incontrare il committente per 1-2 settimane prima di iniziare a scrivere codice, stilare tutte le caratteristiche del progetto, pianificare tempi e modi, e, dopo 6 mesi o 1 anno, vai dal committente a mostrare il lavoro finito. Con l'agile dovresti incontrarti con lui alla fine di ogni sprint per valutare i progressi e decidere cosa fare dopo. Nella pratica nessuna delle due cose succede mai, e si tratta sempre di una via di mezzo. > Sono partito dalla solita Wikipedia e poi giù per almeno una dozzina di > altri siti con pagine e pagine sull'argomento. > Si ha l'idea di piccoli gruppi di lavoro, sì, ma dentro team molto più > complessi. Dipende da quanto è grosso il progetto, ma l'idea di avere micro-progetti indipendenti di solito aiuta: se il progetto finale è grosso puoi avere mini-team (5 persone) che lavorano a ogni componente, quindi con 100 persone, potenzialmente, puoi lavorare su 20 componenti in parallelo e finire il lavoro in 1/20 del tempo. Poi leggi "the mythical man-month" e cambi idea, ma è un'altra storia. :D > All'idea, poi, di far lavorare in copia due persone sullo stesso PC mi > hanno subito detto "Pagati però la metà, vero?" Questa è la tipica obiezione al pair-programming. Ma non è necessario che si lavori 24h/24 in pair. Puoi farlo saltuariamente, mentre stai decidendo come deve essere una nuova funzionalità, o quando stai facendo un refactoring pericoloso, e un altro paio di occhi serve. Immagino farete code-review. Quella non è una "perdita di tempo"? A volte fare pair-programming accorcia i tempi di sviluppo, perché la seconda persona può vedere i problemi mentre la prima scrive codice, e la può fermare prima che lavori 3 giorni su qualcosa che poi va buttato via. Ti è mai capitato di pensare a come implementare qualcosa e poi, parlandone con un collega, capire che c'era un errore di fondo nel ragionamento che ti avrebbe portato a nulla? Ecco, col pair-programming quello lo becchi presto. Un'alternativa è che uno dei due scriva i test (basandosi sull'interface) mentre l'altro scrive il codice, ma questo, nella mia esperienza, è ancora più difficile, e presuppone un "mini-waterfall" per la definizione dell'interface. > Volevo capire se nelle realtà tipicamente Italiane, fatta > prevalentemente da piccole software house, Agile viene usata o se è una > delle tante cose che uno studia all'università nella speranza di farsi > assumere da Google :P Il trucco è che io non sono (più) in una realtà italiana. :D Ma all'estero è usato da praticamente tutti, compresa Microsoft. In alcune aziende italiane, comunque, viene usato, e in modo abbastanza proficuo. Bye.
Back to it.comp.www.php | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
Metodologie Agile Gerry <no-user@no-mail.it> - 2016-10-31 11:26 +0100
Re: Metodologie Agile Alessandro Pellizzari <shuriken@amiran.it> - 2016-10-31 11:35 +0000
Re: Metodologie Agile Gerry <no-user@no-mail.it> - 2016-10-31 16:12 +0100
Re: Metodologie Agile Alessandro Pellizzari <shuriken@amiran.it> - 2016-10-31 17:27 +0000
Re: Metodologie Agile Gerry <no-user@no-mail.it> - 2016-10-31 19:27 +0100
Re: Metodologie Agile Gerry <no-user@no-mail.it> - 2016-10-31 19:34 +0100
csiph-web