Aspettate, leggete prima di saltarmi addosso :P

Ovviamente il titolo va il verso a questo mio post, in cui sembravo dire tutto il contrario...
Comunque, oggi ho avuto un'altra sessione di riunione/sviluppo presso uno dei miei clienti.

Quello di oggi, in particolare, ha la necessità di creare una demo funzionante in tempi brevi che verrà usata, ma che comunque è destinata ad essere soppiantata/riscritta. Per l'applicativo in questione io faccio la parte di coordinatore delle risorse ed "architetto".
Parlando con altre persone di questo lavoro, mi sono reso conto che il mondo dello sviluppo è cambiato radicalmente, ma forse anche un pò troppo... da quanto il termine "architettura" è entrato prepotentemnete nell'uso comune, mentre prima era riservato a poche persone elette, tutti hanno coscienza di questo, e quindi ne usano a piene mani... molto spesso magari abusano...

Intendiamoci, sono io il primo a fare architetture a 3 livelli nei progetti di test, e  poi non va nulla.... ma il test, la teoria, lo studio è una cosa, il lavoro è un'altra.
Tornando all'applicazione di cui sopra, si lo ammetto, ho disegnato un domain model, ma non ho per esempio separato le query dallo strato di business, e non ho usato NHibernate perchè il gruppo di lavoro non sarebbe stato in grado di gestirlo.

Ho creato un'architettura "zoppa" che non è pulita e non usa MVP o altri pattern complessi, ma l'ho adattata al team di sviluppo ed al tempo a disposizione (poco, visto lo status di demo del progetto).... sono io l'unico visionario o penso che sia meglio stuprare la teoria ogni tanto, piuttosto che perseguirla fino all'ultimo e rischiare di far fallire il progetto e confondere gli sviluppatori che ci lavorano?

Mi sembra francamente di aver già letto qualcuno che la pensava come me, forse Luka, ma francamente non mi ricordo :)

posted on venerdì 18 maggio 2007 2.31 | Filed Under [ Daily Issue ]

Comments

Gravatar
# re: [Daily Issue] L'importanza dell'architettura... ma non poi tanto...
Posted by Pierre Greborio
on 18/05/2007 7.10
Forse, nel tuo caso, ti basta avere un prototipo. Non c'e' realmente bisogno di architettura :-)
Gravatar
# Re: [Daily Issue] L'importanza dell'architettura... ma non poi tanto...
Posted by Roberto Messora
on 18/05/2007 8.45
è un po' come le specifiche dei motori a curvatura di Star Trek: alla fine il capo ingegnere, dopo 2-3 anni in giro per lo spazio si rende conto che gli iniettori del plasma vanno allineati a 0,3 micron invece che a 0,5 come da manuale, mentre i collettori EPS devono baipassare alcuni circuiti secondari se si vuole mantenere l'efficienza oltre una certa soglia.
Là fuori è un altra cosa...
saluti
Gravatar
# re: [Daily Issue] L'importanza dell'architettura... ma non poi tanto...
Posted by (luKa)
on 18/05/2007 8.46
si, lo trovo un ottimo esempio di vita reale di un architetto.

concordo con te che un architetto ha a disposizione in un mazzo di soluzioni da cui estrarre quella adatta ad un singolo progetto in base a:
- tempi
- costi
- requisiti (funzionali e qualitativi)
- team ****

si perchè il _team_ è il primo destinatario della architettura , colui che la userà per risolvere problemi e la evolverà insieme al prodotto.

Gravatar
# Progettazione software, un esempio di vita reale
Posted by (luKa)
on 18/05/2007 9.11
Gravatar
# re: [Daily Issue] L'importanza dell'architettura... ma non poi tanto...
Posted by Mario
on 18/05/2007 11.24
Concordo con gli altri. Un prototipo forse ti avrebbe semplificato la vita. Star Trek è l'esempio giusto...
Dura la vita dell'architetto! Per chi volesse intreprendere questa carriera consigliere: buon fegato e mandrakate a disposizione!
Gravatar
# re: [Daily Issue] L'importanza dell'architettura... ma non poi tanto...
on 18/05/2007 11.26
Mi trovo molto d'accordo con Luka sul fatto che il team gioca un ruolo fondamentale nella scelta dell'architettura. E' inutile inventarsi una super architettura se poi il team non è in grado di gestirla nel modo corretto...meglio semplificare
Gravatar
# Re: [Daily Issue] L'importanza dell'architettura... ma non poi tanto...
Posted by Igor Damiani
on 18/05/2007 11.59
sì, quoto anche io il commento di Emanuele. L'architettura deve essere calibrata sul team. E' inutile dare uno strumento o delle linee-guida se poi il team non sa gestirle. Meglio semplificare le cose, adattarle al contesto e lavorare. :-)
Gravatar
# re: [Daily Issue] L'importanza dell'architettura... ma non poi tanto...
Posted by Pierre Greborio
on 18/05/2007 19.09
Vabbe', questa volta faccio l'avvocato del diavolo :-)

Non sono d'accordo con l'affermazione che "l'architettura debba essere calibrata sul team."

Considerazioni:

1. L'architettura e' durevole e molto spesso indipendente dalla tecnologia, mentre il team lo e' molto meno. Una buona architettura puo' durare anche 10 anni, il team potrebbe cambiare anche una volta all'anno.

2. Quella affermazione suon un po' cosi': "se ho un team di persone di basso profilo penso ad una architettura di basso profilo, se e' di alto profilo allora la complico"

3. Il lavoro dell'architetto consiste nel soddisfare tutti i requirements di business (funzionali, tempi e costi) e nel definire un sistema astratto al punto di poter cambiare la tecnologia sottostante abbastanza agevolmente. L'architettura risultate deve essere composta da tanti elementi semplici.

4. Non possiamo mai aspettarci di avere un team di guru. E' compito dell'architetto trovare le parole per rendere semplice N sottosistemi, che messi insieme divengono un sistema complesso.

Chiaramente l'architetto ha un compito arduo e deve confrontarsi con molte persone. Ma sono le persone che si adattano all'architettura, non l'architettura che si adattano alle persone.

Se non ci riescono? Un paio di solutioni:
1. L'architettura e' sbagliata (perche' troppo complicata) e quindi va rifatta
2. Le persone non sanno nemmeno i principi base della programmazione...fare un bel corso base o cambiare mansione.
Gravatar
# Progettazione software, un esempio di vita reale
Posted by (luKa)
on 19/05/2007 9.56
Gravatar
# re: [Daily Issue] L'importanza dell'architettura... ma non poi tanto...
Posted by (luKa)
on 19/05/2007 10.20
@Pierre

concordo molto col punto 4.

mentre sono in disaccordo con questa conclusione: "sono le persone che si adattano all'architettura, non l'architettura che si adattano alle persone."


trovo che l'informatica è per sua natura flessibile e intangibile che poi sono i suoi punti di forza. in più è giovane ed in evoluzione =

1-non ho ancora trovato 2 architetti che usano/conoscono gli stessi strumenti (per attributi di qualità, modellazione della sicurezza, analisi dei rischi, pattern architetturali logici/fisici, metriche, notazioni di modellazione, processi di sviluppo)

2-non ho ancora trovato 2 "developer" che rappresentano con lo stesso modello mentale (stessi termini, stesso approccio, stessa organizzazione, stesso punto di vista) per un problema complesso, figurarsi quanto è distante da quello del "architetto"

=> l'anello debole di questo processo è condividere una visione comune della architettura. in confronto è più facile definirla ... il che trovo sia tutto dire.


Gravatar
# re: [Daily Issue] L'importanza dell'architettura... ma non poi tanto...
on 19/05/2007 12.03
Io direi che se le persone non riescono ad adattarsi all'architettura... bisognerebbe cambiare persone...
come dire che l'ATM cambia i treni della metropolitana, e alcuni autisti non riescono ad adattarsi alle novità...
O li si manda a casa, o lo si manda a fare altro...

Gravatar
# re: [Daily Issue] L'importanza dell'architettura... ma non poi tanto...
Posted by (luKa)
on 19/05/2007 14.40
> Io direi che se le persone non riescono ad adattarsi all'architettura... bisognerebbe cambiare persone...

certo, e se è il team di dev che non riesce a capirla in alcuni casi quello da mandare a casa è l'architetto che non è in grado di comunicare l'architettura (principale compito del architetto nell'architettura moderna) che ha definito a coloro che sono i destinatari naurali.


Gravatar
# re: [Daily Issue] L'importanza dell'architettura... ma non poi tanto...
on 19/05/2007 19.00
Mah... siamo sempre li... io trovo che ci si sta discostando dalla vita reale :)

Posso anche essere d'accordo sul fatto che se una persona non si adatta è da mandare a casa.. .e sono anche d'accordo che se una persona non si adatta, la mando a casa, ne arriva un'altr ache non si adatta, mando a casa anche lei, e via dicendo.. o il tipo delle HR è da licenziare, oppure l'architetto non vale un gran che...

Ma tutto questo non mi salva dal fatto che il progetto verrà rilasciato in ritardo, che avrà qualche feature in meno, che insomma ci sarà qualcosa che non va....

Mi capita molto poco spesso di poter _scegliere_ il mio team di sviluppo. E sfido una grande società con dei dipendenti a riuscire a riallocare una persona di un team di sviluppo da qualche altra parte se l'architetto dice che "non va bene" perchè lui deve applicare le supercazzole. La decisione ultima spetta sempre a chi caccia i soldi, ricordiamocelo, io di solito parlo con lui ed evidenzio pro e contro. Insomma, posso dire che quella persona è da mandare a casa, ma nel frattempo se riesco ad adattare un'architettura meno perfetta per rispettare le consegne preferisco violentarmi .... il refactoring poi portrà arrivare a risolvere molti degli eventuali errori!
Gravatar
# re: [Daily Issue] L'importanza dell'architettura... ma non poi tanto...
Posted by Sem Tamburella
on 20/05/2007 2.05
Come i fallimenti di molti politici giacca e cravatta, che danno sempre importanza alle parole e niente ai fatti. Alla fine l'importanza vera e attiva è di quella parte di popolo che esegue il lavoro con le proprie mani e non con la testa altrui.
Gravatar
# re: [Daily Issue] L'importanza dell'architettura... ma non poi tanto...
Posted by Pierre Greborio
on 21/05/2007 8.00
Luka,
concordo con te che manca uno strumento (o se vogliamo vari strumenti) comune usato dagli architetti, ma non credo sia rilevante.

Ultimamente ho letto un documento (non pubblico) scritto da un ottimo architetto scritto in Word! Ho capito tutto di quel che proponeva come architettura (non sono un guru).

Niente diagrammi UML, niente Visio e niente strumenti strani. UN semplice documento di testo ben organizzato che spiegava in modo discorsivo come immaginava l'architettura.

Che cos'e' quindi un architetto?

1. Un ottimo comunicatore
2. Una persona capace di tradurre un sistema complesso in N sottosistemi semplici
3. Una persona che non ha bisogno di strumenti fantascientifici per illustrare l'architettura
4. Uno che non sta sulla cattedra
5. Uno che ascolta da tutti prima di proporre una soluzione

Alessandro,
hai ragione, chi paga vuole risultati. Ma molto spesso ti capita di incontrare chi paga voler dei risultati tutti e subito senza preoccuparsi dei costi a lungo termine. Se illustri una soluzione che costa 10 oggi e 1000 domani, ed unlatra che costa 100 oggi e 10 domani, che cosa pensi che scelga? Dalle esperienza avute in Italia il 90% sceglie la prima :-) Ma l'imprenditore vero, quello che crede nel proprio business scegliera' la seconda.

Al cliente vanno date piu' opzioni e sta poi lui a scegliere. Se poi vuole schiantarsi sta a noi decidere se bruciarci o no. Ma stai tranquillo, che quello che ti chiede do spendere 10 oggi vorra' spendere 10 anche domani e se le cose non vanno la colpa sara' sempre la tua...
Gravatar
# re: [Daily Issue] L'importanza dell'architettura... ma non poi tanto...
on 21/05/2007 10.32
Correttissimo, ma sarà una mia pecca, non ho la fortuna di poter sempre scegliere i miei clienti. Nel senso che nell'ambito di un'azienda di medio/grandi dimensioni mi capita di interagire con differenti PM, e tra queste persone il modo di vedere cambia in maniera assolutamente radicale. Non posso permettermi di perdere il cliente perchè non riesco ad "abbassarmi" ogni tanto.
L'importante è mettere le cose sempre per iscritto e, soprattutto, evitare di proporre qualcosa che costa dieci e che sarà inmanutenibile nel lungo periodo! Io parlo sempre di architetture non perfette, non di architetture mancanti.. c'è una grande differenza :)
Gravatar
# re: [Daily Issue] L'importanza dell'architettura... ma non poi tanto...
Posted by Roberto Valenti
on 21/05/2007 12.38
http://en.wikipedia.org/wiki/You_Ain't_Gonna_Need_It

YAGNI :-)
Gravatar
# re: [Daily Issue] L'importanza dell'architettura... ma non poi tanto...
Posted by jumparound
on 13/07/2007 10.47
Secondo me un architetto deve essere un mediatore, un artista, un leader, uno scienziato. In alcuni casi deve semplificare per rendere agevole lo sviluppo, in altri forzare e insegnare a utilizzare alcuni concetti e idee in nome di un fururo più roseo. Deve capire il problema, e capire cosa può fare il team che non può spesso sostituire. Ottimizzare tempi e costi, senza poter sbagliare. E anche se fa un ottimo lavoro, non risolve i problemi, può solo minimizzare le spese e interventi futuri. In conclusione, un architetto non è nulla, senza un team di sviluppatori, manager e commerciali appropriato. L'architettura quindi inizia quando viene assunto un collaboratore, nelle pause caffè e nelle cene con i colleghi, nella riflessione che viene fatta a fine giornata, anche prima di addormentati...
Post Comment
Title *
Name *
Email
Url
Comment *  
Please add 4 and 3 and type the answer here: