Ciao a tutti, per la chat di sabato 6-1-1 vi propongo i seguenti
argomenti:
1) Dare valore vs Attività di rischio (da Davide Varvello)
ovvero: se non mi sbaglio in xp e' molto importante consegnare cio'
che e' di maggior valore per il cliente, pero' mi sembra di aver
letto che bisogna affrontare per prima l'attivita' piu' rischiosa.
Come si incastrano le due cose? Basta che io (sviluppatore) dia
feedback al cliente? Lo avverta che ci sara' un'attivita' molto
rischiosa? O c'e' anche dell'altro?
2) Unit-test alla xp
- credevo che xp non prevedesse unit test, invece ...
Vi chiedo inoltre di limitarci rigorosamente alle 16:00, se volete
iniziamo anche un po' prima (ie: ore 13:00).
Tanti auguri a tutti quanti!!
Giuliano
Salve a tutti - benvenuto Ugo.
Ugo, teniamo una chat settimanale il sabato. Entro il mercoledi' si
propongono gli argomenti.
Entro venerdi' sera, invio l'agenda definitiva per il sabato.
A me piacerebbe che nella chat di sabato Ugo ci presentasse la sua
esperienza con XP.
Te la senti Ugo?
Sarebbe carino che partecipasse anche qualcuno del team. Ugo, riesci?
E' OK per tutti passare la chat dalle 14 alle 13 del sabato (durata 4
pomodori)? Per me e' un po' presto, ma non e' un problema.
Cerco di far partire un poll sull'argomento.
Francesco
pbossi@... wrote:
> Ciao a tutti, per la chat di sabato 6-1-1 vi propongo i seguenti
> argomenti:
>
> 1) Dare valore vs Attività di rischio (da Davide Varvello)
> ovvero: se non mi sbaglio in xp e' molto importante consegnare cio'
> che e' di maggior valore per il cliente, pero' mi sembra di aver
> letto che bisogna affrontare per prima l'attivita' piu' rischiosa.
> Come si incastrano le due cose? Basta che io (sviluppatore) dia
> feedback al cliente? Lo avverta che ci sara' un'attivita' molto
> rischiosa? O c'e' anche dell'altro?
>
> 2) Unit-test alla xp
> - credevo che xp non prevedesse unit test, invece ...
>
> Vi chiedo inoltre di limitarci rigorosamente alle 16:00, se volete
> iniziamo anche un po' prima (ie: ore 13:00).
>
> Tanti auguri a tutti quanti!!
> Giuliano
>
> To unsubscribe from this group, send an email to:
> extremeprogramming-it-unsubscribe@egroups.com
Oggi è possibile votare! È in corso il nuovo sondaggio del gruppo
extremeprogramming-it:
Quale orario preferisci per la chat del
sabato?
o dalle 14:00 alle 16:00 (orario attuale)
o dalle 13:00 alle 15:00
o dalle 13:30 alle 15:30
o dalle 13:45 alle 15:45
o altro...
Per votare, visitare la pagina Web all'indirizzo:
http://www.egroups.com/polls/extremeprogramming-it
Nota: non rispondere a questo messaggio. I voti del sondaggio non sono
raccolti via e-mail. Per votare, visitare il sito Web di eGroups
di cui sopra.
Grazie!
Il voto si chiude automaticamente il 10/01/2001
Francesco
extremeprogramming-it@egroups.com wrote:
> Oggi è possibile votare! È in corso il nuovo sondaggio del gruppo
extremeprogramming-it:
>
> Quale orario preferisci per la chat del
> sabato?
>
>
> o dalle 14:00 alle 16:00 (orario attuale)
> o dalle 13:00 alle 15:00
> o dalle 13:30 alle 15:30
> o dalle 13:45 alle 15:45
> o altro...
>
> Per votare, visitare la pagina Web all'indirizzo:
>
> http://www.egroups.com/polls/extremeprogramming-it
>
> Nota: non rispondere a questo messaggio. I voti del sondaggio non sono
> raccolti via e-mail. Per votare, visitare il sito Web di eGroups
> di cui sopra.
>
> Grazie!
>
>
>
> To unsubscribe from this group, send an email to:
> extremeprogramming-it-unsubscribe@egroups.com
Col 2001, tre nuovi database
(http://www.egroups.com/database/extremeprogramming-it):
- Progetti XP in Italia
- Sviluppatori che cercano progetti XP
- Progetti che cercano sviluppatori XP
Mi piacerebbe ricevere un feedback al riguardo.
Francesco
Il mio feedback sara' laconico ma pur sempre significativo: mi sembra
un'ottima idea!
Giuliano
--- In extremeprogramming-it@egroups.com, fcirillo@a... wrote:
> Col 2001, tre nuovi database
> (http://www.egroups.com/database/extremeprogramming-it):
>
> - Progetti XP in Italia
> - Sviluppatori che cercano progetti XP
> - Progetti che cercano sviluppatori XP
>
> Mi piacerebbe ricevere un feedback al riguardo.
>
> Francesco
Ottima idea,
Io aggiungerei (se vi va bene) anche:
- XP e ricerca
Qualcosa cioe' che potrebbe interessare le
universita'.
bye
Davide
--- fcirillo@... wrote:
> Col 2001, tre nuovi database
>
(http://www.egroups.com/database/extremeprogramming-it):
>
> - Progetti XP in Italia
> - Sviluppatori che cercano progetti XP
> - Progetti che cercano sviluppatori XP
>
> Mi piacerebbe ricevere un feedback al riguardo.
>
> Francesco
>
>
__________________________________________________
Do You Yahoo!?
Yahoo! Photos - Share your holiday photos online!
http://photos.yahoo.com/
Penso che Progetti che cercano sviluppatori XP gia' sia pronto ad
accogliere progetti di ricerca.
Provo a scrivere le mie row di prova (i test dai quali ho disegnato le
tabelle) ditemi che ne pensate.
Quanto a Progetti XP in Italia ho provveduto a qualche piccola
rifattorizzazione (Ente invece di Azienda) per accogliere la nuova user
story (=accogliere progetti di ricerca/universitari) e i nuovi test.
Siamo limitati a 10 field da egroups, da qui Progetto
(nome:descrizione), puzza un po' ma per adesso e' la cosa piu' semplice.
La mia user story (=raccogliere un elenco significativo dei progetti XP
in Italia) comunqee finora la considero testata. Davide, mandami dei
test che non passano. Ovviamente l'invito e' esteso a tutti.
> Ottima idea,
> Io aggiungerei (se vi va bene) anche:
> - XP e ricerca
> Qualcosa cioe' che potrebbe interessare le
> universita'.
Sul fatto di separare XP e ricerca dalle altre tabelle io aspetterei...
Quando *puzzera'* lo faremo - direi io, ditemi la vostra.
Davide, cerchiamo di non anticipare troppo. Il valore da consegnare e'
chiaro. Testiamolo, sviluppiamo le table, poi _eventualmente_ metteremo
a posto.
Cerchiamo la prima release. Andiamo in produzione - con i database
soprattutto relazionali, ma anche a oggetti che non abbiano
funzionalita' di refactoring questo e' un concetto da _approfondire_, ma
abbiamo coraggio, no!?! ;->
Provate con i vostri progetti. Fatemi sapere.
Francesco
At 01.07 03/01/01 +0000, you wrote:
>Salve a tutti - benvenuto Ugo.
>
>Ugo, teniamo una chat settimanale il sabato. Entro il mercoledi' si
>propongono gli argomenti.
>Entro venerdi' sera, invio l'agenda definitiva per il sabato.
>
>A me piacerebbe che nella chat di sabato Ugo ci presentasse la sua
>esperienza con XP.
>
>Te la senti Ugo?
Ci proverò... ovviamente la mia personale visione di XP, non pretendo che
sia omnicomprensiva o, per così dire, ortodossa.
>Sarebbe carino che partecipasse anche qualcuno del team. Ugo, riesci?
Domani provo a vedere se è disponibile almeno uno di loro.
>E' OK per tutti passare la chat dalle 14 alle 13 del sabato (durata 4
>pomodori)? Per me e' un po' presto, ma non e' un problema.
Per me non è un problema.
ciao
mi occupo di ingegneria del software in generale
in particolare su vari aspetti e metodologie del processo di
sviluppo, da circa un anno mi sono avvicinato all'xp, per adesso non
ho mai partecipato a un progetto interamente xp (forti resistenze),
anche se alcune pratiche sono state implementate con successo
--
Adam | delbian@...
CEFRIEL | icq: 9995026
Politecnico di Milano |
-----------------------------------------------------------
"Essere legato a nessuna idea oppure a tutte fa
disimparare a prendere sul serio la vita. Più eccitante
leggerla in un libro, ma se si deve viverla in tutte le
sue lungaggini diventa subito antiquata e prolissa."
- Robert Musil
Salve a tutti i nuovi membri.
Ho letto con interesse le Vostre presentazioni.
Mi permetto di stimolare chi non l'ha ancora fatto a presentare la
propria esperienza con XP.
Francesco
Agenda chat 16/12/2000 14:00:
1) Ugo Landini presenta la sua esperienza con XP. (Partecipera' un
membro del team).
"Nell'ultimo progetto di cui sono stato responsabile ho cercato di
utilizzare XP per quanto possibile e per le info che sono riuscito ad
ottenere all'epoca (praticamente "Refactoring" di Fowler e il primo
libro di K.Beck più qualche white paper). Il mio gruppo si è trovato
molto bene con il test first ed il pair programming (tranne uno che ha
sofferto un po' perchè egocentrico e poco portato a condividere in
una posizione egualitaria o quasi), anche perchè per me è stato un
approccio abbastanza naturale e sono riuscito a trasmetterlo agli
altri..." (estratto dalla email di presentazione di Ugo Landini)
Francesco
Vi ricordo che il poll:
"Quale orario preferisci per la chat del sabato?"
e' ancora in corso.
Terminera' automaticamente il 10/01/2001.
Hai votato?
Francesco
Ciao a tutti.
Oggi Ugo ci ha raccontato le sue esperienze di XP.
Erano presenti Francesco, Paola, Ugo, Davide e il sottoscritto.
Ecco il log.
************************CUT HERE************************
>> You have joined extremeprogramming-it
fcirillo: oggi ugo ci parla della sua esperienza su progetto...
fcirillo: ugo ha provato ad applicare alcune pratiche xp...
pbossi: POMODORO partito!
fcirillo: penso che tutti noi siamo interessati a conoscere...
fcirillo: vantaggi, svantaggi, problemi relativi...
ugo.landini: mi sento interrogato...;) Cos'è sto pomodoro?|
varvello: :-) |
fcirillo: a quanto da lui fatto...
pbossi: 1 pomodoro = 30 minuti
fcirillo: oggi abbiamo a disposizione 4 pomodori (=4x25minuti)...
fcirillo: mi piacerebbe che ugo presentasse la sua esperienza....
fcirillo: a te ugo!|
ugo.landini: ok...
ugo.landini: posso prima apere da Paola di cosa si occupa?|
fcirillo: certo, vai paola!|
fcirillo: tracker di oggi: giuliano, giusto?!|
turci: in estrema sintesi: sviluppo di applicazioni per sistemi
multiagenti|
ugo.landini: tarcker = verbalizzatore?|
ugo.landini: ok! conciso ma efficae|
fcirillo: giuliano?! tracker=...|
pbossi: sto loggando, as usual, non vi preoccupate|
pbossi: c'è un po' di confusione, allora Francesco, iniziamo con Ugo
?!?|
ugo.landini: alloar io ho cominciato...
ugo.landini: ad interssarmi ad XP...
ugo.landini: cicrca un anno e mexzzo fa..
fcirillo: (tracker misura i pomodori)|
ugo.landini: quando un amico (M.Planchestainer che si occupava di
IDPSG)...
ugo.landini: mi disse di darci un'occhiata (avevo già visto il sito ma
non avevo mai...
ugo.landini: approfondito) alla mia domanda precisa...
ugo.landini: "come è possibile fare tutta quella montagna di
artifatti...
ugo.landini: previsti dalle vari emetodologie...
ugo.landini: se non so neanche come diavolo e se funzionerà mai...
ugo.landini: quello che ho in testa di fare?...
ugo.landini: visto che all'epoca (forse due anni e mezzo fa, non 1) mi
occupavo...
ugo.landini: di coniugare internet ed architetture distribuite
CORBa...
ugo.landini: ed avevo alcune idee per superare vari problemini...
ugo.landini: mi ero infatti ritorovato...
ugo.landini: a scrivere codice ...
ugo.landini: di "test" molto più spesso data la particolare natura del
problema...
ugo.landini: e ritenevo non adatto un approccio troppo formale...
ugo.landini: quando si è sul "cutting edge". domande?|
pbossi: "fin qui tutto bene"|
fcirillo: ok|
varvello: ok anche per me|
ugo.landini: Ho cominciato con Junit, ovviamente...
turci: ok|
ugo.landini: e mi sono letto un po' quello che c'era ingiro su XP...
ugo.landini: ed ho deciso che avrei adottato almeno una parte delle
tecniche...
ugo.landini: nel prossimo progetto...
ugo.landini: che è stato pi l'ultimo di cui mi sonon occupato prima di
entrare in Sun...
ugo.landini: da circa un mese...
ugo.landini: purtroppo ho avuto a disposizione gente talentuosa ma non
skillata...
ugo.landini: su vari aspetti dell'OOAD (un bene ed un male allo stesso
tempo, ma è un'altra storia)...
ugo.landini: ed io stesso non conoscevo bene (non avendo testato molte
cose) le varie pratiche dell'XP...
ugo.landini: che conoscerete meglio di me...
ugo.landini: devo dire anche che...
ugo.landini: (come accennato nella prstzn)...
ugo.landini: l'approccio "XP" mi è molto familiare ...
ugo.landini: nel senso che anche non conoscendo molti dettagli "sento"
che ben si adatta al mio stile...
ugo.landini: pragmatico e "pregno di Design Patterns" ;)...
ugo.landini: è ovvio che XP, come dic eBeck, non è fato di idee
nuove...
ugo.landini: ma è un particolare cocktail di cose già conosciute...
ugo.landini: però devo dire che ho migliorato diversi aspetti da
quando ho letto ...
ugo.landini: il materiale XP. Primo fra tutti unit testing aggressivo
...
fcirillo: ugo dicci del progetto!|
ugo.landini: ok...
ugo.landini: sostanzialmente si trattava di creare un ambioente in cui
fosse facile gestire n siti ...
ugo.landini: di commercio elettonico...
ugo.landini: tutti simili nella struttura ma molto diversi...
ugo.landini: in vari aspetti...
fcirillo: possiamo dire che condividevano il business, ma non il
dominio?|
ugo.landini: e l'architettura era fondata su 100% java e Corba
(VisiBroker)...
ugo.landini: Definisci dominio nel contesto sito|
fcirillo: ok, vai ugo|
ugo.landini: comunque si può dire...
ugo.landini: certamente. L'approccio distribuito e la presenza di
persone con skill...
ugo.landini: da migliorare ha reso efficentissimo il pair
programming...
ugo.landini: nel senso che ha aiutato anche per la crescita delle
persone...
ugo.landini: inizailemnete ravamo in tre...
ugo.landini: e questo non ha aiutato la divisione per due...
ugo.landini: quindi io facevo da secondo su due postazioni
contemporaneamnete...
ugo.landini: fino all'arrivo di un'altra persona...
ugo.landini: (il budget era pochino,...
ugo.landini: ed eravamo nettamente sottodimensionati...
ugo.landini: per la mole di codice ed artifatti da produrre..
varvello: l'ho gia' visto questo film :-) |
ugo.landini: e il capo americano era un po' stronzo...
ugo.landini: nel senso che mi ha boicottato nei miei tentativi...
ugo.landini: di cercare di porre delle priorità...
ugo.landini: alle varie user stories...
ugo.landini: di fatto facendo crollare il sistema: non sonon
riusciito...
pbossi: 1° POMODORO!!
ugo.landini: a creare un accordo con il cliente (in questo caso il
"capo") di nessuno...
ugo.landini: dei vari tipi possibili...
fcirillo: il capo americano non faceva parte dei 3/4 sviluppatori?|
ugo.landini: secondo lui ogni cosa aveva massima priorità...
ugo.landini: e non, non faceva parte degli sviluppatori...
ugo.landini: era il fondatore e finanziatore del business...
ugo.landini: io il responsabile
tecnico/analista/progettista/programmatore...
ugo.landini: e qualche volta sistemista (molto scarso!) in mancanza di
meglio...
ugo.landini: alla fine eravamo una ventina nutto...
ugo.landini: ma solo 4 programamtori me compreso...
ugo.landini: comunque il fatto che io lo abbia mollato...
ugo.landini: dopo un anno è indice della situazione che...
ugo.landini: si era creata con le sue assurde pretese...
ugo.landini: che (my fault) non sono riuscit o a contenere in alcun
modo...
ugo.landini: anedoto: una volta mi ha chiesto un sistema di data
mining in due settiamne...
ugo.landini: e non ha preso bene le mie ristae...
fcirillo: ugo, come avresti potuto contenere le sue richieste?|
fcirillo: di cosa avresti avuto bisogno?|
ugo.landini: con lui, in nessun modo. Anche in altri settori nessuno
ci è riuscito...
ugo.landini: mettere priorità massima...
ugo.landini: a tutto è come non metterla...
ugo.landini: a niente. Vorrei che capiste...
ugo.landini: il particolare contesto...
ugo.landini: del progetto. Idea eccellente (coperta fra l'altro da NDA
e patent pending)...
ugo.landini: e ottime risorse (art director, tecnici, ecc.)...
fcirillo: ok ugo, se sei d'accordo vorrei chiamare un giro di
feedback, davide, paola, giuliano...|
ugo.landini: ma investimenti perosnali (circa mezzo milairdo)
limitati...
ugo.landini: alla caccia di venture capitalist in un momento (l'ultimo
anno)...
ugo.landini: nopn molto favorevole a quaseto genere di approcci...
ugo.landini: ok|
varvello: sono...
varvello: sicuramente d'accordo con l'idea delle priorita'...
ugo.landini: Chi ha letto "Death March"?|
fcirillo: allora ragazzi, feedback. poi ugo raccontaci quali pratiche
oltre a pairprogramming avete usato e qualivantaggi/problemi avete
avuto nell'applicazione.|
varvello: non avere priorita', secondo me...
ugo.landini: Quest progetto era un "Death march" totale fino
dalll'inizio. Overtime...
varvello: porta ad non consegnare "valore" al cliente|
ugo.landini: tutti i giorni tutte le seetimane (spesso sabato e
domenica) tipico delel startup americane|
ugo.landini: Ma non molto XP!|
pbossi: Vorre azzardare una cosuccia:...
pbossi: forse una delle poche possibilità che avevi x convincerlo a
dare priorità...
pbossi: e soprattutto a lasciar lavorare il team con calma era...
pbossi: misurarsi! Ovvero raccogliere un po' di metriche e ragionarci
sopra con lui...
pbossi: una volta viste queste misure, notando che non è possibile
fare tutto in tempo 0 a priorità massima...
ugo.landini: Crdi non ci abbia provato? Sintesi: Scope -> tutto!
Priority-> massima Relese->prima possibile! Un'ultima cosa...
pbossi: forse sarebbe venuto a più miti consigli ... forse, e comunque
ci avresti messo mesi a convincerlo.|
ugo.landini: lui si è buttto "anima e core" (anche economicamnete) su
questo progetto ed ...
ugo.landini: aveva già deciso nella sua presunzione cosa e
quanto(senza il mio consiglio)
ugo.landini: avremmo fatto|
ugo.landini: Ho accettao solo per i soldi e per un vecchio favore!|
pbossi: ma vi siete misurati o no?
ugo.landini: No ha accettato neanche l'approccio: ha detto che anche
se impossibile era la nostra unica possibilità di sopravvivere, epoi
eravamo tutti fenomeni e avremo reso possibile l'impossibile|
pbossi: mmm, secondo te avrebbe aiutato dirgli che misurarsi era
l'unica possibilità di ...
ugo.landini: Quando ho capito esattamente come la pensava ho
comicniaito ad organizzare il mio prossimo lavoro|
pbossi: rendere più possibile l'impossibile?
ugo.landini: Mi rispose che dovevo dimenticare l'approccio...
ugo.landini: del cliente...
ugo.landini: in quanto io avevo una quota della società e decidere
autonomamente...
ugo.landini: quanto fare, ma almenpo una prima release di tutto...
ugo.landini: ovviamnete era una bugia|
pbossi: Non ho capito, cosa era una bugia?
ugo.landini: Che òla prima "release" non fosse qualcosa di veramnte
già funzioannte|
ugo.landini: Insomma: voleva tutto a tuti i costi, magari lavorando 14
ore: vecchi errori ma hai mai provato aocnvinecere un ex manager
amnericano di 50 anni|
varvello: volevo chiedere a Ugo se ha usato altre pratiche xp oltre
pairProg e testFirst cioe': refactoring, continous integration etc.|
ugo.landini: si...
pbossi: Il mio capo è un manager americano di 44 anni, posso capirti,
però x fortuna è abbastanza ragionevole quando gli faccio capire cosa
può risparmiare o guadagnare|
ugo.landini: refactoring continuo (ovviamnte senza dirlo
all'americano)...
ugo.landini: collective ownership (facile: eravamo pochi)...
ugo.landini: 40 hour day ;) ...
ugo.landini: standard di codifica...
ugo.landini: design semplice e diretto senza cadere nel banale...
ugo.landini: ovviamente ci prendevamo le nostre pause di straforo...
ugo.landini: Il planning game er aimplicito...
ugo.landini: nel senso che io facevo il business man sostituendomi al
capo...
ugo.landini: e cercando di "proteggere" il gruppo dalle sue
intemperanze|
fcirillo: ugo che intendi per standard di codifica?|
fcirillo: ugo, quante ore lavoravate al giorno?|
ugo.landini: Non caisco la domanda...
ugo.landini: comunque abbiamo deciso come scrivere codice...
pbossi: 2° POMODORO!!
fcirillo: fammi qualche esempio di standard di codifica|
ugo.landini: basandoci sulle mie particolari esperienze e sgli
standard di S.Ambler...
ugo.landini: ok... nomi dei metodi, delle classi, dei parametri,
curling braces, e tutto il resto...
ugo.landini: fino a sconfinare in pattern...
ugo.landini: tipo modo migliore perchè una sevlet sia client corba...
ugo.landini: Lavoravamo in media 12 ore al giorno...
fcirillo: ugo, che vuol dire design semplice e diretto >senza cadere
nel banale<?
ugo.landini: ma ovviamente compensavamo automaticamnete ...
ugo.landini: come "Peopleware" insegna...
ugo.landini: Che se una soluzione era proprio ingenua ci rimettevo le
mani subito...
ugo.landini: prima di lasciarci le penne|
fcirillo: cioe' se intravedevi un pattern lo implementavi subito?|
ugo.landini: si e no...
ugo.landini: lasciami pensare ad un esempio...
ugo.landini: unop degli ingengneri...
ugo.landini: aveva adottato una soluzione...
ugo.landini: per un particolare problema di un'interfaccia grafica...
ugo.landini: (che non ricordo) esubito ci fu da lavorarci perchè era
...
ugo.landini: chiaro che avrebbe portatio via troppa banda...
ugo.landini: (sia in futuro che nel presente immediato)...
ugo.landini: mi sono ricordato: era una soluzione naive nel
trasmetetre oggetti serializzati...
ugo.landini: dal client grafico...
ugo.landini: allo strato di mezzo...
ugo.landini: e quando la vidi (nonmolto XP... il giorno dopo) dovetti
subito lavorarci insieme a lui|
fcirillo: ugo due domande:...
fcirillo: come avete approcciato il tema dell'integrazione e...
fcirillo: il team seguiva i valori xp?
ugo.landini: Avevo preparato una macchina apposita per il test ed
usavamo CVS per la collaborazione (devo dire che l'integrazione è un
tema su cui ho dei forti dubbi)
ugo.landini: cosa nitendi per "valori" xp?|
fcirillo: comunicazione, feedback, coraggio, semplicita|
ugo.landini: ok: uno dei due no...
ugo.landini: perchè si sentiva minacciato da tutta questa pertura...
ugo.landini: è quello che mi ha messo un po' i bastoni fra le ruote...
ugo.landini: per esmpio non seguendo alcuni standard di codifica (a
volte)...
fcirillo: uno dei due vuol dire uno sviluppatore?|
ugo.landini: si, scusa, prima dell'avvento del terzo (il quearto ero
io)...
ugo.landini: devo dire che con lui mi sono trovato male...
ugo.landini: poi cn la nuova perosna le ocse sonon cambiate|
fcirillo: il ragazzo con cui ti sei trovato male, non seguiva solo gli
standard di codifica o c'era anche dell'altro>?|
ugo.landini: qualche volta era contrario ad alcuni refatoring...
ugo.landini: oppure aveva sue particolari idde sull'uso di Design
Patterns...
fcirillo: Qualcosa del tipo: "io non l'avrei fatto cosi'!"?|
ugo.landini: ("idee" non "idde") che conosceva poco ma voleva per
forza usare prima del tempo...
pbossi: Francesco mi ha rubato il tempo: che criteri usavate x
discutere di design e refactoring?
ugo.landini: prima cioè che ofsse evidente che ci sarebbe statoun
beneficio...
ugo.landini: nell'utilizzo dello stesso...
ugo.landini: ci mettevamo alla lavagna...
ugo.landini: e disegnavamo un po' di diagrammi...
ugo.landini: di solito si arrivava ad una soluzione unanime...
ugo.landini: ovviamnete sto parlando di casui particolari e non del
day by day|
pbossi: ok, ma ....
pbossi: nel corso della discussione quali erano gli argomenti, i
criteri ...
pbossi: usati x dire che la soluzione A era meglio di B, la C dopo 1 o
2 mesi sarebbe marcita ecc.?
ugo.landini: Beh dipende dal contesto. non capisco cosa intendi|
ugo.landini: ci siete?|
pbossi: sì, io ci sono, vediamo se riesco...
pbossi: a spiegarmi meglio...
pbossi: 3° POMODORO!!
ugo.landini: fammi un esempio di come tu approcci la cosa|
pbossi: Mi sembra di capire che il codice vada rifattorizzato...
pbossi: quando puzza..."design smells" (era Beck, se non sbaglio, ma
Francesco mi correggerà di sicuro se sbaglio)...
fcirillo: code smells|
ugo.landini: Se intendi la "puzza", io la intendo come antipatterns
dettati dall'esperienza perosnale e dalle sol.tipiche date dai dp.|
pbossi: [graz, Francesco]
ugo.landini: Cioè ognuno ha il suo naso|
fcirillo: sol.tipiche= ?!|
pbossi: Ecco, se è così è un grossissimo problema, ogni cosa diventa
una guerra di religione a meno di...
pbossi: aver fatto le stesse esperienze o avere una grossa affinità,
criteri non molto solidi...
pbossi: faccio solo un cenno, questo è il campo di Francesco, ma
esistono dei criteri di giudizio...
pbossi: "abbastanza" oggettivi :-) che aiutano molto: coesione e
coupling.
pbossi: Ciò non toglie che tu poi ...
ugo.landini: coesione e coupling vanno comunque visti nel loro
cntesto...
pbossi: ti accanisca sul giudizio del livello di accoppiamento tra 2
componenti ...
ugo.landini: dipende cosa è accoppiato e come...
ugo.landini: comunque per me High cohesion e Low coupling sono altri
due pattern...
ugo.landini: o best practices comne dir si vlgia...
pbossi: ==> Larman! :-)
ugo.landini: anche se un po' più a basso livello (Larman li cataloga
come GRASP)
ugo.landini: esatto!|
ugo.landini: Io credo comunque che ci debba essere una persona del
gruppo accreditata come "Salomone" in casi diperati|
ugo.landini: e che sia compito di un buon PM gestire queste
situaizoni|
fcirillo: dimmi ugo, tutti scrivevano il codice del test prima di
scrivere il codice applicativo?
pbossi: Al di là del ruolo, quindi tu non credi che possano essere
usati coesione e coupling come criteri di giudizio più validi di "This
is not the way I would have done it"?
ugo.landini: il solito uno meno degli altri...
ugo.landini: certo che si...
ugo.landini: dicevo solo che possono essere soggetivi...
ugo.landini: nel senso che ad esmpio la legge di Demeter ...
ugo.landini: può essere interpreatat male e tecnicamente ridurre
accoppiamento in maniera rtificios|
ugo.landini: artificiosa|
ugo.landini: (scusate i typo)|
pbossi: ma non è enormemente più soggettivo usare l'esperienza
personale come criterio di giudizio?
ugo.landini: io intendevo esperienza esattamente per dire...
ugo.landini: che magari quelle due classi sono più accoppiate di
quello che sembrano...
ugo.landini: e davo per scontato il concetto di High Cohesion ,Low
Coupling e tutto ciò che sta...
ugo.landini: alla base dei DP...
ugo.landini: scusate se do per scontato cose...
ugo.landini: che nonlo sono...
ugo.landini: ma ovviamnete sto parlando con voi per la prima volta e
non ci consciamo|
fcirillo: penso che piu' o meno tutti abbiano approcciato il problema
di coesione coupling e design pattern...
pbossi: Non ti preoccupare, sono assolutamente d'accordo su certe
cose, meno sul valore che vi attribuiamo e a come le usiamo.|
fcirillo: semmai e' da vedere come...
fcirillo: penso che giuliano pensi che la puzza e' semplicemente
puzza...
ugo.landini: intendevo che io li vedo come fondamentali (e che fosse
ovvio per tutti farlo ma voinon mi conoscete)...
fcirillo: ok ok io passerei a due altri argomenti:...
fcirillo: dimmi ugo, tutti scrivevano il codice del test prima di
scrivere il codice applicativo?
ugo.landini: ma che l'esperienza personale possa *aggiungere* qualcosa
e non *sostituire*|
fcirillo: avevi cominciato a rispondere, vai pure..|
ugo.landini: uno meno...
ugo.landini: gli altri sempre...
ugo.landini: e devo dire che avevvano una GROSSA soddisafzione...
ugo.landini: nel farlo|
ugo.landini: perchè all'inizio scettici|
fcirillo: raccontaci come funzionava: scrivevate il codice del test e
poi...|
ugo.landini: scrivevamo clasi fono a che non girava|
pbossi: [Scusate, ma io non sapevo cos'è la legge di Demeter e mi sono
fatto un giro x trovarla (penso che comunque sia citata anche nel wiki
di Cunningham) ==>
http://www.loyno.edu/~messa/cosc475/ppt3/tsld014.htm]
ugo.landini: trovi parecchio anche sul mio sito|
fcirillo: i test per la stessa storia li scrivevate di complessita'
incrementale o provavate subito con il test finale (quello che vuole
il cliente - o chi per lui)?|
ugo.landini: incrementale, ognio tanto si aggiungecva qualcosa, magari
anche in seguito ad un bug|
ugo.landini: ma non solo|
fcirillo: dunque testavate,...
fcirillo: scrivevate il codice per far venire le barre verdi...
fcirillo: poi immagino rifattorizzavate il codice, e' cosi'?
ugo.landini: x pbossi: la legge di Demeter sta anche sul Larman, anche
se manca una critica che dovresti trovare sul sito di Pescio (e in
aprte sul mio)|
ugo.landini: una critica sull'uso e non sulla legge stessa|
ugo.landini: si, esatto|
ugo.landini: refactoring non necessraimente, però|
fcirillo: dunque quando scrivevate il codice non stavate troppo li' a
pensare ai pattern, giusto?|
ugo.landini: Certo, a meno che (e qui torna l'eserienza personale) uno
non utilizzi...
fcirillo: cosa vuol dire "refactoring non necessariamente" a volte
riuscivate a evitarlo?
ugo.landini: un Composite con la stess nturalezza un altro un banale
Vettore|
ugo.landini: Qualche volta si sente un po' di puzza in giro ;)|
ugo.landini: Magari ilg iorno dopo si è più volenterosi a rimuoverla|
fcirillo: cosa vuol dire "refactoring non necessariamente", a volte
riuscivate ad evitarlo?
ugo.landini: le mie ultime due risposte|
fcirillo: Ah ok quindi a volte scrivevate il codice e aspettavate per
rifattorizzare, e' cosi'?
ugo.landini: si, gli eventi particolari (ricordate i particolare
contesto) non aiutavano nella rigorosità|
fcirillo: Adesso veniamo al secondo punto: integrare...
pbossi: 4° POMODORO!! ==> Dovremmo concludere ...
fcirillo: ci dicevi di avere delle perplessita'...
fcirillo: finiamo con questo giuliano...
fcirillo: puoi accennarci qualcosa e poi finiamo|
ugo.landini: si... diciamo che non sono sicuro di capire bene
l'integrazione...
fcirillo: vai ugo|
ugo.landini: qui mi aspetto qualche input da te... |
fcirillo: integrazione di sistema...
fcirillo: scrivevate codice, moduli o classi, che alla fine dovevate
integrare nel software che dovevate consegnare...
fcirillo: il team a lavora per consegnare una funzionalita', il team b
lavora su un'altra funzionalita'...
fcirillo: alla fine dovranno queste funzionalita' dovranno essere
integrate...
ugo.landini: ambiente di collaborazione per evitare conflitti,
macchina di test su ciu far girare...
fcirillo: |
ugo.landini: i test, ma i miei dubbi sono di complessità...
ugo.landini: nel senso che in 4 si hanno un tot di pronìblemi, in 40
(non avendo esperienza di qeusto)...
fcirillo: che tipo di problemi avevate in 4 e ogni quanto integravate?
ugo.landini: non riesco ad immaginare come far funzionare il tutto in
tutti i casi possibili|
ugo.landini: Per cme la intendevo io, l'integrazioen era implicita nel
senso che...
ugo.landini: non integrando non si è fatto niente|
fcirillo: ok prima di concludere vorrei un feedback da tutti, paola,
davide, giuliano|
ugo.landini: Problemi particolari non me ne ricordo in 4, ...
pbossi: Personalmente ...
ugo.landini: sono io che avrei paura di gestire più persone su un
progetto più grande..
ugo.landini: con questo approccio|
pbossi: sono interessato ad approfondire le tematiche sulla puzza e
l'integrazione...
pbossi: ma complessivamente ho avuto l'impressione che Ugo sia molto
soddisfatto delle pratiche adottate anche se ...
pbossi: rimane molta paura nel farlo scalare su qualcosa un po' più
grande, giusto?
pbossi: |
varvello: feedback: ...
ugo.landini: si.. paura forse ingiustificata...
ugo.landini: data dall'IGNOTO!|
varvello: mi sembra che abbiamo toccato tanti argomenti...
varvello: per come sono fatto io, mi "perdo" un po'....
varvello: |
fcirillo: vorrei ringraziare ugo per aver diviso con noi la sua
esperienza. grazie ugo. concludiamo con un tuo feedback sulla chat.
ugo.landini: mio?...
ugo.landini: ok... è stato molto impegantivo..
ugo.landini: scrivere così tanto su questa tastiera...
ugo.landini: cercando di noon perdere il filo...
ugo.landini: del discorso...
ugo.landini: e cercando di dire qualcosa di utile ai fini della
discussione...
ugo.landini: spero che sia servito a qualscosa! Comunque fa piacere
parlare con persone interssate ad argomenti un po' elitrai (non nel
senso di snob)|
fcirillo: il mio feedback e' che mi sembra sempre meglio partire da
situazioni concrete ed eventualmente cercare di risolverle. per questo
stimolo tutti a raccontare i propri...
fcirillo: problemi e le proprie esperienze nell'applicazione di xp...
fcirillo: ok ragazzi direi ....
fcirillo: buona befana a tutti...
fcirillo: entro lunedi' feedback sulla chat...
fcirillo: entro mercoledi' gli argomenti per la chat del sabato...
ugo.landini: P.S. Cho non ha letto Death March, lo faccia! riciao!|
************************CUT HERE************************
Ciao a tutti,
Giuliano
Ciao,
devo dire come prima considerazione che Ugo ha messo sul piatto alcuni
punti interessanti, a partire da come gestire i membri del team che x
diversi motivi non potevano/volevano aderire ai valori e alle pratiche
messe in atto. C'è soluzione al problema?
Mi piacerebbe in generale approfondire un po' tutte le magagne
operative che ha incontrato Ugo, nonchè andare un po' più a fondo
su quelle che considero metriche di valutazione del design (coesione
e coupling). Personalmente poi sono arrivato a essere un po' critico
sui design pattern come sol. riutilizzabili, a maggior ragione in
ambito xp (Francesco mi ha portato su questa strada, quindi penso che
potremmo fare qualche approfondimento interessante al riguardo).
Condivido i dubbi di Ugo sull'integrazione, anche se non ho esperienze
(negative o positive); diciamo che sono positivamente dubbioso.
Ciao, Giuliano
--- In extremeprogramming-it@egroups.com, pbossi@b... wrote:
> Mi piacerebbe in generale approfondire un po' tutte le magagne
> operative che ha incontrato Ugo, nonchè andare un po' più a fondo
> su quelle che considero metriche di valutazione del design (coesione
> e coupling).
Per cominciare sul mio sito ci sono abbastanza info su Coesione ed
Accoppiamento, e sulla legge di Demeter di cui ho accennato in chat.
Ulteriori info su Demeter su C++ Manuale di stile di Pescio (da
leggere anche per i javisti puri e duri) e forse (ma non mi ricordo)
sul suo sito www.eptacom.net.
> Personalmente poi sono arrivato a essere un po' critico
> sui design pattern come sol. riutilizzabili, a maggior ragione in
> ambito xp (Francesco mi ha portato su questa strada, quindi penso
che
> potremmo fare qualche approfondimento interessante al riguardo).
>
Bene... qualche spunto si puo' trarre anche da una serie di articoli
di Pescio in cui si parla di trasformazioni (in maniera simile al
refactoring, ma da un punto di vista un po' diverso) in grado di
generare patterns (SysOOD).
ciao
Vorrei sottolineare: - l'importanza dei valori XP. XP e' fondamentalmente people-centric.
I valori devono essere condivisi all'interno del team. Senza valori XP
e' difficile ottenere i vantaggi promessi da XP a clienti, manager e sviluppatori. - l'importanza di misurarsi. Tutti abbiamo vissuto situazioni quali
quelle raccontate da Ugo. Proviamo a misurarci, a rendere visibili queste
misure. Se sappiamo che per fare una cosa ci vogliono 10 giorni e' impossibile
farla in 2. Posso dire di NO! Al riguardo consiglio a tutti una breve ma
divertente lettura in tre step su Iterative and Incremental Development
(vedere nell'area File della lista).
Ugo Landini wrote:
--- In extremeprogramming-it@egroups.com, pbossi@b...
wrote:
> Mi piacerebbe in generale approfondire un po' tutte le magagne > operative che ha incontrato Ugo, nonchè andare un po' più a fondo > su quelle che considero metriche di valutazione del design (coesione > e coupling).
Proponi questo argomento per la chat Giuliano.
Per cominciare sul mio sito ci sono abbastanza
info su Coesione ed Accoppiamento, e sulla legge di Demeter di cui ho accennato in
chat. Ulteriori info su Demeter su C++ Manuale di stile di Pescio (da leggere anche per i javisti puri e duri) e forse (ma non mi ricordo) sul suo sito www.eptacom.net.
Potrebbe essere interessante verificare quale sia il rapporto tra questi
concetti e XP? Potremmo anche allargare a DIP OCP ed LSP, volendo. Proponetelo per la chat!
> Personalmente poi sono arrivato a essere un
po' critico > sui design pattern come sol. riutilizzabili, a maggior ragione
in > ambito xp (Francesco mi ha portato su questa strada, quindi penso che > potremmo fare qualche approfondimento interessante al riguardo). >
Giuliano proponi qualche idea negli argomenti per l'agenda.
Bene... qualche spunto si puo' trarre anche da
una serie di articoli di Pescio in cui si parla di trasformazioni (in maniera simile
al refactoring, ma da un punto di vista un po' diverso) in grado di generare patterns (SysOOD).
Lessi gli articoli di Pescio un po' di tempo fa. L'approccio ha per
base documenti di Kent, rielaborate personalmente direi. Confrontato con
le idee di XP, trovo il punto di vista dell'autore un po' troppo meccanico
e deterministico. Preferisco vederla come Kent e *lasciarmi stupire dal
codice* piuttosto che vedere un pezzo di codice e gia' sapere dove si andra'
a finire.
Francesco
-- ===================================================================== Francesco Cirillo
<francesco.cirillo@...> --------------------------------------------------------------------- Mentor/Coach
Education, Development
and Consulting XPLabs s.r.l.
-> Seminar Offered: Via Montevideo, 20
* Good, Fast and Cheap 00198 Rome - ITALY
Can It Be Done? voice: (+39) 0761 659019
-> Programmes Offered: fax: (+39) 0761 659019
* Rapid Reskilling with XP mobile: (+39) 339 3805339
* XP for Startup Companies http://www.xplabs.com
* Evolutive Learning =====================================================================
Hello,
This email message is a notification to let you know that
a file has been uploaded to the Files area of the extremeprogramming-it
group.
File : /IIDI.pdf
Uploaded by : fcirillo@...
Description : Iterative and Incremental Development I
You can access this file at the URL
http://www.egroups.com/files/extremeprogramming-it/IIDI%2Epdf
To learn more about eGroups file sharing, please visit
http://www.egroups.com/help/files.html
Regards,
fcirillo@...
Hello,
This email message is a notification to let you know that
a file has been uploaded to the Files area of the extremeprogramming-it
group.
File : /IIDII.pdf
Uploaded by : fcirillo@...
Description : Iterative and Incremental Development II
You can access this file at the URL
http://www.egroups.com/files/extremeprogramming-it/IIDII%2Epdf
To learn more about eGroups file sharing, please visit
http://www.egroups.com/help/files.html
Regards,
fcirillo@...
Hello,
This email message is a notification to let you know that
a file has been uploaded to the Files area of the extremeprogramming-it
group.
File : /IIDIII.pdf
Uploaded by : fcirillo@...
Description : Iterative and Incremental Development III
You can access this file at the URL
http://www.egroups.com/files/extremeprogramming-it/IIDIII%2Epdf
To learn more about eGroups file sharing, please visit
http://www.egroups.com/help/files.html
Regards,
fcirillo@...
In linea con le indicazioni di Francesco, propongo i seguenti argomenti x
la chat del 13-1-1:
1) che rapporto c'è tra XP e coesione/coupling (intesi più come metriche di
valutazione del design che come design pattern alla Larman)?
2) che rapporto c'è tra XP e DIP, OCP, LSP (vedi Martin)?
3) l'approccio classico ai design pattern come "soluzioni riutilizzabili"
non è forse molto poco XP?
Con questa carne al fuoco, altro che 4 pomodori e chissà quante guerre di
religione ... :-)
Giuliano
|--------+------------------------------>
| | Francesco Cirillo |
| | <francesco.cirillo@x|
| | plabs.com> |
| | |
| | 01/09/01 06:54 PM |
| | Please respond to |
| | extremeprogramming-i|
| | t |
| | |
|--------+------------------------------>
>-----------------------------------------------------------------------|
| |
| To: extremeprogramming-it@egroups.com |
| cc: (bcc: Piergiuliano Bossi/MI/IMISIGECOSIM) |
| Subject: Re: [xp-it] Re: Feedback chat del 6-1-1 |
>-----------------------------------------------------------------------|
Vorrei sottolineare:
- l'importanza dei valori XP. XP e' fondamentalmente people-centric. I
valori devono essere condivisi all'interno del team. Senza valori XP e'
difficile ottenere i vantaggi promessi da XP a clienti, manager e
sviluppatori.
- l'importanza di misurarsi. Tutti abbiamo vissuto situazioni quali quell
e
raccontate da Ugo. Proviamo a misurarci, a rendere visibili queste misure.
Se sappiamo che per fare una cosa ci vogliono 10 giorni e' impossibile
farla in 2. Posso dire di NO! Al riguardo consiglio a tutti una breve ma
divertente lettura in tre step su Iterative and Incremental Development
(vedere nell'area File della lista).
Ugo Landini wrote:
> --- In extremeprogramming-it@egroups.com, pbossi@b... wrote:
>
> > Mi piacerebbe in generale approfondire un po' tutte le magagne
> > operative che ha incontrato Ugo, nonch?andare un po' pi?a fondo
> > su quelle che considero metriche di valutazione del design (coesione
> > e coupling).
Proponi questo argomento per la chat Giuliano.
> Per cominciare sul mio sito ci sono abbastanza info su Coesione ed
> Accoppiamento, e sulla legge di Demeter di cui ho accennato in chat.
> Ulteriori info su Demeter su C++ Manuale di stile di Pescio (da
> leggere anche per i javisti puri e duri) e forse (ma non mi ricordo)
> sul suo sito www.eptacom.net.
Potrebbe essere interessante verificare quale sia il rapporto tra questi
concetti e XP? Potremmo anche allargare a DIP OCP ed LSP, volendo.
Proponetelo per la chat!
> > Personalmente poi sono arrivato a essere un po' critico
> > sui design pattern come sol. riutilizzabili, a maggior ragione in
> > ambito xp (Francesco mi ha portato su questa strada, quindi penso
> che
> > potremmo fare qualche approfondimento interessante al riguardo).
> >
Giuliano proponi qualche idea negli argomenti per l'agenda.
> Bene... qualche spunto si puo' trarre anche da una serie di articoli
> di Pescio in cui si parla di trasformazioni (in maniera simile al
> refactoring, ma da un punto di vista un po' diverso) in grado di
> generare patterns (SysOOD).
Lessi gli articoli di Pescio un po' di tempo fa. L'approccio ha per base
documenti di Kent, rielaborate personalmente direi. Confrontato con le
idee di XP, trovo il punto di vista dell'autore un po' troppo meccanico e
deterministico. Preferisco vederla come Kent e *lasciarmi stupire dal
codice* piuttosto che vedere un pezzo di codice e gia' sapere dove si
andra' a finire.
Francesco
--
=====================================================================
Francesco Cirillo <francesco.cirillo@...>
---------------------------------------------------------------------
Mentor/Coach Education, Development
and Consulting
XPLabs s.r.l. -> Seminar Offered:
Via Montevideo, 20 * Good, Fast and Cheap
00198 Rome - ITALY Can It Be Done?
voice: (+39) 0761 659019 -> Programmes Offered:
fax: (+39) 0761 659019 * Rapid Reskilling with XP
mobile: (+39) 339 3805339 * XP for Startup Companies
http://www.xplabs.com * Evolutive Learning
=====================================================================
Vorrei sottolineare: - l'importanza dei valori XP. XP e' fondamentalmente people-centric.
I valori devono essere condivisi all'interno del team. Senza valori XP
e' difficile ottenere i vantaggi promessi da XP a clienti, manager e sviluppatori. - l'importanza di misurarsi. Tutti abbiamo vissuto situazioni quali
quelle raccontate da Ugo. Proviamo a misurarci, a rendere visibili queste
misure. Se sappiamo che per fare una cosa ci vogliono 10 giorni e' impossibile
farla in 2. Posso dire di NO! Al riguardo consiglio a tutti una breve ma
divertente lettura in tre step su Iterative and Incremental Development
(vedere nell'area File della lista).
Ugo Landini wrote:
--- In extremeprogramming-it@egroups.com, pbossi@b...
wrote:
> Mi piacerebbe in generale approfondire un po' tutte le magagne > operative che ha incontrato Ugo, nonchè andare un po' più a fondo > su quelle che considero metriche di valutazione del design (coesione > e coupling).
Proponi questo argomento per la chat Giuliano.
Per cominciare sul mio sito ci sono abbastanza
info su Coesione ed Accoppiamento, e sulla legge di Demeter di cui ho accennato in
chat. Ulteriori info su Demeter su C++ Manuale di stile di Pescio (da leggere anche per i javisti puri e duri) e forse (ma non mi ricordo) sul suo sito www.eptacom.net.
Potrebbe essere interessante verificare quale sia il rapporto tra questi
concetti e XP? Potremmo anche allargare a DIP OCP ed LSP, volendo. Proponetelo per la chat!
> Personalmente poi sono arrivato a essere un
po' critico > sui design pattern come sol. riutilizzabili, a maggior ragione
in > ambito xp (Francesco mi ha portato su questa strada, quindi penso che > potremmo fare qualche approfondimento interessante al riguardo). >
Giuliano proponi qualche idea negli argomenti per l'agenda.
Bene... qualche spunto si puo' trarre anche da
una serie di articoli di Pescio in cui si parla di trasformazioni (in maniera simile
al refactoring, ma da un punto di vista un po' diverso) in grado di generare patterns (SysOOD).
Lessi gli articoli di Pescio un po' di tempo fa. L'approccio ha per
base documenti di Kent, rielaborate personalmente direi. Confrontato con
le idee di XP, trovo il punto di vista dell'autore un po' troppo meccanico
e deterministico. Preferisco vederla come Kent e *lasciarmi stupire dal
codice* piuttosto che vedere un pezzo di codice e gia' sapere dove si andra'
a finire.
Francesco
-- ===================================================================== Francesco Cirillo
<francesco.cirillo@...> --------------------------------------------------------------------- Mentor/Coach
Education, Development
and Consulting XPLabs s.r.l.
-> Seminar Offered: Via Montevideo, 20
* Good, Fast and Cheap 00198 Rome - ITALY
Can It Be Done? voice: (+39) 0761 659019
-> Programmes Offered: fax: (+39) 0761 659019
* Rapid Reskilling with XP mobile: (+39) 339 3805339
* XP for Startup Companies http://www.xplabs.com
* Evolutive Learning =====================================================================
To unsubscribe from this group, send an email to:
extremeprogramming-it-unsubscribe@egroups.com
Ecco il risultato del poll sull'orario della chat.
Direi che la prossima chat la possiamo fissare dalle 13:45 alle
15:45 di sabato prossimo.
Grazie per aver partecipato al voto.
Francesco
-- ===================================================================== Francesco Cirillo
<francesco.cirillo@...> --------------------------------------------------------------------- Mentor/Coach
Education, Development
and Consulting XPLabs s.r.l.
-> Seminar Offered: Via Montevideo, 20
* Good, Fast and Cheap 00198 Rome - ITALY
Can It Be Done? voice: (+39) 0761 659019
-> Programmes Offered: fax: (+39) 0761 659019
* Rapid Reskilling with XP mobile: (+39) 339 3805339
* XP for Startup Companies http://www.xplabs.com
* Evolutive Learning =====================================================================
The following extremeprogramming-it poll is now closed. Here are the
final results:
POLL QUESTION: Quale orario preferisci per la chat del
sabato?
CHOICES AND RESULTS
- dalle 14:00 alle 16:00 (orario attuale), 3 votes, 37.50%
- dalle 13:00 alle 15:00, 1 votes, 12.50%
- dalle 13:30 alle 15:30, 0 votes, 0.00%
- dalle 13:45 alle 15:45, 4 votes, 50.00%
- altro..., 0 votes, 0.00%
For more information about this group, please visit
http://www.egroups.com/group/extremeprogramming-it
For help with eGroups, please visit
http://www.egroups.com/help
Cercansi idee fresche per la chat di sabato. ;->
Ci piacciono molto:
- Esposizione di problemi concreti nell'applicazione di pratiche XP
con richiesta di aiuto.
- Esperienze personali (positive, ma soprattutto negative)
nell'approccio con XP
Dubitiamo di esperienze troppo positive con XP ;->
Francesco
In linea con le indicazioni di Francesco, propongo i seguenti argomenti x la chat del 13-1-1: 1) che rapporto c'è tra XP e coesione/coupling (intesi più come metriche di valutazione del design che come design pattern alla Larman)? 2) che rapporto c'è tra XP e DIP, OCP, LSP (vedi Martin)? 3) l'approccio classico ai design pattern come "soluzioni riutilizzabili" non è forse molto poco XP?
Con questa carne al fuoco, altro che 4 pomodori e chissà quante guerre di religione ... :-)
Hello,
This email message is a notification to let you know that
a file has been uploaded to the Files area of the extremeprogramming-it
group.
File : /dip.pdf
Uploaded by : fcirillo@...
Description : DIP
You can access this file at the URL
http://www.egroups.com/files/extremeprogramming-it/dip%2Epdf
To learn more about eGroups file sharing, please visit
http://www.egroups.com/help/files.html
Regards,
fcirillo@...
Hello,
This email message is a notification to let you know that
a file has been uploaded to the Files area of the extremeprogramming-it
group.
File : /lsp.pdf
Uploaded by : fcirillo@...
Description : LSP
You can access this file at the URL
http://www.egroups.com/files/extremeprogramming-it/lsp%2Epdf
To learn more about eGroups file sharing, please visit
http://www.egroups.com/help/files.html
Regards,
fcirillo@...
Agenda chat 13/1/2001 13:45:
(1) Che rapporto c'è tra XP e coesione/coupling (intesi più come
metriche di valutazione del design che come design pattern alla Larman)?
(1 pomodoro)
(2) L'approccio classico ai design pattern come "soluzioni
riutilizzabili" non è forse molto poco XP? (1 pomodoro)
(3) Che rapporto c'è tra XP e DIP, OCP, LSP (vedi Martin)*? (1 pomodoro)
(4) Che ambiente di sviluppo serve per lavorare XP (basta un compilatore
e un text editor)? (1 pomodoro)
*Per DIP (Martin), OCP (Meyer) e LSP (Liskov) ho caricato 3 paper di
Robert Martin nella sezione Files.
Vorrei che per i primi tre argomenti guidasse Giuliano.
Francesco
--
=====================================================================
Francesco Cirillo <francesco.cirillo@...>
---------------------------------------------------------------------
Mentor/Coach XP Education, Development
and Consulting
XPLabs s.r.l. -> Seminar Offered:
Via Montevideo, 20 * Good, Fast and Cheap
00198 Rome - ITALY Can It Be Done?
voice: (+39) 0761 659019 -> Programmes Offered:
fax: (+39) 0761 659019 * Rapid Reskilling with XP
mobile: (+39) 339 3805339 * XP for Startup Companies
http://www.xplabs.com * Evolutive Learning
=====================================================================
Ciao a tutti, si è appena conclusa la chat di oggi, prevalentemente
incentrata sui rapporti XP e design (in particolare coesione e
coupling).
Erano presenti Francesco Cirillo, Ugo Landini, Davide Varvello e il
sottoscritto.
*********************CUT HERE*********************
pbossi: ok, il primo argomento è ...
pbossi: Che rapporto c'è tra XP e coesione/coupling?
pbossi: Pomodoro partito!
pbossi: Davide, sai cosa si intende x coesione e coupling?
varvello: accenno qualcosa...
varvello: l'importante e' mantenere...
varvello: alta la coesione nella classe e....
varvello: basso l'accoppiamento fra le classi, giusto? |
fcirillo: giuliano?
pbossi: Ok, ci siamo quasi, dal mio p.to di vista...
pbossi: coesione e coupling sono metriche che ci aiutano a giudicare
la qualità del design...
pbossi: in particolare x coesione si intende (def. di Constantine):
pbossi: Misura la forza delle relazioni semantiche o concettuali tra
le parti interne di un dato componente
pbossi: Come conseguenza un oggetto ben coeso ha 1 e 1 sola
responsabilità.
pbossi: L'accoppiamento invece misura il grado di
interconnessione/interdipendenza tra componenti.
fcirillo: possiamo generalizzare a modulo: un modulo ben coeso...|
fcirillo: modulo = funzione, oggetto, sottosistema...|
pbossi: Sono d'accordissimo, le definizioni di Constantine vanno al
di là del concetto...
pbossi: di classe o funzione o vattelapesca e si applicano più in
generale a "modulo".
varvello: ok, mi puo' andar bene |
pbossi: Quello che vorrei affermare è che ...
pbossi: coesione e coupling forniscono una metrica comune che va ben
al di là del "This is not how I would I have done it"...
pbossi: cioè che si può discutere sulla qualità di un design in
termini di c&c...
pbossi: ad esempio, quella classe X non è ben coesa, infatti fa
questa cosa e quest'altro...
pbossi: Francesco ci diceva, ogni volta che individuate una
responsabilità...
pbossi: fate un cerchietto, se avete più di un cerchietto per un
componente allora avete un problema
pbossi: di coesione...
pbossi: Il coupling aiuta a capire quanto 2 o n componenti sono
strettamente legate...
pbossi: ad esempio per riutilizzare la classe X non posso fare a meno
di portarmi dietro anche...
pbossi: Y e Z, il che è indice di accoppiamento, ovvero di immobilità
del design.
pbossi: Fin qui tutto bene? Feedback?
varvello: si'...
varvello: mi piace l'esempio del cerchietto...
varvello: se hai altro vai pure avanti...
varvello: mi interessa moltissimo il discorso...
varvello: alla fine ti faccio una domanda |
pbossi: Ok, fin qui comunque niente di nuovo, XP non l'abbiamo ancora
toccata...
pbossi: allora veniamo al punto: che relazione c'è tra XP e le
metriche di design?
fcirillo: l'immobilita' e' solo una delle conseguenze del coupling...
fcirillo: giusto giuliano?!|
fcirillo: ma vai avanti forse ti sto anticipando|
pbossi: Sì, assolutamente, ce ne sono altre, ovvero
pbossi: fragilità
pbossi: "Un cambiamento provoca la rottura di altri componenti non
legati semanticamente (parti inaspettate del sistema)"
pbossi: e rigidità
pbossi: "E' difficile cambiare il sistema perchè ogni cambiamento
influenza troppe sue parti"
pbossi: ok?
varvello: mi sembra...
varvello: faccio quello che si da delle arie :-) ...
varvello: che ci fosse anche la viscosita', ma non mi ricordo bene
cosa sia...
ugo.landini: joins the room
varvello: io, forse banalmente, riassumo il tutto...
ugo.landini: ciao|
fcirillo: troppe puo' voler anche non sapere quante!|
varvello: in: "Il codice NON si tocca!" |
fcirillo: ciao ugo!
ugo.landini: tradino, eh?|
pbossi: ciao Ugo
varvello: ciao
ugo.landini: "scusate il ritardo"
fcirillo: hai perso un pomodoro di coesione/coupling di giuliano...
ugo.landini: aaargh|
fcirillo: giuliano vai avanti col discorso|
pbossi: Allora, una volta definite le metriche (coesione/coupling) e
detto ...
pbossi: quali sono le caratteristiche di un cattivo design
(fragilità, immobilità, rigidità)...
fcirillo: io direi giuliano, definiti i concetti di coesion/coupling
e posto che si sappia come misurarle...|
fcirillo: vai avanti!|
pbossi: [questo è un buon punto, comunque, secondo me da approfondire
in un'altra chat! :-)]
pbossi: Che rapporto c'è tra xp e c&c? Come ci aiutano o ci
complicano la vita?
pbossi: In un processo classico io applico c&c continuamente durante
la fase ...
pbossi: di design, sia che si tratti di waterfall o di IID, giusto?
pbossi: E in xp?
pbossi: Azzardo...
fcirillo: sir bliss: anche!|
pbossi: in xp applichi c&c come guida x la rifattorizzazione, sono il
bastone del rabdomante che ti guida...
pbossi: dove il codice puzza.
pbossi: Francesco, se dici "anche", vuol dire che individui in XP...
ugo.landini: avete parlato di "promoting the interface" per diminuire
l'accoppiamento?|
pbossi: una fase vera e propria di design, mentre dal mio p.to di
vista questa è spalmata in diversi momenti...
pbossi: e con stili diversi (codificando cercod ifare le cose +
semplici, giusto?)
pbossi: Anyway, con ordine, che ne pensate?
pbossi: |
fcirillo: anche perche' anche in xp c'e' design, all'interno pero' di
un microciclo invertito rispetto a quello tradizionale|
varvello: cioe'...
varvello: quello che vuoi dire e' che, classicamente...
varvello: c&c vengono applicati a priori...
varvello: invece in xp a posteriori, e' esatto? |
pbossi: Io direi:
fcirillo: rispondete a davide!
pbossi: classicamente io applico c&c come best practices, come guide,
come muse ispiratrici,
pbossi: mentre in XP c&c sono metriche, detectors che uso a
posteriori, in sede di refactoring.
pbossi: |
fcirillo: ugo che ne pensi?
ugo.landini: penso, come gia' accennato...
ugo.landini: che c&C sono capisaldi del design...
ugo.landini: ma che senza esperienza possono essere fuorvianti...
ugo.landini: in quanto metriche aggirabili con un po' di furbizia...
ugo.landini: come il "promoting the interface" della legge di
Demter...
ugo.landini: citato da Larman nel suo "Applying..."|
fcirillo: giuliano, davide?
varvello: io...
varvello: vorrei saperne di piu', ne so troppo poco e...
pbossi: 1° POMODORO!!
varvello: non riesco ancora ad applicarle in modo sistematico|
pbossi: Beh, sono d'accordo, d'altronde penso che le metriche sono lì
x aiutarti e ...
fcirillo: ugo prova a spiegare uno di questi problemi|
pbossi: non x fuorviarti o subdolamente concederti di fare del
cattivo design mascherato, ci mancherebbe.
pbossi: |
ugo.landini: spesso si "diminuisce l'accoppiamento" con un metodo
intermedio...
ugo.landini: che non f aaltro che aggiungere un livello di
indireziopne...
ugo.landini: ed in pratica lascia il potenziale...
ugo.landini: problema lì dove è. In questo modo utilizzando...
ugo.landini: C&C come metriche inappellabili...
ugo.landini: si può andare fuori strada e non fare un buon design...
ugo.landini: faccio un ametafora...
ugo.landini: (mi piacciono molto perchè sono incisive e rimangono
nella memoria)...
pbossi: mi prenoto x rispondere a Ugo! :-)
ugo.landini: che prelevo pari pari dal mio sitro )aspetatte che
taglio e incollo)...
fcirillo: ugo pensi che lavorando con il microciclo alla xp
situazioni come queste o come aumentino o diminuiscano e perche'?
ugo.landini: e scusate la lunghezza...
fcirillo: davide, giuliano che ne dite?
ugo.landini: Spesso per rispettare la legge di Demeter vengono creati
dei metodi intermedi che a loro volta chiamano i metodi incriminati.
Questa pratica è nota come "promozione dell'interfaccia", in quanto
un metodo di una classe viene "promosso" nell'interfaccia di un'altra
classe. Nonostante Larman consigli questa come l'unica soluzione
possibile, io non credo assolutamente che questa pratica porti sempre
a scrivere del codice molto migliore di quello che chiama
direttamente il metodo dell'oggetto "straniero". Infatti un
cambiamento nella signature del metodo, che per forza di cose è la
stessa nel nuovo metodo che siamo andati a creare, potrebbe
propagarsi comunque fino all'oggetto client, che dunque non avrà
avuto nessun beneficio. Per capire meglio la faccenda, faccio un
esempio "surreale".
pbossi: Drin! Mi prenoto, però prima leggo...
fcirillo: ripeto la domanda ugo,...
ugo.landini: Supponiamo di non voler parlare per qualche motivo con
una persona (lo straniero), perchè abbiamo paura che si offenda con i
nostri modi di dire, e viceversa: mi sembra che serva veramente a
poco comunicare le frasi ad un altro che a sua volta le comunica a
lui (e viceversa), il risultato non cambierebbe di una virgola.
ugo.landini: ho finito il cut|
fcirillo: pensi che lavorando con il microciclo alla xp situazioni
come queste aumentino o diminuiscano e persche'?
ugo.landini: non so se possano aumentare o dimiuire, ci penso un
momento|
pbossi: Allora...
pbossi: la prima cosa che mi viene da dire è: se non usiamo c&c
abbiamo alternative?
pbossi: secondo me ==> NO
ugo.landini: attenzione che io sono un fautore di c&c, non fatemi
dire cose che non ho detto|
fcirillo: Non e' questo il punto!
ugo.landini: il fatto è che metrica
pbossi: la seconda: naturalmente vanno usate "cum grano salis", non
pedissequamente.|
fcirillo: attenzione la domanda e'...
ugo.landini: mi sembra dovrebbe essere inoppugnabile o quasi,
altrimenti le guerre non si evitano comunque|
fcirillo: situazioni quali quelle esposte da ugo, applicando il
microciclo xp sono destinate..
fcirillo: ad aumentare o diminuire? e perche?
fcirillo: davide?
pbossi: Ci provo..
ugo.landini: secondo te non dipende ingran parte dalle persone
coinvolte, francesco?|
fcirillo: dalle persone del team?
fcirillo: |
ugo.landini: si|
fcirillo: dipendono anche dalle persone, ma qui voglio mettere
l'accento sul processo.|
pbossi: Il processo xp favorisce una ....
fcirillo: dalle persone dipendono se non seguono il processo...|
fcirillo: idee, ragazzi?
pbossi: "spersonalizzazione" nell'uso delle pratiche, xp è "people
centric", giusto? |
fcirillo: altre idee... ;->
fcirillo: scherzo giuliano...
ugo.landini: l'ultima frase mi sembra ambigua|
fcirillo: davide voglio sentire la tua poi dico qualcosa io
fcirillo: |
varvello: mmm...
varvello: ok, aspettavo un momento di calma...
varvello: io penso che i microciclo...
varvello: renda piu' facile accorgersi di...
ugo.landini: è chiaro che con un refactoring continuo (microciclo)
alla lunga i problemi dovrebbero uscire prima...
varvello: problemi che insorgono nel design|
varvello: lo siluppatore...
fcirillo: siamo tutti allineati sul microciclo xp versus microciclo
tradizionale?
fcirillo: |
fcirillo: vai davide
fcirillo: |
varvello: xp, ha l'occhio piu' attento..
varvello: perche' si vale di strumenti quali il test firs o
refactoringMerciless |
fcirillo: microciclo tradizionale (vedi booch per il termine
microciclo) = analisi, design, codifica, test...
fcirillo: microciclo xp = analisi, testi, codifica, design|
fcirillo: tutto ok?
varvello: ok|
fcirillo: ugo?
fcirillo: giuliano?
ugo.landini: il test first quanto influenza il design?|
fcirillo: giuliano, davide?
pbossi: test-first = design by test |
ugo.landini: a parte che spinge le persone a pensare prima di
scrivere?|
varvello: il test influenza, credo,...
varvello: il "do it run" |
fcirillo: se dovessi rispondere io direi che test first influenza il
design, *limitandolo* allo stretto necessario!|
pbossi: Assolutamente d'accordo!!! :-) |
fcirillo: attenzione!
fcirillo: se e' vero che dopo aver capito cosa devo fare...
fcirillo: posso scrivere qualsiasi cosa - la cosa piu' semplice - che
faccia funzionare...
fcirillo: il test e solo dopo ...
fcirillo: preoccuparmi di questioni di design (=gestione complessita'
e evoluzione)...
fcirillo: vuol dire che sto gestendo complessita' con semplicita'!...
fcirillo: attenzione!
fcirillo: immaginiamo di non seguire il microciclo xp,...
fcirillo: ma seguire il microciclo tradizionale...
fcirillo: nella fase di design dovro' prendere in considerazione
tutte le possibili evoluzioni del codice...
fcirillo: quali evoluzioni? quelle che io mi *aspetto* che il cliente
mi chiedera'...
fcirillo: devo cercare di proteggermi, dunque....
fcirillo: come?
fcirillo: creando chiusure strategiche (vedi open closed principle di
Meyer)...
fcirillo: organizzando cioe' i moduli in modo tale che ...
fcirillo: domani, quando il cliente mi chiedera' le modifiche *che io
mi aspetto*...
fcirillo: io dovro' solo aggiungere classi nuove (le nuove logiche) e
non modificare ...
fcirillo: quanto gia' fatto: apertura ai cambiamenti, chiusura alle
modifiche.
fcirillo: questo ovviamente vuol dire fari ricorso a interfacce, ...
fcirillo: e classi artificiose (=contrivances)...
fcirillo: generalmetne in un ratio 1:5....
fcirillo: laddove miserviva una classe, per chiudere strategicamente
me ne serviranno almeno 5...
fcirillo: questo vuol dire gestire la complessita' con complessita'.
fcirillo: usare interfacce (vedi ocp), leggi di Demeter, nascono ...
fcirillo: e cercano applicazione in contesti in cui si cerca di
anticipare quello che il ...
fcirillo: nostro cliente vorra'...
fcirillo: la nostra aspettativa dunque di quello che lui vorra'...
fcirillo: ma producono maggiore complessita' da gestire (complessita
tra l'altro non ..
fcirillo: intrinseca nel problema)...
fcirillo: e non garantiscono sulla evolutivita' del software...
fcirillo: pensate a che cosa potrebbe succedere quando il cliente
chiedesse nuove...
fcirillo: funzionalita' non previste dal progettista...
fcirillo: ese si violano le chiusure strategiche pensate e anticipate
dal progettista...
fcirillo: e' probabile che buona parte del sistema venga rifatto...
fcirillo: perche' fragile, immobile e rigido rispetto ai nuovi
requisiti...
pbossi: 2° POMODORO!!
fcirillo: Feedback!
fcirillo: ultima cosa...
fcirillo: quando si fa riferimento all'esperienza del progettista...
fcirillo: generalmente si allude alla sua capacita' di anticipare il
cambiamento dei requisiti...
fcirillo: feedback: davide, giuliano, ugo!
fcirillo: |
ugo.landini: sono daccordo, ma bisogna "contestualizzare"...
ugo.landini: in quanto se sto progettando un sistema di
ottimizzazione...
ugo.landini: per collegamenti a DB remoti...
ugo.landini: l'esperienza mi porta già a soluzioni ottimali...
ugo.landini: che non sono influenzate direttamente dai requiiti...
ugo.landini: è invece chiaro che se si parla di business class o come
dir si volgia...
ugo.landini: hai perfettamente ragione e l'approccio è ragionevole
sotto tutti i punti di vista|
pbossi: Qualche mese fa la pensavo esattamente come te, Ugo, poi ...
pbossi: abbiamo fatto un progetto molto "tecnico" (un sistema di true
push tunnellizzando l'http x la distribuzione di dati finanziari)...
pbossi: e sono emersi parecchi problemi che mi hanno fatto
riflettere; oggi non sono più così convinto che ci sia...
pbossi: una separazione tra i problemi legati al business e quelli
invece più specificatamente tecnici...
pbossi: inoltre le soluzioni ottimali possono essere annusate facendo
una buona dose di ...
pbossi: "spike" a inizio progetto, i quali comunque, ne convengo,
dipendono fortemente dall'esperienza...
pbossi: delle persone che partecipano al progetto.
pbossi: |
varvello: sono d'accordo...
fcirillo: piu' che dipendere dall'esperienza, giuliano, gli spike
servono a fare esperienza!
fcirillo: per me progettista non e' differente disegnare un sistema
business, real/time o altro...
fcirillo: ugo,...
fcirillo: potresti citarmi dal larman...
fcirillo: il problema dell'ood e' assegnare responsabilita'...
fcirillo: una volta che conosco dei criteri per assegnare
responsabilita'...
fcirillo: applicarli a gui design, db design, business, non cambia...
fcirillo: vedi ugo...
fcirillo: qui entra un concetto di paura...
fcirillo: io voglio togliermi questa paura da dosso...
fcirillo: voglio sempre lasciarmi sorprendere dal codice...
fcirillo: il framework lo avro' dopo 7 volte che sviluppo lo stesso
progetto...
ugo.landini: perfetto, Francesco, ma reinventare la ruota ogni volta
non ha senso, se la soluzione ad un tipico problema è soddisfacente.
Se non lo è, allora siamo daccordissimo...
fcirillo: non voglio piu' anticipare una virgola rispetto a quanto mi
viene chiesto...
fcirillo: chi lo puo' dire ugo...
ugo.landini: e neanche io voglio anticipare niente...
fcirillo: se sia la stessa soluzione...
fcirillo: probabilmente arrivero' alla stessa soluzione di prima...
fcirillo: ma per la mia esperienza ogni progetto - bada anche lo
stesso tipo di progetto...
fcirillo: anche lo stesso progetto - richiede soluzioni ad hoc...
fcirillo: se vuoi metterla in modo diverso...
ugo.landini: non vorrei che mi consideraste un antixp, anzi, spero
solo che non si perda la "memoria storica"...
ugo.landini: del lavoro di migliaia di progettisit in ga,ba in giro
per il pianeta|
fcirillo: non stiamo dicendo questo ugo...
fcirillo: tu dovrai conoscere, studiare e applicare tutta
l'esperienza possibile, ugo...
fcirillo: per poi dimenticarla e cominciare a scrivere il tuo
programma!
fcirillo: citazione da Charlie Parker:
fcirillo: un giorno chiesero a CP il segreto della sua
improvvisazione...
fcirillo: lui rispose: studio le scale tutti i giorni 8 ore al
giorno...
fcirillo: poi salgo sul palco, dimentico tutto e comincio a
suonare...
fcirillo: questo e' xp
ugo.landini: ok, allora siamo daccordo. Let the source be with you!|
fcirillo: feedback ragazzi. siamo arrivati ad una conclusione?
fcirillo: sul primo tema?
pbossi: Non so, come la mettiamo con c&c come rilevatori da usare con
il cappello del refactoring?
pbossi: |
fcirillo: ugo il microciclo xp aumenta o diminuisce la probabilita'
di incorrere in contrivances?
ugo.landini: mia opinone: ottimi, anzi eccellenti...
ugo.landini: però attenzione|
fcirillo: giuliano, davide, prima rispondiamo a questo
fcirillo: |
ugo.landini: sicuramnete lo diminuisce...
ugo.landini: ma il rischio del banale è dietro l'angolo o siamo
tranquilli?|
varvello: secondo me...
fcirillo: fammi capire, ragazzi voglio sentire la vostra preparatevi|
fcirillo: rishcio del banale =?
varvello: diminuisce, come ho gia' accennato|
ugo.landini: semplice <> banale, dove banale = naive
ugo.landini: |
fcirillo: ugo non capisco|
fcirillo: ugo, fammi un esempio.
fcirillo: davide vai avanti col tuo commento.
ugo.landini: esempio...
fcirillo: giuliano aspetto il tuo
pbossi: Vai Ugo!!! |
ugo.landini: sicuramente scrivere una serie di classi per Connection
Pooling...
ugo.landini: non è banale ma neanche difficilissimo (e se ne trovano
a bizzeffe)..
ugo.landini: perchè dovrei utilizzare una soluzione più semplice
(anche se in fututo le ottimizzazioni...
ugo.landini: potrebbero non essere necessarie?)|
fcirillo: nessuno ti dice di usare una soluzione semplice...
fcirillo: xp dice parti dalla cosa piu' semplice che possa
funzionare...
fcirillo: fai il maialino, fregatene del design
fcirillo: poi rifattorizza.
ugo.landini: sono superdaccordo!...
fcirillo: se il tuo connection pool intendevi farlo con...
fcirillo: ricomincio
fcirillo: il tuo commection pool lo puoi fare con ...
fcirillo: uno strategy-...
fcirillo: o uno strategy + composite...
fcirillo: o uno strategy + composite + command
fcirillo: o uno strategy + composite + command + abstract factory +
interpreter...
fcirillo: tutte possono essere soluzioni che risolvono il tuo
problema...
fcirillo: con diversi gradi di complessita'...
fcirillo: xp dice...
fcirillo: puo' essere che dovrai arrivare a tali pattern...
fcirillo: ma lasciati sorprendere dal codice...
fcirillo: se tu riesci a ...
fcirillo: scrivere il codice che risolve il test richiesto...
pbossi: 3° POMODORO!!
fcirillo: e a mantenere il sistema sufficientemente disaccoppiato e
coeso...
fcirillo: quando ti si chiedera' qualcosa di nuovo avrai il minimo
costo per il cambiamento..
fcirillo: nella esperienza di deisgner...
fcirillo: ti posso assicurare che ho visto fare ...
fcirillo: cose piuttosto semplici...
fcirillo: usando decine di pattern...
fcirillo: perche' "cosi' domani se il cliente ci chiede questo... noi
siamo pronti"...
fcirillo: la realta' poi voleva che il cliente chiedesse tuttaltro...
fcirillo: invertendo il microciclo, limiti in qualche modo il tuo
design ...
fcirillo: a quanto ti e' stato richiesto...
fcirillo: se poi le logiche, il tuo codice ti chiedera' di diventare
uno strategy o qualcosaltro...
fcirillo: tu riconoscerai quel pattern, quell'ortogonalita' di
disegno,...
fcirillo: e... aggiungo io ...
fcirillo: ti chiederai piu' volte se proprio non c'e' altra strada...
fcirillo: giuliano, davide|
varvello: allora...
varvello: io sono al microciclo ed ho scritto 2 cose nel mentre....
varvello: Il microciclo aiuta perche' permette di focalizzarsi
sul "make it run, make it right, make it fast". Mi piace molto questa
frase perche' e' una frase *spacca* la complessita'. ...
varvello: Ritornando al microciclo, io lo interpreto in questo
modo:..
varvello: Analisi = cosaMiVieneImmediatamenteChiesto, Test = "la rete
di salvezza", Coding = loFaccio, Design = adessoLoFaccioPerBene|
varvello: in sintesi...
ugo.landini: E me ne frego di tutte le combinazioni di Dp per il
pool, chiaro: implemento il primo che mi capita a seconda
dell'esperienza fatta (quello che conosco/iamo meglio?) |
fcirillo: Carino, Coding = lo faccio nel modo piu' semplice possibile
varvello: ho anch'io le domande di Ugo in testa, ma mi affascinano
molto le idee portate avnti da XP |
ugo.landini: scusate ragazzi mia moglie mi pretende...
varvello: ok, francesco, right |
ugo.landini: devo salutarvi in anticipo...
fcirillo: negativo ugo. non implementi design pattern, ma li
riconosci, il tuo codice va in certe direzioni
fcirillo: verso certe ortogonalita' di design -> design pattern
fcirillo: tu devi solo riconoscerle nel codice... ascolta il tuo
codice!
fcirillo: giuliano?|
ugo.landini: conversazione MOLTO interessante... tu dici che uno
debba fare tabula rasa davanti alla tastiera?...
ugo.landini: magari portando dell'inovazione?|
fcirillo: sissignore ugo
fcirillo: sii creativo
ugo.landini: ci penserò un po' su...
fcirillo: per esserlo devi studiare principi di design, pattern, per
poi dimenticarli e cominciare a *suonare*
ugo.landini: allora, la creatività è una cosa importante....
ugo.landini: ma non vorrei che si faccia la fine...
ugo.landini: di "artisti" moderni...
ugo.landini: che fanno quadri adtratti senza saper disegnare...
fcirillo: l'importante e' riuscire a ridurre il costo del
cambiamento...
fcirillo: [ugo devi saper disegnare]
ugo.landini: e che si eviti lo studio perchè tanto poi non serve...
tutto qui|
fcirillo: negativo devi studiare moltissimo.
fcirillo: ugo non esiste creazione per partenogenesi....
ugo.landini: Poi io mi sono scritto un sistema per evitare di
utilizzare http tunneling già creati,...
fcirillo: |
fcirillo: ugo un'ultima cosa...
ugo.landini: e ne sono stato soddisfattissimo, anche se potrei aver
utilizzato sol. preesistenti|
fcirillo: se veramente fosse possibile riuscire...
ugo.landini: "avrei potuto", scusate|
fcirillo: a trovare un modo...
fcirillo: per abbracciare il cambiamento...
fcirillo: continuamente...
fcirillo: senza anticipare...
fcirillo: vorrebbe dire che non esisterebbero piu' soluzioni giuste e
sbagliate...
fcirillo: sii aperto verso tutte le direzioni, sempre, questo e' il
messaggio di xp...
fcirillo: per fare xp devi essere un esperto...
fcirillo: devi studiare!
fcirillo: |
fcirillo: giuliano! feedback
ugo.landini: scusate devo proprio chiudere... vi leggerò stasera...
sorry. A presto per il feedback!|
ugo.landini: left the room
pbossi: Mi piaceva come stavate andando avanti, non volevo
interrompervi...
fcirillo: giuliano?!
pbossi: Ho 3 cose da dire:
pbossi: 1) Sono d'accordo con quanto detto da te Francesco.
Invertendo il microciclo e spezzettando alla xp, credo che si faccia
piazza pulita di tutte le artificiosità inutili (come quelle
eventualmente indotte con l'esempio della legge di demeter, e che,
tra le altre cose, abbassano il livello di coesione delle
componenti).
pbossi: 2) Però ho un problema. Supponiamo di avere un sistema in cui
il committente non pone condizioni particolarmente dure in termini di
prestazioni e numero di utenti (==> 5 utenti in intranet) e che debba
comprendere un'anagrafica di controparti su base dati relazionale ==>
avendo già un connection pool x la gestione del db e se lo volessi
usare, starei anticipando? E se non lo avessi e mi venisse voglia di
farlo, stare anticipando? Apparentemente potrei fare tutto senza un
connection pool, giusto? [Francesco, tu sai di cosa sto parlando! :-
)]
fcirillo: davide cosa pensi del punto 2 di giuliano?
varvello: interessante...
pbossi: 3) x Ugo (lo leggerà stasera). Non vorrei averti dato
un'impressione sbagliata: l'http-tunnelling l'abbiamo implementato
noi "from scratch" non abbiamo usato soluzioni preesistenti, i
problemi si sono verificati in altre aree. Lo dicevo x evidenziare
che anche in ambiti molto tecnici si possono verificare grossi
problemi difficili da anticipare.
pbossi: |
varvello: io, reazione a caldo, lo userei...
varvello: 1) l'ho gia' fatto, 2) funziona 3) e' una ciliegina sulla
torta...
fcirillo: lo costruirestei?
varvello: no, se ho capito bene, l'ho gia' costruito|
pbossi: e se non ce l'avessi? |
varvello: se non ce lavessi, non lo farei|
varvello: ...
varvello: il cliente non me l'ha chiesto|
varvello: ...
pbossi: Grande, ma giura che riusciresti a non farlo !!!! :-) :-)
varvello: :-)) quando mi dira': "voglio espandermi" ci pensero' |
pbossi: Francesco, tu che ne pensi?
pbossi: |
fcirillo: se ce l'hai chiedi al cliente tempo per fare spike su
quello e su la cosa piu' semplice (oggetti in memoria, file testi,
odb) capisci la reale complessita' e comunque scrivere qualche
test...
fcirillo: chiedere tempo = il cliente comprende la carta nel planning
game|
fcirillo: torna?
pbossi: Questo non mi è chiaro...puoi essere più preciso?|
varvello: si' grazie|
fcirillo: Prima...
fcirillo: di ricorrere a qualcosa di non necessario (ma potrebbe
essere un vincolo)...
fcirillo: mi accerterei con test che svolga comunque quello che devo
fare io...
fcirillo: se non serve non lo usare!
fcirillo: piu' chiaro?
fcirillo: se non serve...
fcirillo: tu lo dici al cliente...
fcirillo: e lui insiste...
fcirillo: stimagli lo sforzo per comunque testare che non ci siano
problemi...
fcirillo: se lui accetta, procedi...
fcirillo: torna?
pbossi: 4° POMODORO!! Dovremmo concludere...
varvello: torna|
pbossi: Comunque torna, mi piace molto, mi sembra che ....
pbossi: coinvolgendo con questa trasparenza il cliente si evitino
tanti problemi che ho già visto in passato!
pbossi: Molto bello!!!! Forse pensavo al planning game...
fcirillo: questo e' il concetto di visibilita' richiesto da xp|
pbossi: in forma riduttiva, come semplice strumento di
pianificazione, e poca dialettica con il cliente, così mi piace molto
di più!
pbossi: |
fcirillo: penso che oggi
varvello: chat molto interessante...
varvello: mi piacerebbe continuare ancora su c&c e XP|
fcirillo: abbiamo affrontato diversi dei punti in agenda...
fcirillo: rimaniamo che nel feedback di lunedi'...
fcirillo: comunichiamo quali punti necessitano ...
fcirillo: ulteriore discussione...
fcirillo: ok?
varvello: ok|
pbossi: ok|
fcirillo: allora ci aggiorniamo a sabato prossimo 13:45
fcirillo: ciao a tutti
varvello: vi saluto, bye bye|
varvello: left the room
pbossi: Ciao ciao a tutti!
*********************CUT HERE*********************
Un saluto,
Giuliano
Solo per stimolare tutti a:
-> dare il proprio feedback sulla chat di sabato scorso (chi non ha
partecipato puo' leggere il resoconto) - entro lunedi'
-> proporre argomenti per la prossima chat di sabato (13:45) - entro
mercoledi'
Grazie
Francesco
Ciao, mi scuso x il ritardo di 1 gg. sul feedback.
Chat entusiasmante x qualità e densità di argomenti. Gli aspetti di
design in XP mi sembrano una delle cose più interessanti in assoluto.
Mi piace molto la metafora jazzistica di Charlie Parker. Sono
assolutamente d'accordo, bisogna studiare, e tanto, dominare i
principi di design, le metriche, ecc., per poi dimenticare tutto e
lasciarsi andare liberamente e rifattorizzare e lasciarsi andare e
rifattorizzare ........
Non ho capito se l'idea di usare c&c (Coesione e Coupling)
come "bastone da rabdomante" per trovare le aree che necessitano
rifattorizzazione sia una buona idea o meno. Cosa ne pensate?
Mi piacerebbe avere un feedback da Ugo sugli ultimi punti da me
sollevati nella chat quando si era dovuto assentare.
A domani x segnalarvi gli argomenti da approfondire (aka: prox chat?)
Ciao a tutti,
Giuliano