Devo dire che Scott è uno dei miei blogger preferiti, e ci ha regalato una perla (un po lunghetta a dire la verità) ma che vale la pena di essere letta.
Qui l'articolo in integrale ("Pathfinder", rather than "Architect") che nasce a sua volta come commento ad un altro post di Sam Gentile (Being an agile architect). Si parla di quale sia il ruolo e le differenze tra gli sviluppatori/architetti in team tradizionali rispetto a team agili.
Ma voglio commentare alcune parti per chi non lo volesse leggere tutto.
"Everyone is a Designer - and if they're not, they better become one.[...]
There is a basic assumption on agile teams that the programmers involved know more about software design than do programmers on traditional teams.[...]
Design skills on an agile team deepen by necessity. The bar for software design is higher on agile teams as clean design is a primary enabler of productivity and sustainability"
Forse è vero. Uno sviluppatore in un team agile deve (o dovrebbe) avere ben chiaro il concetto di buon design e cattivo design (il che significa almeno la conoscenza dei principi del buon design).
"What's a traditional architect to do on an agile team?[...]
The bulk of the balance of a traditional architect's responsibilities are distributed to other roles on an agile team.[...]
On an agile team, programmers are more akin to a traditional team's designers..."
Se uno dei tanti compiti di un architetto è occuparsi del design dell'applicazione, chiaramente questo carico può essere re-distribuito. Anche qui non ci vedo rogne.
"On an agile team, it's the architect's responsibilities to guide the team to new technologies and new approaches - and it means unequivocally doing this from right there in the common workspace, shoulder-to-shoulder with the rest of the team"
Sacro.
"Abstraction is a sixth sense. Not everyone has it, not everyone is good at at, and not everyone is interested or aware of it. An agile architect caries the concretions of abstractions into the team and into the code by doing the actual coding work himself."
Sacrissimo.
"On an agile team, the architect has a duty to participate as coder. He must be up to his elbows in the code that will make use of any frameworks that he builds, and the code that implements any technical plan that he has crafted or approved."
E questo è puro vangelo. Un architetto che scrive soluzioni/framework senza applicarli, mi fa sorridere al solo pensiero.
Non avrà mai il polso della situazione. E poi è anche vero che un buon design "emerge" man mano dal codice grezzo.
"...Microsofticus Architectimonius Disgustus - Hopefully a Species in Decline [...] ..."
Beh...straordinaria...ma questa è TUTTA da leggere direttamente dal post...:-)
Scott....10 e lode.