SlideShare une entreprise Scribd logo
1  sur  71
Télécharger pour lire hors ligne
FÉLIX-ANTOINE BOURBONNAIS
B.ING., M.SC., PSM
Version 2.0 – Mai 2016
Architecture Agile
durable
2
public class
MonTraitement
}
{
4
Félix-Antoine Bourbonnais
B.ing., PSM, M.Sc.
5
Formations Accompagnement Diagnostics Conférences
Félix-Antoine Bourbonnais
fbourbonnais@elapsetech.com
6
Coach
Mentor
Formateur
Félix-Antoine Bourbonnais
fbourbonnais@elapsetech.com
TECH
ÉQUIPE
AGILE
7 7
Expert en…
/ Tests automatisés
/ Pratiques de développement
/ Architecture évolutive
/ Spécification par l’exemple et BDD
/ Agilité et Scrum
Félix-Antoine Bourbonnais
8Image de Eyesplash
http://commons.wikimedia.org/wiki/File:Welkom_willkommen_Welcome_Bienvenue_Benvenuto.jpg
9
Le défi moderne:
la maintenabilité !
10
Ce n’est pas une course
courte piste!
11
C’est un marathon
… sans fin !
12
Pour gagner, il faut une
vélocité stable…
13
Pour cela il faut s’outiller
pour garder le rythme!
Gestion de projets
durable
+
Architecture
durable
+
Pratiques
durables
Image : http://robclearyphoto.blogspot.ca/2012/06/green-roof-cookfox.html
Développement logiciel durable
14
1. They want to use an agile process, and pick Scrum
2. They adopt the Scrum practices, and maybe even
the principles
3. After a while progress is slow because the code
base is a mess
-- Martin Fowler
Flacid Scrum
17
Nos prochains 90 minutes…
17
DÉFIS DU DÉVELOPPEMENT MODERNE
Les
18
19
L’informatique est l’ADN de
nos entreprises
20
Ça bougeait vite…
Et ça bouge encore plus vite !
Le futur technologique
est incertain et il faut
livrer de plus en plus vite…
La réalité
21
Cloud
Big-Data
NoSQL
Distribué
Mobile
22
L’architecture doit donc
évoluer avec l’entreprise…
et donc être flexible !
23
Est-ce que nos
architectures sont Agiles ?
Mais…
24
Mais il ne faut
surtout pas ralentir…
25
Le développement logiciel est
désormais un flot perpétuel…
26
… sans compromettre
la qualité!
Les principes d’architecture
durable existent!
Comment augmenter ma maintenabilité alors ?
27
28
On veut une architecture durable,
modulaire et flexible !
Pour s’adapter aux nouvelles
réalités, il faut revisiter
l’OO à la lumière de ces
défis..
Notre objectif
29
LES FONDEMENTS
D’UNE ARCHITECTURE DURABLE
Partie 2
31
Architecture durable
Rien n’est noir ou
blanc…
Tout est une question de
connaître pour appliquer
ou non les concepts selon
le contexte
Avertissement
32
Tout est à propos de
casser les vagues de modifications!
Architecture évolutive
33
A good architect maximizes
the number of decisions not
made
-- Robert C. Martin
34
LES 5 PIÈGES QUI FONT
UNE ARCHITECTURE ÉPHÉMÈRE...
Partie 2
35
Architecture durable
LE MANQUE D’ABSTRACTION…
36
Piège
1
Qu’est-ce que l’OO a apporté
de nouveau ?
37
38
La gestion des dépendances !
Orientation objet
La grande contribution de l’OO est la
capacité à inverser la
dépendance par rapport
au flot d’exécution
Inversion des dépendances
39
L’abstraction
Le paradigme
OO implique l’utilisation
d’abstractions
40
Les dépendances
Le polymorphisme
est à la base même de l’OO
41
On veut brancher les
dépendances, pas les souder!
L’effet d’avalanche !
Votre pire risque...
42Image Andre Charland / Flickr
Notre objectif…
Contenir les vagues causées par les modifications !
Briser les dépendances
44
X
SQLDb
MapDb
if( dbType == SQL )
... sqlDb.query("SELECT id ..."
else
... mapDb.get(id)
X
MapRepoSqlRepo
repository.findById(id)Repository
L’ANÉMIE ET L’OBSESSION DES “GET”
45
Piège
2
Le « Tell don’t Ask »
Image: sheelamohan et jscreationzs / FreeDigitalPhotos.net 46
Domaine où les objets ont des
données mais pas de
comportements.
Les comportements sont
uniquement dans des objets
« Managers » qui gèrent le domaine
Domaine anémique
47
Non pas forcément
(ex.: Rails)
Mais est-ce un choix
conscient ou par défaut?
Est-ce mauvais ?
48
L’UTILISATION D’UNE ARCHITECTURE UNIQUE…
49
Piège
3
50
2 grands contextes
51
Un projet peut avoir
plusieurs
architectures !
De nos jours…
52
Chaque style, pattern, etc.
a des effets secondaires !
Rien n’est parfait…
Le drame….
Les organisations
reproduisent toujours le
même modèle architectural
sans se poser de
questions !
53
MÉCONNAISSANCE
DES « PATTERNS » ET « PRINCIPES »
54
Piège
4
• SRP
Single Responsibility
• OCP
Open Closed
• LSP
Liskov Substitution
• ISP
Interface Segregation
• DIP
Dependency Inversion
Principes S.O.L.I.D.
55
56
Les Design Pattern
56
Factories
57
Les Patrons pour entreprises
57
Domain
Layer
Il faut comprendre les effets secondaires
des patrons de conception…
Les prendre quand vous n’avez pas la
maladie peut vous tuer!
Attention!
LA MAUVAISE COMPRÉHENSION DES « COUCHES »
59
Piège
5
60
Le modèle en “couches”
60
Présentation : GUI, WS …
Domaine d’affaires
Persistance
et services externesProblème…
61
Image tiré de:
http://www.dossier-andreas.net/software_architecture/ports_and_adapters.html
Et si les couches étaient des « plugins » ?
61
Modèles architecturaux
Hexagonal / Port&Adapter
http://www.duncannisbet.co.uk/hexagonal-architecture-for-testers-part-1 62
Modèles architecturaux
Clean Architecture
http://blog.8thlight.com/uncle-bob/2012/08/13/the-clean-architecture.html 63
Il faut savoir les utiliser au bon moment!
Tackling Complexity in the
Heart of Software
Domain
Driven Design (DDD)
CONCLUSION
65
Architecture durable
Ceci n’est pas une
invitation au BDUF !
(Big Design Up Front)
Mais…
66
67
Savez-vous ce que sera votre produit et
la technologie dans 5 ans ?
68
Il n’est pas nécessaire de
deviner. Il faut simplement
s’outiller pour évoluer
avec eux!
69
Mais l’architecture durable
n’est pas suffisante…
Il reste les pratiques durables…
71http://lostechies.com/derickbailey/2009/02/11/solid-development-principles-in-motivational-pictures/ 71
Le développement logiciel
n’est pas un jeu de Jenga !
Merci.
73
Merci Notre site
elapsetech.com
Notre blogue
developpementagile.com
Twitter
@fbourbonnais | @elapsetech
Mon courriel
fbourbonnais@elapsetech.com
Mon LinkedIn
linkedin.com/in/fbourbonnais/fr
conferences.elapsetech.com
Diapositives
Nos présentations, chez vous!

Contenu connexe

En vedette (13)

Treball de síntesi: Instalacions i activitats esportives a Girona
Treball de síntesi: Instalacions i activitats esportives a GironaTreball de síntesi: Instalacions i activitats esportives a Girona
Treball de síntesi: Instalacions i activitats esportives a Girona
 
Week 1
Week 1Week 1
Week 1
 
Dylan glowacki smartphones
Dylan glowacki smartphonesDylan glowacki smartphones
Dylan glowacki smartphones
 
Dylan glowacki smartphones
Dylan glowacki smartphonesDylan glowacki smartphones
Dylan glowacki smartphones
 
Week 4
Week 4Week 4
Week 4
 
Week 3
Week 3Week 3
Week 3
 
互联网产品:记忆线
互联网产品:记忆线互联网产品:记忆线
互联网产品:记忆线
 
Le BDD est bien plus qu’une technique de test!
 Le BDD est bien plus qu’une technique de test! Le BDD est bien plus qu’une technique de test!
Le BDD est bien plus qu’une technique de test!
 
Febre chikungunya
Febre chikungunyaFebre chikungunya
Febre chikungunya
 
Lec1 2
Lec1 2Lec1 2
Lec1 2
 
Ijiiteigee uzsen naadam
Ijiiteigee uzsen naadamIjiiteigee uzsen naadam
Ijiiteigee uzsen naadam
 
Ses 6 if god is one, then why so many religions
Ses 6 if god is one, then why so many religionsSes 6 if god is one, then why so many religions
Ses 6 if god is one, then why so many religions
 
Conjutivite
ConjutiviteConjutivite
Conjutivite
 

Similaire à Architecture Agile durable (v 2.0)

Livre blanc Quantmetry 2019 - IA en production, cycle de vie et dérive des mo...
Livre blanc Quantmetry 2019 - IA en production, cycle de vie et dérive des mo...Livre blanc Quantmetry 2019 - IA en production, cycle de vie et dérive des mo...
Livre blanc Quantmetry 2019 - IA en production, cycle de vie et dérive des mo...Guillaume MOCQUET
 
Architecture Agile et développement durable (v 1.2)
 Architecture Agile et développement durable (v 1.2) Architecture Agile et développement durable (v 1.2)
Architecture Agile et développement durable (v 1.2)Elapse Technologies
 
JBL - ENSIM - Approche Architecture d'Entreprise
JBL - ENSIM - Approche Architecture d'EntrepriseJBL - ENSIM - Approche Architecture d'Entreprise
JBL - ENSIM - Approche Architecture d'EntrepriseJean Blanchard
 
2014 04 07 must mémoire transition vers le cloud du business model des edite...
2014 04 07 must mémoire  transition vers le cloud du business model des edite...2014 04 07 must mémoire  transition vers le cloud du business model des edite...
2014 04 07 must mémoire transition vers le cloud du business model des edite...Gilles d'Arpa
 
FLUPA UX-Day 2014 - Leslie Matté et Risvan Asif : "Pourquoi l’UX Design va s’...
FLUPA UX-Day 2014 - Leslie Matté et Risvan Asif : "Pourquoi l’UX Design va s’...FLUPA UX-Day 2014 - Leslie Matté et Risvan Asif : "Pourquoi l’UX Design va s’...
FLUPA UX-Day 2014 - Leslie Matté et Risvan Asif : "Pourquoi l’UX Design va s’...Flupa
 
Le DevOps : La clé de la transformation digitale ?
Le DevOps : La clé de la transformation digitale ?Le DevOps : La clé de la transformation digitale ?
Le DevOps : La clé de la transformation digitale ?Amico Fabien
 
Talk OpenGroup Quebec - Architecture d'Entreprise chez MMA - 20151207
Talk OpenGroup Quebec - Architecture d'Entreprise chez MMA - 20151207Talk OpenGroup Quebec - Architecture d'Entreprise chez MMA - 20151207
Talk OpenGroup Quebec - Architecture d'Entreprise chez MMA - 20151207Laurent Broudoux
 
A design thinking use case: iterate a new design sprint process to enhance t...
A design thinking use case: iterate a new design sprint process to enhance t...A design thinking use case: iterate a new design sprint process to enhance t...
A design thinking use case: iterate a new design sprint process to enhance t...Sébastien Faure
 
Implanter l'AOP... Comment partir du bon pied?
Implanter l'AOP... Comment partir du bon pied?Implanter l'AOP... Comment partir du bon pied?
Implanter l'AOP... Comment partir du bon pied?Elapse Technologies
 
Dossier de Production, groupe 76
Dossier de Production, groupe 76Dossier de Production, groupe 76
Dossier de Production, groupe 76Benjou1
 
CobiT Pour une meilleure gouvernance des systèmes dinformation (Fabrice Garni...
CobiT Pour une meilleure gouvernance des systèmes dinformation (Fabrice Garni...CobiT Pour une meilleure gouvernance des systèmes dinformation (Fabrice Garni...
CobiT Pour une meilleure gouvernance des systèmes dinformation (Fabrice Garni...AlphaKabinetKABA
 
Pratiques de management à l'ère du numérique - BlendWebMix2017
Pratiques de management à l'ère du numérique - BlendWebMix2017Pratiques de management à l'ère du numérique - BlendWebMix2017
Pratiques de management à l'ère du numérique - BlendWebMix2017Cecil Dijoux
 
Performance collective de l' equipe projet
Performance collective de l' equipe projetPerformance collective de l' equipe projet
Performance collective de l' equipe projetVincent ROSTAING
 
Mise en place d’une démarche lean construction dans le pilotage des corps d’é...
Mise en place d’une démarche lean construction dans le pilotage des corps d’é...Mise en place d’une démarche lean construction dans le pilotage des corps d’é...
Mise en place d’une démarche lean construction dans le pilotage des corps d’é...Stéphane Cazin
 
Projet les fondamentaux - version 2014
Projet les fondamentaux -  version 2014Projet les fondamentaux -  version 2014
Projet les fondamentaux - version 2014Rémi Bachelet
 
2.2 cycles de vie
2.2 cycles de vie2.2 cycles de vie
2.2 cycles de vieHarun Mouad
 
Guide_de_survie_en_milieu_responsive
Guide_de_survie_en_milieu_responsiveGuide_de_survie_en_milieu_responsive
Guide_de_survie_en_milieu_responsiveNicolas Massouh
 
Guide de survie en milieu responsive - Paris Web 2013
Guide de survie en milieu responsive - Paris Web 2013Guide de survie en milieu responsive - Paris Web 2013
Guide de survie en milieu responsive - Paris Web 2013Guillaume Abel
 

Similaire à Architecture Agile durable (v 2.0) (20)

Livre blanc Quantmetry 2019 - IA en production, cycle de vie et dérive des mo...
Livre blanc Quantmetry 2019 - IA en production, cycle de vie et dérive des mo...Livre blanc Quantmetry 2019 - IA en production, cycle de vie et dérive des mo...
Livre blanc Quantmetry 2019 - IA en production, cycle de vie et dérive des mo...
 
Architecture Agile et développement durable (v 1.2)
 Architecture Agile et développement durable (v 1.2) Architecture Agile et développement durable (v 1.2)
Architecture Agile et développement durable (v 1.2)
 
JBL - ENSIM - Approche Architecture d'Entreprise
JBL - ENSIM - Approche Architecture d'EntrepriseJBL - ENSIM - Approche Architecture d'Entreprise
JBL - ENSIM - Approche Architecture d'Entreprise
 
2014 04 07 must mémoire transition vers le cloud du business model des edite...
2014 04 07 must mémoire  transition vers le cloud du business model des edite...2014 04 07 must mémoire  transition vers le cloud du business model des edite...
2014 04 07 must mémoire transition vers le cloud du business model des edite...
 
FLUPA UX-Day 2014 - Leslie Matté et Risvan Asif : "Pourquoi l’UX Design va s’...
FLUPA UX-Day 2014 - Leslie Matté et Risvan Asif : "Pourquoi l’UX Design va s’...FLUPA UX-Day 2014 - Leslie Matté et Risvan Asif : "Pourquoi l’UX Design va s’...
FLUPA UX-Day 2014 - Leslie Matté et Risvan Asif : "Pourquoi l’UX Design va s’...
 
Le DevOps : La clé de la transformation digitale ?
Le DevOps : La clé de la transformation digitale ?Le DevOps : La clé de la transformation digitale ?
Le DevOps : La clé de la transformation digitale ?
 
2UNL - PARISWEB 2010
2UNL - PARISWEB 20102UNL - PARISWEB 2010
2UNL - PARISWEB 2010
 
Talk OpenGroup Quebec - Architecture d'Entreprise chez MMA - 20151207
Talk OpenGroup Quebec - Architecture d'Entreprise chez MMA - 20151207Talk OpenGroup Quebec - Architecture d'Entreprise chez MMA - 20151207
Talk OpenGroup Quebec - Architecture d'Entreprise chez MMA - 20151207
 
A design thinking use case: iterate a new design sprint process to enhance t...
A design thinking use case: iterate a new design sprint process to enhance t...A design thinking use case: iterate a new design sprint process to enhance t...
A design thinking use case: iterate a new design sprint process to enhance t...
 
Implanter l'AOP... Comment partir du bon pied?
Implanter l'AOP... Comment partir du bon pied?Implanter l'AOP... Comment partir du bon pied?
Implanter l'AOP... Comment partir du bon pied?
 
Méthodes agiles
Méthodes agilesMéthodes agiles
Méthodes agiles
 
Dossier de Production, groupe 76
Dossier de Production, groupe 76Dossier de Production, groupe 76
Dossier de Production, groupe 76
 
CobiT Pour une meilleure gouvernance des systèmes dinformation (Fabrice Garni...
CobiT Pour une meilleure gouvernance des systèmes dinformation (Fabrice Garni...CobiT Pour une meilleure gouvernance des systèmes dinformation (Fabrice Garni...
CobiT Pour une meilleure gouvernance des systèmes dinformation (Fabrice Garni...
 
Pratiques de management à l'ère du numérique - BlendWebMix2017
Pratiques de management à l'ère du numérique - BlendWebMix2017Pratiques de management à l'ère du numérique - BlendWebMix2017
Pratiques de management à l'ère du numérique - BlendWebMix2017
 
Performance collective de l' equipe projet
Performance collective de l' equipe projetPerformance collective de l' equipe projet
Performance collective de l' equipe projet
 
Mise en place d’une démarche lean construction dans le pilotage des corps d’é...
Mise en place d’une démarche lean construction dans le pilotage des corps d’é...Mise en place d’une démarche lean construction dans le pilotage des corps d’é...
Mise en place d’une démarche lean construction dans le pilotage des corps d’é...
 
Projet les fondamentaux - version 2014
Projet les fondamentaux -  version 2014Projet les fondamentaux -  version 2014
Projet les fondamentaux - version 2014
 
2.2 cycles de vie
2.2 cycles de vie2.2 cycles de vie
2.2 cycles de vie
 
Guide_de_survie_en_milieu_responsive
Guide_de_survie_en_milieu_responsiveGuide_de_survie_en_milieu_responsive
Guide_de_survie_en_milieu_responsive
 
Guide de survie en milieu responsive - Paris Web 2013
Guide de survie en milieu responsive - Paris Web 2013Guide de survie en milieu responsive - Paris Web 2013
Guide de survie en milieu responsive - Paris Web 2013
 

Architecture Agile durable (v 2.0)