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

Quand le besoin métier pilote l'architecture applicative

Quand le besoin métier pilote l'architecture applicative

Comment l’utilisation de Scrum, DDD, BDD et DevOps permet à une application d'absorber facilement des changements et des évolutions fonctionnelles.

Jean-François Lépine

March 24, 2014
Tweet

More Decks by Jean-François Lépine

Other Decks in Programming

Transcript

  1. Culture DevOps « Deploy better systems at less cost in

    less time at lower risk » – Tim Bray
  2. Principes CAMS Culture l'humain est le plus important Automation les

    outils simplifient la vie Measurement les métriques permettent de s'améliorer Sharing le partage génère du feedback – Damon Edwards & John Willis
  3. OPS : Au service de l'équipe IaaS PaaS Serveur de

    configuration OPS Dashboard Plate-forme de production Décideur Stratégie Tactique Product Owner, Scrum Master Vision projet Plate-forme de recette Dev, testeur, intégrateur Dépôts Plate-forme de dév. PIC Réalisation
  4. OPS : Au service du feedback Production Feedback Dashboard Alerting

    Monitoring ... Dashing, Kibana Zabbix Graphite, New Relic ...
  5. UBIQUITOUS LANGAGE Permet d'éviter les ambiguïtés Est élaborée en commun

    Est parlée par tous Représente un glossaire du projet
  6. Une grammaire normalisée Permet d'exprimer les User Stories de Scrum

    Rôle Objectif Bénéfice Gherkin DSL Fonctionnalités divisées en scénario
  7. Des fonctionnalités Fonctionnalité : Se tenir informé de l'actualité En

    tant qu'auditeur Afin de me tenir informé de l'actualité Je peux recevoir en direct un flux d'informations Scénario : écouter France Info Étant donné que ma radio fonctionne Quand j'écoute France Info Alors je reçois des informations sur l'actualité Scénario : ...
  8. Des exemples Fonctionnalité : Se tenir informé de l'actualité En

    tant qu'auditeur Afin de me tenir informé de l'actualité Je peux recevoir en direct un flux d'informations Scénario : écouter France Info Étant donné que le voyant de ma radio est vert Quand j'écoute France Info sur la station 105.5 à 10h00 Alors j'entends l'émission Minute Info Scénario : ... BDD ≠ ATDD
  9. Bonus : priorisation Priorité = Valeur métier * Impact Valeur

    métier Impact 5 5 10 15 20 25 4 4 8 12 16 20 3 3 6 9 12 15 2 2 4 6 8 10 1 1 2 3 4 5 1 2 3 4 5
  10. Design Patterns Employer un jargon spécialisé Isoler des typologies de

    problèmes connus Réutiliser des méthodes éprouvées de résolution Anticiper les avantages et les inconvénients
  11. Consommation Présentation Application Domaine métier Infrastructure Composants graphiques Vues HTML

    View Objects Middleware Contrôlleurs ACL Layer Services Interfaces Entités Persistence Logs ... ... Tests IHM Tests unitaires Tests de protocole Tests de comportement Tests unitaires Analyse statique Tests unitaires Tests d'intégration PhantomCSS, Huxley, Wraight QUNIT, Jasmine, Karma Schémas (JSON, DTD) Behat, Cucumber, Species PHPUnit, Atoum PHPMEtrics, PDepend PHPUnit, Atoum Bash... Isolation des couches
  12. AngularJS RestHalBundle StackPHP Symfony2 framework PHP Symfony2 component Nos outils

    Consommation Présentation Application Domaine métier Infrastructure