Claudio Brotto

MSF, buon senso e 70-300

Sono ormai da qualche settimana alle prese con la preparazione dell'esame 70-300.

Chiedendo informazioni in giro, magari a colleghi o amici che lo hanno provato (o che hanno provato il suo predecessore, prima della rivoluzione .NET), i consigli che ho ricevuto si riassumono per la maggior parte in:

"C'è poco da studiare, devi andare a buon senso".

Questa affermazione, insieme a qualche lettura degli utlimi giorni, mi ha fatto riflettere.

In particolare è la locuzione buon senso che va interpretata.

In primo luogo, il buon senso comune, a prescindere dall'esperienza o dalle conoscenze, non credo porti molto lontano: se mio nonno andasse a provare l'esame, senza esperienza e senza conoscenze specifiche, ma con tutto il buon senso che si porta dietro con l'età ... beh, probabilmente non lo passerebbe (almeno spero, volete mettere che figura se poi io invece lo canno ).

Buon senso, allora, sta per "buon senso, supportato dall'esperienza".

E qui sta il punto. Perchè questa è un'affernazione pericolosa, oltre che sbagliata in assoluto.

Provo ad estremizzarla, per spiegarmi meglio.

Immaginate di aver sviluppato software per dieci anni.

Con un po' di fortuna siete riusciti ad avere una visione al di là del marginale. Se proprio vi è andata bene, magari perchè avete fatto carriera o semplicemente perchè avete lavorato in una realtà medio-piccola, avete avuto la visione globale sull'intero progetto.

Sul biglietto da visita avete scritto "Software Architect" - che in inglese fa sempre più professionale - e ovviamente vi ritenete tale. E forse lo siete anche, almeno in termini relativi.

La mattina dell'esame vi recate al CTEC di vostra scelta, armati di valigetta e con l'assoluta convinzione di poterlo passare in mezz'ora, sfruttando le due ore di libertà per un caffè ed un giro in centro.

La mezz'ora diventa un'ora e mezza (accidenti, che robe che chiedono, ma chi le usa ?!).

Il caffè vi va di traverso perchè avete miseramente fallito la prova.

Com'è possibile ?

La mia risposta è lapidaria: la vostra esperienza è sbagliata (vedi nota in fondo al post)!

Ieri stavo leggendo alcuni paragrafi di un volume di preparazione per l'esame in questione.

Si parlava di Microsoft Solutions Frameworks (per chi non ne ha mai sentito parlare, è un insieme modelli e di linee guida utili nel corso dell'analisi di un progetto software, che coprono tutte le fasi del progetto, dai preliminari a sviluppo/test/deploy).

In particolare, veniva descritto il "Team Model": come dovrebbe essere composto un team di sviluppo, con la focalizzazione sui ruoli dei singoli componenti e sulla loro reciproca compatibilità).

Io ho semplicemente cercato di retro-applicare quelle linee guida ai team nei quali sono stato coinvolto, o di cui ho sentito parlare sufficientemente per poterne dare un giudizio.

E il 90% dei campioni era nettamente contro il modello.

Il più frequente motivo di collisione che ho riscontrato è che, molto spesso, chi sviluppa fa i test sul proprio codice. E non parlo di un giro in debug perchè c'è un'access violation, ma di test un po' più ad alto livello (li chiamerei unit testing, se non fosse che quando leggerò il capitolo relativo probabilmente non saranno definibili in quel modo ...).

I motivi possono essere diversi: dalla disorganizzazione interna (ma questo, almeno nei casi che ho valutato, era il fattore meno frequente), al sottodimensionamento del personale (che è una forma, spesso subita, di disorganizzazione).

Chi osserva i modelli di analisi e sviluppo in questi contesti, e si basa su quelli per definire i concetti chiave del progetto software ideale, ha una visione che, sbagliata o meno che sia, è opposta a quella di MSF.

E le crocette le mette nel posto sbagliato.

nota in fondo al post

Non è tanto questione di giusto o sbagliato in assoluto.

MSF, come, credo, ogni altro modello, di qualsiasi tipo esso sia, va preso con le pinze ed applicato nelle realtà specifiche.

Se si potesse progettare (o programmare) istanziando un pattern, noi sviluppatori avremmo perso il lavoro !

Ciò nonostante, è un modello che va preso in considerazione seriamente, magari solo come oggetto di paragone.

E questo perchè è stato pensato, non dedotto dal singolo contesto applicativo, come invece è per chi si fa un'idea del processo di progettazione estraendola dalla propria esperienza.

La mia opinione è che seguire un modello alla lettera porti quasi sempre alla morte di un progetto. Però quel modello sarebbe bello averlo sempre in mente, per valutare quali sono i punti in cui si scende a compromessi o ci si discosta per questioni di tempo o risorse.

update:

Dimenticavo ... sono graditisssssssssimi consigli / suggerimenti per l'esame, soprattutto riguardo testi e risorse per una buona preparazione !

powered by IMHO 1.2

Comments

devlizard said:

Claudio,

credo che la risposta che hai ricevuto, ossia... "Usa il buon senso" sia perfettamente adeguata allo scopo. E questo valeva sia per il 70-100 sia per il 70-300. Ho sostenuto quest'ultimo in beta, quindi affrontando il database completo di quesiti, e ti posso _assicurare_ che non si tratta di un esame nel quale devi applicare "pedestremente" MSF. Anzi, spesso di MSF te ne puoi anche fregare e basari sul... Buon senso. Rispondi in funzione di quello che faresti nel mondo reale (io ho fatto così in entrambi gli esami, passati al primo colpo). Conoscere MSF ti aiuterà perchè la padronanza degli strumenti non è mai un handicap quando essi vengono trattati per quello che sono, quindi... "Strumenti". Un po' come il chirurgo che ha tutte quelle forbici e pinzette individualmente ottime sotto il profilo tecnico, ma che devono essere usate propriamente per giungere allo scopo. Se hai qualche dubbio specifico fai un fischio :-)

ciao,
.A
# marzo 6, 2005 10.47

devlizard said:

Grazie Andrea !
Il punto è che ciò che mi preoccupa è il mio buon senso, o per lo meno quanto buono questo sia.
Per continuare la tua metafora, mi sa che sarei capace di tagliare la vena cava al povero paziente che capita sotto le mie grinfie :-)
Staremo a vedere !
... E grazie della disponibilità.
# marzo 6, 2005 10.55

devlizard said:

MSF come dici tu va preso e adattato al proprio modello...
Ma se il 90% lo ritiene sbagliato e poi consegna il proprio software con mesi di ritardo, fuori budget, o peggio con gravi difetti o mancanze, forse non è MSF il problema... ;-)
E questo te lo dico x esperienza personale...

Per l'esame, hai visto la lista di risorse su MSF sul mio blog in inglese?

Oltre a MSF bisogna conoscere un po' di ORM, un po' del modello E/R e del mapping fra i due in quanto un paio di domande ci sono sempre...
Fammi sapere se ti serve altro... ;-)
# marzo 6, 2005 11.48

devlizard said:

Grazie Lorenzo !
Ho visto solo ora la tua (nutrita :-)) lista di risorse.
Come dire ... troppa grazia !
Adesso ho addirittura l'imbarazzo della scelta.
Un motivo in più per rammaricarsi che le ore al giorno siano solo 24 !
# marzo 6, 2005 12.00

devlizard said:

Non posso che ripetere i consigli che ti hanno già dato. Come Andrea, ho dato l'esame in beta e MSF non credo aiuti tantissimo. Il "buon senso" applicato alla logica "Microsoft" è quello da applicare. Condivido il consiglio di Lorenzo: un po' di ORM male non fa, perché a parte le due domande ti consente di vedere anche le cose da un punto di vista leggermente diverso. Molte domande sono sulla modellazione (oggetti, E/R, ORM) quindi fai anche un refresh di UML.
# marzo 7, 2005 11.12

devlizard said:

Grazie Marco !
Sono sempre più curioso di vedere come me la saprò cavare.
Credo che dovrò fare un po' più di un refresh di UML, dal momento che è un argomento che conosco a livello molto basso e, in quel poco, molto accademico.
Agli inizi della mia carriera (cioè poco più in là che ieri) mi ricordo di una definizione di UML data da un collega: "tanti bei diagrammi e una gran perdita di tempo".
Siamo sempre lì, quando i tempi stretti comandano queste tecniche/tecnologie (almeno per la mia esperienza) diventano subito uno spreco di risorse !
# marzo 7, 2005 11.28

TrackBack said:

# marzo 7, 2005 12.20

TrackBack said:

# marzo 27, 2005 11.47

Claudio Brotto said:

Come anticipato ieri, eccomi a scrivere un po' di commenti sull'esame 70-300 ( Analyzing Requirements

# gennaio 27, 2007 11.28

Claudio Brotto said:

Ho ricevuto alcuni commenti e suggerimenti (grazie a tutti !) al post di ieri su MSF, Buon senso e 70-300

# gennaio 27, 2007 11.31