Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Architecture Agile durable (v 2.0)

Architecture Agile durable (v 2.0)

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?

## Version 2.0

Présente l'architecture durable sous l'angle des 5 pièges architecturaux courants. Pourquoi est-ce que nos architectures ne sont pas évolutives et Agiles? Quels sont les 5 principaux problèmes qui mènent à une architecture éphémère?

More Decks by Félix-Antoine Bourbonnais

Other Decks in Programming

Transcript

  1. 2

  2. 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
  3. Gestion de projets durable + Architecture durable + Pratiques durables

    Image : http://robclearyphoto.blogspot.ca/2012/06/green-roof-cookfox.html Développement logiciel durable 14
  4. 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
  5. Le futur technologique est incertain et il faut livrer de

    plus en plus vite… La réalité 21 Cloud Big-Data NoSQL Distribué Mobile
  6. Pour s’adapter aux nouvelles réalités, il faut revisiter l’OO à

    la lumière de ces défis.. Notre objectif 29
  7. Rien n’est noir ou blanc… Tout est une question de

    connaître pour appliquer ou non les concepts selon le contexte Avertissement 32
  8. 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
  9. Les dépendances Le polymorphisme est à la base même de

    l’OO 41 On veut brancher les dépendances, pas les souder!
  10. Briser les dépendances 44 X SQLDb MapDb if( dbType ==

    SQL ) ... sqlDb.query("SELECT id ..." else ... mapDb.get(id) X MapRepo SqlRepo repository.findById(id) Repository
  11. 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
  12. • SRP Single Responsibility • OCP Open Closed • LSP

    Liskov Substitution • ISP Interface Segregation • DIP Dependency Inversion Principes S.O.L.I.D. 55
  13. Il faut comprendre les effets secondaires des patrons de conception…

    Les prendre quand vous n’avez pas la maladie peut vous tuer! Attention!
  14. 60 Le modèle en “couches” 60 Présentation : GUI, WS

    … Domaine d’affaires Persistance et services externes Problème…
  15. Il faut savoir les utiliser au bon moment! Tackling Complexity

    in the Heart of Software Domain Driven Design (DDD)
  16. 73 Merci Notre site elapsetech.com Notre blogue developpementagile.com Twitter @fbourbonnais

    | @elapsetech Mon courriel [email protected] Mon LinkedIn linkedin.com/in/fbourbonnais/fr conferences.elapsetech.com Diapositives Nos présentations, chez vous!