Architecture agile
Ecris le 29 janvier 2005
Dans la catégorie Uncategorized |
Brad Appleton d?crivait r?cemment comment la conception de syst?mes informatique lui a ?t? enseign?e ? l?universit?. Il faisait notamment appara?tre la notion de ? negative space ?, inspir? par Christopher Alexander.Cette notion tiens en une phrase : ? il n?y a pas de code plus flexible que l?absence de code ?.Depuis 30 ans, toutes les th?ories d?architecture informatique nous ont bien fait comprendre qu?il fallait s?parer les syst?mes en modules les plus ind?pendants les uns des autres. Aujourd?hui, on parle m?me d?architecture multi-tiers comme si on avait renonc? ? essayer de les d?nombrer. Tout dossier d?architecture pour une nouvelle application fait bien appara?tre ces diff?rents modules, et m?mes les utilisateurs ou ma?tres d?ouvrage on pris l?habitude de d?crire leurs syst?mes par morceaux : les ?crans, les donn?es, les traitements m?tiers, les interfaces avec les autres syst?mes, etc..etc..Lorsqu?il s?agit de passer en phase de r?alisation, et bien on avance pas ? pas. Il ne s?agirait pas de se lancer sur tous les morceaux en m?me temps et qu?ils ne se recollent pas ? la fin ! Alors on commence par le d?but : la base de donn?e. Puis viennent les traitements, puis les ?crans. Certains tentent de proc?der en ordre inverse, j?ai entendu dire que cela abouti parfois.Bref, nous avons des briques ? construire et ? assembler, et nous le faisons pas ? pas.Puis sont arriv?es les m?thodes agiles. On parle alors d?it?rations, les plus courtes possibles, et de feedback des utilisateurs, ou de la Ma?trise d?Ouvrage, ce qui reviens (presque) au m?me. Les bonnes habitudes acquises de nos architectures modulaires nous poussent alors ? construire it?rativement le syst?me module par module, couche par couche, tiers par tiers. It?ratif quoi !Certes, pourquoi pas, mais si nous livrons aux utilisateurs une base de donn?es sans traitements, ou des traitements sans ?crans, ou des ?crans sans le reste, et bien ils ne pourront rien en faire et ne donner aucun feedback. Il faut tout, ou rien.Il s?agit donc de construire ? chaque it?rations un syst?me complet, avec toutes ses couches, et tous ses tiers ! Mais comment faire en une it?ration de 2 semaines, ce qui nous semblait si compliqu? de r?aliser en 6 mois !!Toute la difficult? est l?.Certes, les m?thodes agiles ont leurs avantages nombreux et reconnus, mais cela n?cessite avant tout de repenser la fa?on d?architecturer nos syst?mes informatiques. Cela est possible, mais il faudra ?tre capable de fournir quelque chose de complet ? chaque it?ration, quelque chose qui puisse augmenter en complexit? si n?cessaire. Cet accroissement de complexit? ? chaque it?ration sera ? la fois fonctionnel et technique.Plus que jamais, l?architecte doit ma?triser le fonctionnel et le technique pour en livrer le c?ur, l?essence, en laissant le reste dans le ? negative space ?.
Social BookmarkingCommentaires
Laisser un commentaire
