Architecture Agile et
développement durable
FÉLIX-ANTOINEBOURBONNAIS
B.ING., M.SC.,PSM
Version1.2– Avril 2015
©2015ElapseTechnologies
Formations
3
Félix-Antoine Bourbonnais
B.ing., PSM, M.Sc. Ma passion…
/ Faire progresser les règle...
©2015ElapseTechnologies
Formations
4
Qui sommes-nous ?
Je suis…
/ Formateur
/ Conférencier
/ Coach Agile et technique
Expe...
©2015ElapseTechnologies
Formations
Image de Eyesplash
http://commons.wikimedia.org/wiki/File:Welkom _willkomme n_Welcome_B...
©2015ElapseTechnologies
Formations
Scrum sans pratiques de développement pour
soutenir le rythme
6
©2015ElapseTechnologies
Formations
Développement logiciel durable
Gestion de projets
durable
+
Architecture
durable
+
Prat...
©2015ElapseTechnologies
Formations
Nos prochains 90 minutes…
8
©2015ElapseTechnologies
Formations
FUTUR DU DÉVELOPPEMENT
Le
9
©2015ElapseTechnologies
Formations
L’informatique est l’ADN de nos entreprises
10
©2015ElapseTechnologies
Formations
Ça bougeait vite…
Et ça bouge encore plus vite !
11
©2015ElapseTechnologies
Formations
La réalité
Le futur technologique
est incertain et il faut
livrer de plus en plus
vite…...
©2015ElapseTechnologies
Formations
Pouvons-nous changer demain ?
Est-ce que nos architecture
permettent de changer
et de n...
©2015ElapseTechnologies
Formations
Le défi moderne…
La maintenabilité !
16
©2015ElapseTechnologies
Formations
Mais il ne faut surtout pas ralentir pour autant!
17
Il faut livrer vite, sans
compromi...
©2015ElapseTechnologies
Formations
Le développement logiciel est désormais
un flot perpétuel…
18
Évitez de laisser la
grai...
©2015ElapseTechnologies
Formations
Comment augmenter
ma maintenabilité alors ?
19
Les principes
d’architecture
durable exi...
LES DÉFIS
Partie 1
20
Architecture durable
©2015ElapseTechnologies
Formations
L’ARCHITECTURE LOGICIELLE DURABLE
21
©2015ElapseTechnologies
Formations
Architecture durable
23
On veut concilier
l’environnement avec
l’économie pour que la
c...
©2015ElapseTechnologies
Formations
Mais…
Ceci n’est pas une
invitation au BDUF !
(Big Design Up Front)
24
©2015ElapseTechnologies
Formations
Architecture évolutive
Tout est à propos de
casser les vagues
de modifications!
25
©2015ElapseTechnologies
Formations
On ne peut pas tout prévoir…
On veut des digues à
différents niveaux !
… des conteneurs...
©2015ElapseTechnologies
Formations
« A good architect maximizes the
number of decisions not made »
-- Robert C. Martin
27
©2015ElapseTechnologies
Formations
OK… Et concrètement?
Décollage…
Notre petite abeille aura besoin
d’une bonne carte pour...
QUELQUES PISTES
2e partie
29
Architecture durable
©2015ElapseTechnologies
Formations
Avertissement
Rien n’est noir ou
blanc…
Tout est une question de
connaître pour appliqu...
©2015ElapseTechnologies
Formations
Le constat
Les bases de
l’orientation objet ne
sont peut-être pas aussi
solides qu’on l...
©2015ElapseTechnologies
Formations
Résultat…
32
©2015ElapseTechnologies
Formations
Le problème
Faire une architecture
durable, distribuée,
découplée, etc. demande
de fair...
©2015ElapseTechnologies
Formations
Notre objectif
Pour s’adapter aux
nouvelles réalités, il faut
revisiter l’OO à la
lumiè...
©2015ElapseTechnologies
Formations
LES PRINCIPES
Quelques pistes
35
©2015ElapseTechnologies
Formations
POLYMORPHISME et les DÉPENDANCES
Le
36
©2015ElapseTechnologies
Formations
Inversion des dépendances
La grande contribution de
l’OO est la capacité à
inverser la
...
©2015ElapseTechnologies
Formations
L’abstraction
Le paradigme OO
implique l’utilisation
d’abstractions et
d’interfaces
38
...
©2015ElapseTechnologies
Formations
Les dépendances
Le polymorphisme est à
la base même de l’OO
C’est un « briseur de
dépen...
©2015ElapseTechnologies
Formations
Briser les dépendances
40
X
SQLDb
MapDb
if( dbType == SQL )
... sqlDb.query("SELECT id ...
©2015ElapseTechnologies
Formations
Notre objectif…
Contenir les vagues causées par les modifications !
©2015ElapseTechnologies
Formations
TELL DON’T ASK
42
©2015ElapseTechnologies
Formations
Le « Tell don’t Ask »
43Image: sheelamohan et jscreationzs / FreeDigitalPhotos.net
©2015ElapseTechnologies
Formations
DOMAINE ANÉMIQUE…
ou PEUT-ÊTRE PAS…
Avoir un
44
©2015ElapseTechnologies
Formations
2 grands contextes
©2015ElapseTechnologies
Formations
Domaine anémique
Domaine où les objets ont
des données mais pas de
comportements.
Les c...
©2015ElapseTechnologies
Formations
Conséquences courantes
• Duplication de la logique (DRY)
• Les « contrôleurs » et « Man...
©2015ElapseTechnologies
Formations
Est-ce mauvais ?
Non pas forcément
(ex.: Rails)
Mais est-ce un choix
conscient ou par
d...
©2015ElapseTechnologies
Formations
Active Record ?
49
Mêmes questions!
Est-ce un choix conscient et pour quel type d’appli...
©2015ElapseTechnologies
Formations
Alternatives s.v.p. ?!?
Domaine riche
DDD
Repository
…
50
©2015ElapseTechnologies
Formations
Le sous-titre dit tout…
Tackling Complexity in the
Heart of Software
Domain
Driven Desi...
©2015ElapseTechnologies
Formations
Moralité
Pour bénéficier d’une meilleure vitesse et d’une
bonne maintenabilitéet d’une ...
©2015ElapseTechnologies
Formations
Le danger sinon…
53
L’effet d’avalanche !
©2015ElapseTechnologies
Formations
PRINCIPES « SOLID »
Les
54
©2015ElapseTechnologies
Formations
Principes S.O.L.I.D.
SRP
Single Responsibility
OCP
Open Closed
LSP
Liskov Substitution
...
©2015ElapseTechnologies
Formations
LES PATRONS MAL CONNUS
Quelques pistes
56
©2015ElapseTechnologies
Formations
La Factory
Factory
=
Usine
57
©2015ElapseTechnologies
Formations
Le « Repository »
Repository
=
Un entrepôt
58Image de toolstop
Son but est de déshydrat...
©2015ElapseTechnologies
Formations
Pourquoi ?
Trop souvent, la
création est
mélangéeavec
l’entreposage ou la
logique d’aff...
©2015ElapseTechnologies
Formations
Concepts associés
60Image Bob Jagendorf, Yutaka Tsutano, SteelCityHobbies , Team 19
Cré...
©2015ElapseTechnologies
Formations
Astuce
61
Ces concepts servent également pour attaquer le
code patrimonial 
©2015ElapseTechnologies
Formations
LES GRANDS MODÈLES ET CHOIX
ARCHITECTURAUX
Quelques pistes
62
©2015ElapseTechnologies
Formations
Modèles architecturaux
Hexagonal et Port & Adapter
Le domaine d’affaires
est au centre
...
©2015ElapseTechnologies
Formations
Remarque
Architecture hurlante de Bob Martin
Les plans architecturaux
d’une maison doiv...
©2015ElapseTechnologies
Formations
Modèles architecturaux
DDD
Destiné à résoudre des
problèmes (logique)
complexes de desi...
©2015ElapseTechnologies
Formations
Les « micro-services »
66
©2015ElapseTechnologies
Formations
Modèles architecturaux
Clean Architecture
67http://blog.8thlight.com/uncle-bob/2012/08/...
CONCLUSION
68
Architecture durable
©2015ElapseTechnologies
Formations
Savez-vous ce que sera votre produit et la
technologiedans 5 ans ?
69
Il n’est pas néce...
©2015ElapseTechnologies
Formations
Mais l’architecture durable n’est pas suffisante…
70
Il reste les pratiques durables…
©2015ElapseTechnologies
Formations
72
ArchitectureAgile.com
Diapositives et références
©2015ElapseTechnologies
Formations
73
Merci
Mon nom
Félix-Antoine Bourbonnais
Mon courriel
fbourbonnais@elapsetech.com
Not...
©2015ElapseTechnologies
Formations
74
Conception OO avancée Elapse
Formations
Le contenu de cette présentation est couvert...
©2015ElapseTechnologies
Formations
75
Merci
Mon nom
Félix-Antoine Bourbonnais
Mon courriel
fbourbonnais@elapsetech.com
Not...
©2015ElapseTechnologies
Formations
76
Conception OO avancée Elapse
Formations
Le contenu de cette présentation est couvert...
Prochain SlideShare
Chargement dans…5
×

Architecture Agile et développement durable (v 1.2)

1 146 vues

Publié le

Beaucoup d’équipes ont embrassé Scrum sans considérer l’architecture nécessaire pour soutenir un tel rythme et minimiser la dette technique.

Comment adopter une architecture émergente, malléable et facile à changer? Bref, comment faire du développement logiciel durable?

Principes SOLID, patrons de conception d’entreprise, architecture émergente et pilotée par le domaine (DDD) seront au menu.

Publié dans : Technologie
0 commentaire
1 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

Aucun téléchargement
Vues
Nombre de vues
1 146
Sur SlideShare
0
Issues des intégrations
0
Intégrations
836
Actions
Partages
0
Téléchargements
18
Commentaires
0
J’aime
1
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Architecture Agile et développement durable (v 1.2)

  1. 1. Architecture Agile et développement durable FÉLIX-ANTOINEBOURBONNAIS B.ING., M.SC.,PSM Version1.2– Avril 2015
  2. 2. ©2015ElapseTechnologies Formations 3 Félix-Antoine Bourbonnais B.ing., PSM, M.Sc. Ma passion… / Faire progresser les règles de l’art de notre industrie et transmettre ma passion pour le génie logiciel Mon rêve… / Rendre le développement logiciel plus professionnel, humain et qu’il repose sur la compétence et la connaissance. Ce que je fais… / J’aide des entreprises et des professionnels à s’améliorer à l’aide d’outils techniques et humains pour développer durablement
  3. 3. ©2015ElapseTechnologies Formations 4 Qui sommes-nous ? Je suis… / Formateur / Conférencier / Coach Agile et technique Expert en… / Tests automatisés / Pratiques de développement / Architecture évolutive / Agilité et Scrum Félix-Antoine Bourbonnais fbourbonnais@elapsetech.com
  4. 4. ©2015ElapseTechnologies Formations Image de Eyesplash http://commons.wikimedia.org/wiki/File:Welkom _willkomme n_Welcome_Bienvenue_Be nvenut o.jpg
  5. 5. ©2015ElapseTechnologies Formations Scrum sans pratiques de développement pour soutenir le rythme 6
  6. 6. ©2015ElapseTechnologies Formations Développement logiciel durable Gestion de projets durable + Architecture durable + Pratiques durables 7Image : http://robclearyphoto.blogspot.ca/2012/06/green-roof-cookfox.html
  7. 7. ©2015ElapseTechnologies Formations Nos prochains 90 minutes… 8
  8. 8. ©2015ElapseTechnologies Formations FUTUR DU DÉVELOPPEMENT Le 9
  9. 9. ©2015ElapseTechnologies Formations L’informatique est l’ADN de nos entreprises 10
  10. 10. ©2015ElapseTechnologies Formations Ça bougeait vite… Et ça bouge encore plus vite ! 11
  11. 11. ©2015ElapseTechnologies Formations La réalité Le futur technologique est incertain et il faut livrer de plus en plus vite… 12 Cloud Big-Data NoSQL Distribué Mobile
  12. 12. ©2015ElapseTechnologies Formations Pouvons-nous changer demain ? Est-ce que nos architecture permettent de changer et de nous adapter comme si de rien n’était en maintenant notre vélocité? 15
  13. 13. ©2015ElapseTechnologies Formations Le défi moderne… La maintenabilité ! 16
  14. 14. ©2015ElapseTechnologies Formations Mais il ne faut surtout pas ralentir pour autant! 17 Il faut livrer vite, sans compromissur la qualité Il faut un code malléable !
  15. 15. ©2015ElapseTechnologies Formations Le développement logiciel est désormais un flot perpétuel… 18 Évitez de laisser la graisse s’accumuler dans le tuyau!
  16. 16. ©2015ElapseTechnologies Formations Comment augmenter ma maintenabilité alors ? 19 Les principes d’architecture durable existent!
  17. 17. LES DÉFIS Partie 1 20 Architecture durable
  18. 18. ©2015ElapseTechnologies Formations L’ARCHITECTURE LOGICIELLE DURABLE 21
  19. 19. ©2015ElapseTechnologies Formations Architecture durable 23 On veut concilier l’environnement avec l’économie pour que la croissance perdure Hum…On veut une architecture durable, modulaire et la plus indépendante que possible de la technologie
  20. 20. ©2015ElapseTechnologies Formations Mais… Ceci n’est pas une invitation au BDUF ! (Big Design Up Front) 24
  21. 21. ©2015ElapseTechnologies Formations Architecture évolutive Tout est à propos de casser les vagues de modifications! 25
  22. 22. ©2015ElapseTechnologies Formations On ne peut pas tout prévoir… On veut des digues à différents niveaux ! … des conteneurs de vagues! 26
  23. 23. ©2015ElapseTechnologies Formations « A good architect maximizes the number of decisions not made » -- Robert C. Martin 27
  24. 24. ©2015ElapseTechnologies Formations OK… Et concrètement? Décollage… Notre petite abeille aura besoin d’une bonne carte pour repérer toutes les fleurs offrant les divers nutriments pour fairele meilleur miel. 28
  25. 25. QUELQUES PISTES 2e partie 29 Architecture durable
  26. 26. ©2015ElapseTechnologies Formations Avertissement Rien n’est noir ou blanc… Tout est une question de connaître pour appliquer ou non les concepts selon le contexte 30
  27. 27. ©2015ElapseTechnologies Formations Le constat Les bases de l’orientation objet ne sont peut-être pas aussi solides qu’on le pense… 31
  28. 28. ©2015ElapseTechnologies Formations Résultat… 32
  29. 29. ©2015ElapseTechnologies Formations Le problème Faire une architecture durable, distribuée, découplée, etc. demande de faire des choix… Mais sans maîtrise des modèles…? 33
  30. 30. ©2015ElapseTechnologies Formations Notre objectif Pour s’adapter aux nouvelles réalités, il faut revisiter l’OO à la lumière de ces défis.. 34
  31. 31. ©2015ElapseTechnologies Formations LES PRINCIPES Quelques pistes 35
  32. 32. ©2015ElapseTechnologies Formations POLYMORPHISME et les DÉPENDANCES Le 36
  33. 33. ©2015ElapseTechnologies Formations Inversion des dépendances La grande contribution de l’OO est la capacité à inverser la dépendance par rapport au flot d’exécution 37
  34. 34. ©2015ElapseTechnologies Formations L’abstraction Le paradigme OO implique l’utilisation d’abstractions et d’interfaces 38 Chaque abstraction est un point d’inflexion qui permet de réduire le couplage et de développer durablement!
  35. 35. ©2015ElapseTechnologies Formations Les dépendances Le polymorphisme est à la base même de l’OO C’est un « briseur de dépendances » puissant! 39 On veut brancher les dépendances, pas les souder!
  36. 36. ©2015ElapseTechnologies Formations Briser les dépendances 40 X SQLDb MapDb if( dbType == SQL ) ... sqlDb.query("SELECT id ..." else ... mapDb.get(id) X MapRepoSqlRepo repository.findById(id)Repository
  37. 37. ©2015ElapseTechnologies Formations Notre objectif… Contenir les vagues causées par les modifications !
  38. 38. ©2015ElapseTechnologies Formations TELL DON’T ASK 42
  39. 39. ©2015ElapseTechnologies Formations Le « Tell don’t Ask » 43Image: sheelamohan et jscreationzs / FreeDigitalPhotos.net
  40. 40. ©2015ElapseTechnologies Formations DOMAINE ANÉMIQUE… ou PEUT-ÊTRE PAS… Avoir un 44
  41. 41. ©2015ElapseTechnologies Formations 2 grands contextes
  42. 42. ©2015ElapseTechnologies Formations Domaine anémique 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 46
  43. 43. ©2015ElapseTechnologies Formations Conséquences courantes • Duplication de la logique (DRY) • Les « contrôleurs » et « Managers » deviennent gros. On voit la « God Class » approcher… • Une modification demande de modifier plusieurs « services » • Prévoir les effets des modifications devient difficile (fragilitéd’un système) • Difficiled’étendre le système facilement sans avoir à modifier plusieurs classes 47
  44. 44. ©2015ElapseTechnologies Formations Est-ce mauvais ? Non pas forcément (ex.: Rails) Mais est-ce un choix conscient ou par défaut? 48 Avez-vous mesuré les désavantages en fonction de votre contexte ??
  45. 45. ©2015ElapseTechnologies Formations Active Record ? 49 Mêmes questions! Est-ce un choix conscient et pour quel type d’application?
  46. 46. ©2015ElapseTechnologies Formations Alternatives s.v.p. ?!? Domaine riche DDD Repository … 50
  47. 47. ©2015ElapseTechnologies Formations Le sous-titre dit tout… Tackling Complexity in the Heart of Software Domain Driven Design (DDD)
  48. 48. ©2015ElapseTechnologies Formations Moralité Pour bénéficier d’une meilleure vitesse et d’une bonne maintenabilitéet d’une réduction de la complexité, vous avez intérêt à combinerles deuxdans le même système !
  49. 49. ©2015ElapseTechnologies Formations Le danger sinon… 53 L’effet d’avalanche !
  50. 50. ©2015ElapseTechnologies Formations PRINCIPES « SOLID » Les 54
  51. 51. ©2015ElapseTechnologies Formations Principes S.O.L.I.D. SRP Single Responsibility OCP Open Closed LSP Liskov Substitution ISP Interface Segregation DIP Dependency Inversion 55 Image http://lostechies.com/derickbailey/2009/02/11/solid-development-principles-in-motivational-pictures/
  52. 52. ©2015ElapseTechnologies Formations LES PATRONS MAL CONNUS Quelques pistes 56
  53. 53. ©2015ElapseTechnologies Formations La Factory Factory = Usine 57
  54. 54. ©2015ElapseTechnologies Formations Le « Repository » Repository = Un entrepôt 58Image de toolstop Son but est de déshydrater et réhydrater des objets
  55. 55. ©2015ElapseTechnologies Formations Pourquoi ? Trop souvent, la création est mélangéeavec l’entreposage ou la logique d’affaires 59
  56. 56. ©2015ElapseTechnologies Formations Concepts associés 60Image Bob Jagendorf, Yutaka Tsutano, SteelCityHobbies , Team 19 Créer Factory Utiliser Objets du domaine Persister Repository Transporter DTO
  57. 57. ©2015ElapseTechnologies Formations Astuce 61 Ces concepts servent également pour attaquer le code patrimonial 
  58. 58. ©2015ElapseTechnologies Formations LES GRANDS MODÈLES ET CHOIX ARCHITECTURAUX Quelques pistes 62
  59. 59. ©2015ElapseTechnologies Formations Modèles architecturaux Hexagonal et Port & Adapter Le domaine d’affaires est au centre Les préoccupations bas-niveau sont des « plugins » 63http://www.duncannisbet.co.uk/hexagonal-architecture-for-testers-part-1 Ce qui nous ramène à l’utilisation astucieuse de l’abstraction…
  60. 60. ©2015ElapseTechnologies Formations Remarque Architecture hurlante de Bob Martin Les plans architecturaux d’une maison doivent crier: « Ceci est une maison » 64Source: Robert C. Martin
  61. 61. ©2015ElapseTechnologies Formations Modèles architecturaux DDD Destiné à résoudre des problèmes (logique) complexes de design Centré sur le domaine « client » 65http://www.zankavtaskin.com/2013/09/applied-domain-driven-design-ddd-part-1.html * Diagrammenonofficiel.Retenirl’idéegénérale.
  62. 62. ©2015ElapseTechnologies Formations Les « micro-services » 66
  63. 63. ©2015ElapseTechnologies Formations Modèles architecturaux Clean Architecture 67http://blog.8thlight.com/uncle-bob/2012/08/13/the-clean-architecture.html
  64. 64. CONCLUSION 68 Architecture durable
  65. 65. ©2015ElapseTechnologies Formations Savez-vous ce que sera votre produit et la technologiedans 5 ans ? 69 Il n’est pas nécessaire de deviner. Il faut simplement s’outiller pour évoluer avec eux!
  66. 66. ©2015ElapseTechnologies Formations Mais l’architecture durable n’est pas suffisante… 70 Il reste les pratiques durables…
  67. 67. ©2015ElapseTechnologies Formations 72 ArchitectureAgile.com Diapositives et références
  68. 68. ©2015ElapseTechnologies Formations 73 Merci Mon nom Félix-Antoine Bourbonnais Mon courriel fbourbonnais@elapsetech.com Notre blogue developpementagile.com Nos Twitter @fbourbonnais | @elapsetech Mon LinkedIn linkedin.com/in/fbourbonnais/fr
  69. 69. ©2015ElapseTechnologies Formations 74 Conception OO avancée Elapse Formations Le contenu de cette présentation est couvert dans notre formation: Vous voulez approfondir le sujet? Elapse Accompagnement et diagnostics Demandez à notre professionnel d’aller vous visiter pour une journée ou deux ! Besoin de conseils personnalisés?
  70. 70. ©2015ElapseTechnologies Formations 75 Merci Mon nom Félix-Antoine Bourbonnais Mon courriel fbourbonnais@elapsetech.com Notre blogue developpementagile.com Nos Twitter @fbourbonnais | @elapsetech Mon LinkedIn linkedin.com/in/fbourbonnais/fr
  71. 71. ©2015ElapseTechnologies Formations 76 Conception OO avancée Elapse Formations Le contenu de cette présentation est couvert dans notre formation: Vous voulez approfondir le sujet? Elapse Accompagnement et diagnostics Demandez à notre professionnel d’aller vous visiter pour une journée ou deux ! Besoin de conseils personnalisés?

×