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…
 Architecture Agile durable (v 2.0)
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

DOCX
TREBALL DE SÍNTESI
PPTX
互联网产品研发
PPT
Language ireland
PDF
Apprendre à apprendre: L’ingrédient manquant pour être Agile
PPTX
Advertisment with Ewing Tigers
PPTX
Herramientas digitales
PPTX
Presentation
TREBALL DE SÍNTESI
互联网产品研发
Language ireland
Apprendre à apprendre: L’ingrédient manquant pour être Agile
Advertisment with Ewing Tigers
Herramientas digitales
Presentation

En vedette (13)

DOCX
Treball de síntesi: Instalacions i activitats esportives a Girona
PPT
Dylan glowacki smartphones
PPT
Dylan glowacki smartphones
PPT
互联网产品:记忆线
PDF
Le BDD est bien plus qu’une technique de test!
PPTX
Febre chikungunya
PPT
ODP
Ijiiteigee uzsen naadam
PPS
Ses 6 if god is one, then why so many religions
PPTX
Conjutivite
Treball de síntesi: Instalacions i activitats esportives a Girona
Dylan glowacki smartphones
Dylan glowacki smartphones
互联网产品:记忆线
Le BDD est bien plus qu’une technique de test!
Febre chikungunya
Ijiiteigee uzsen naadam
Ses 6 if god is one, then why so many religions
Conjutivite
Publicité

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

PDF
Livre blanc Quantmetry 2019 - IA en production, cycle de vie et dérive des mo...
PDF
Architecture Agile et développement durable (v 1.2)
PPTX
JBL - ENSIM - Approche Architecture d'Entreprise
PDF
2014 04 07 must mémoire transition vers le cloud du business model des edite...
PDF
FLUPA UX-Day 2014 - Leslie Matté et Risvan Asif : "Pourquoi l’UX Design va s’...
PDF
Le DevOps : La clé de la transformation digitale ?
PDF
2UNL - PARISWEB 2010
PPTX
Talk OpenGroup Quebec - Architecture d'Entreprise chez MMA - 20151207
PPTX
DevOps REX2024 - Et si on déployait le vendredi ?
PDF
A design thinking use case: iterate a new design sprint process to enhance t...
PPTX
Implanter l'AOP... Comment partir du bon pied?
PPTX
Méthodes agiles
DOCX
Dossier de Production, groupe 76
PDF
CobiT Pour une meilleure gouvernance des systèmes dinformation (Fabrice Garni...
PDF
Pratiques de management à l'ère du numérique - BlendWebMix2017
PDF
Management Visuel de projet managment.pdf
PDF
Cours Achitecture Logiciel - partie 1 V2.2.pdf
PDF
Performance collective de l' equipe projet
PPTX
3326-presentation-sysml-martin. -2.pptx
PDF
Mise en place d’une démarche lean construction dans le pilotage des corps d’é...
Livre blanc Quantmetry 2019 - IA en production, cycle de vie et dérive des mo...
Architecture Agile et développement durable (v 1.2)
JBL - ENSIM - Approche Architecture d'Entreprise
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’...
Le DevOps : La clé de la transformation digitale ?
2UNL - PARISWEB 2010
Talk OpenGroup Quebec - Architecture d'Entreprise chez MMA - 20151207
DevOps REX2024 - Et si on déployait le vendredi ?
A design thinking use case: iterate a new design sprint process to enhance t...
Implanter l'AOP... Comment partir du bon pied?
Méthodes agiles
Dossier de Production, groupe 76
CobiT Pour une meilleure gouvernance des systèmes dinformation (Fabrice Garni...
Pratiques de management à l'ère du numérique - BlendWebMix2017
Management Visuel de projet managment.pdf
Cours Achitecture Logiciel - partie 1 V2.2.pdf
Performance collective de l' equipe projet
3326-presentation-sysml-martin. -2.pptx
Mise en place d’une démarche lean construction dans le pilotage des corps d’é...
Publicité

Architecture Agile durable (v 2.0)