SlideShare une entreprise Scribd logo
1  sur  25
Télécharger pour lire hors ligne
Développer un projet
fonctionnellement complexe
En face de vous
●
Jean-François Lépine
●
Consultant technique chez Alter Way
●
@Halleck45
●
http://blog.lepine.pro
Jeu concours : qui a déjà entendu ...
“Techniquement et fonctionnellement, c'est super !
On est même largement en avance...”
“Génial ! C'est une chance que vous soyez
télépathe ; c'est exactement ce à quoi je pensais,
il n'y a rien à reprendre.
“Ah oui, je me souviens bien : c'est en page 28 de
l'annexe 2 des spécifications fonctionnelles
détaillées”
Il était une fois...
●
“J'ai besoin d'une voiture pour des petits trajets, aller au travail et transporter
ma famille”
Il était une fois...
●
“J'ai besoin d'une voiture pour des petits trajets, aller au travail et
transporter ma famille”
●
Et en plus il a perdu de l'argent●
Le client n'a pas eu ce qu'il voulait
Communiquez
Une langue commune
●
Éviter les ambiguïtés
●
Est élaborée en commun
●
Est parlée par tous
●
Glossaire du projet
UBIQUITOUS
LANGAGE
Une grammaire commune
Fonctionnalité: acheter un chiot
  En tant que client du magasin
  Je peux acheter un chiot
  Afin de avoir un compagnon  
  tout mignon (ou pas ^^)
Gherkin
Fonctionnalité: acheter un chiot
  (…)
  Scénario: acheter un chiot trop jeune
  
    Etant donné qu'un chiot est trop jeune pour être vendu
    Quand j'essaye de l'acheter
    Alors je suis informé que c'est impossible
Développement piloté par le comportement
●
Exercice agile quotidien
●
Les scénarios sont établis en commun
●
Tests automatisés ! (Behat, Cucumber, Jbehave...)
●
Suivi en temps réel de l'avancée des scénarios
Accepter le changement
Domain Driven Design
●
Le code source est le reflet du besoin fonctionnel
●
Le code source adopte le vocabulaire fonctionnel
●
Le code source facilite :
– Le changement
– La gestion des règles métiers
– La maintenabilité
– La testabilité
●
Appliquer à la lettre les principes de la programmation orientée objets
Isolation
Spécialisation
Testabilité
Testabilité
Keep It Simple and Stupid !
●
Un objet simple par règle métier
●
La complexité se fait par
l'assemblage de composants
simples et réutilisables
Complexité vs
performance
Web = Schizophrène
●
Effectuer un traitement métier
●
Complexe
●
Lent
●
Intégrité et cohérence
●
A intégrer dans un système global
●
Fournir une information
●
Immédiat
●
Spécifique
Commands / Query
●
Séparer la logique de traitement
(Commands) de la logique de lecture
(Query)
●
Command Query Responsibility
Segregation (CQRS)
Performance
●
Alléger la lecture
Consolidation
●
Les données sont consolidées
●
La consolidation est asynchrone
●
Event sourcing
Conclusion
Bilan
●
Les solutions pour gérer de la complexité métier dans un projet existent :
●
Communication (agile)
●
Développement piloté par le comportement
●
Domain Driven Design
●
Command query responsibility segregation
●
Certaines pratiques peuvent mises en place facilement, même si elles ne sont
pas des recettes miracles
Questions ?
●
Twitter : @Halleck45
●
http://communiquez.lepine.pro
●
Merci !

Contenu connexe

En vedette

Paris papers françois le poultier
Paris papers françois le poultierParis papers françois le poultier
Paris papers françois le poultierIAU_Past_Conferences
 
Louaize bc conference summary french w
Louaize bc conference summary french wLouaize bc conference summary french w
Louaize bc conference summary french wIAU_Past_Conferences
 
Nouveautés Silverlight 5
Nouveautés Silverlight 5Nouveautés Silverlight 5
Nouveautés Silverlight 5SOAT
 
Web conférence situation économique de l'Union Européenne
Web conférence situation économique de l'Union EuropéenneWeb conférence situation économique de l'Union Européenne
Web conférence situation économique de l'Union EuropéennePénélope Cardera
 
La grande histoire d’amour de marion et denis
La grande histoire d’amour de marion et denisLa grande histoire d’amour de marion et denis
La grande histoire d’amour de marion et denismelhemar
 
Transition Agile technique à grande échelle
Transition Agile technique à grande échelleTransition Agile technique à grande échelle
Transition Agile technique à grande échelleSOAT
 
French thank you to republic of ecuador (asylum of julian assange)
French   thank you to  republic of ecuador (asylum of julian assange)French   thank you to  republic of ecuador (asylum of julian assange)
French thank you to republic of ecuador (asylum of julian assange)VogelDenise
 
Mirage
MirageMirage
MirageBENFAH
 
Automobiles avant - guerre
Automobiles avant - guerreAutomobiles avant - guerre
Automobiles avant - guerreOvidiu Slimac
 
Atopica coverage
Atopica coverage Atopica coverage
Atopica coverage atopica
 
092812 eeoc response hilda solis (french)
092812 eeoc response   hilda solis (french)092812 eeoc response   hilda solis (french)
092812 eeoc response hilda solis (french)VogelDenise
 
Stratégie de relance, le résumé des décisions
Stratégie de relance, le résumé des décisionsStratégie de relance, le résumé des décisions
Stratégie de relance, le résumé des décisionslesoirbe
 
Louaize bc conference summary french
Louaize bc conference summary frenchLouaize bc conference summary french
Louaize bc conference summary frenchIAU_Past_Conferences
 

En vedette (19)

Cy35558564
Cy35558564Cy35558564
Cy35558564
 
Paris papers françois le poultier
Paris papers françois le poultierParis papers françois le poultier
Paris papers françois le poultier
 
Alex. bd introduction french
Alex. bd introduction frenchAlex. bd introduction french
Alex. bd introduction french
 
Louaize bc conference summary french w
Louaize bc conference summary french wLouaize bc conference summary french w
Louaize bc conference summary french w
 
Nouveautés Silverlight 5
Nouveautés Silverlight 5Nouveautés Silverlight 5
Nouveautés Silverlight 5
 
Web conférence situation économique de l'Union Européenne
Web conférence situation économique de l'Union EuropéenneWeb conférence situation économique de l'Union Européenne
Web conférence situation économique de l'Union Européenne
 
Intervention Guides Viatao - Festival Icare2011
Intervention Guides Viatao - Festival Icare2011Intervention Guides Viatao - Festival Icare2011
Intervention Guides Viatao - Festival Icare2011
 
La grande histoire d’amour de marion et denis
La grande histoire d’amour de marion et denisLa grande histoire d’amour de marion et denis
La grande histoire d’amour de marion et denis
 
Transition Agile technique à grande échelle
Transition Agile technique à grande échelleTransition Agile technique à grande échelle
Transition Agile technique à grande échelle
 
French thank you to republic of ecuador (asylum of julian assange)
French   thank you to  republic of ecuador (asylum of julian assange)French   thank you to  republic of ecuador (asylum of julian assange)
French thank you to republic of ecuador (asylum of julian assange)
 
Mirage
MirageMirage
Mirage
 
Jodete noé x d
Jodete noé x dJodete noé x d
Jodete noé x d
 
Automobiles avant - guerre
Automobiles avant - guerreAutomobiles avant - guerre
Automobiles avant - guerre
 
Paris
ParisParis
Paris
 
Atopica coverage
Atopica coverage Atopica coverage
Atopica coverage
 
Sante
SanteSante
Sante
 
092812 eeoc response hilda solis (french)
092812 eeoc response   hilda solis (french)092812 eeoc response   hilda solis (french)
092812 eeoc response hilda solis (french)
 
Stratégie de relance, le résumé des décisions
Stratégie de relance, le résumé des décisionsStratégie de relance, le résumé des décisions
Stratégie de relance, le résumé des décisions
 
Louaize bc conference summary french
Louaize bc conference summary frenchLouaize bc conference summary french
Louaize bc conference summary french
 

Similaire à Owf2013 developper-projet-fonctionnellement-riches

CARA - Software Craftsmanship : le chaînon manquant de l’agilité ?
CARA - Software Craftsmanship : le chaînon manquant de l’agilité ?CARA - Software Craftsmanship : le chaînon manquant de l’agilité ?
CARA - Software Craftsmanship : le chaînon manquant de l’agilité ?florentpellet
 
Methodologies de Developpement Agiles : Scrum et XP
Methodologies de Developpement Agiles : Scrum et XPMethodologies de Developpement Agiles : Scrum et XP
Methodologies de Developpement Agiles : Scrum et XPNicolas Perriault
 
Introduction scrum v0.7
Introduction scrum v0.7Introduction scrum v0.7
Introduction scrum v0.7CClr
 
Le combat contre l'atrophie technique - Agile en Seine 2020
Le combat contre l'atrophie technique - Agile en Seine 2020Le combat contre l'atrophie technique - Agile en Seine 2020
Le combat contre l'atrophie technique - Agile en Seine 2020Agile En Seine
 
Comment récupérer un projet Web pourri ... et réussir à travailler dessus.
Comment récupérer un projet Web pourri ... et réussir à travailler dessus.Comment récupérer un projet Web pourri ... et réussir à travailler dessus.
Comment récupérer un projet Web pourri ... et réussir à travailler dessus.Guillaume RICHARD
 
AT2010 Mise place d'un projet Agile
AT2010 Mise place d'un projet AgileAT2010 Mise place d'un projet Agile
AT2010 Mise place d'un projet AgileNormandy JUG
 
Agile Tour 2010 - Mise en place d'un projet agile
Agile Tour 2010 - Mise en place d'un projet agileAgile Tour 2010 - Mise en place d'un projet agile
Agile Tour 2010 - Mise en place d'un projet agileLaurent Deséchalliers
 
SCRUM et KANBAN - Agile Grenoble 2011
SCRUM et KANBAN - Agile Grenoble 2011SCRUM et KANBAN - Agile Grenoble 2011
SCRUM et KANBAN - Agile Grenoble 2011Christophe NEY
 
Scrum pour les (nuls) devs
Scrum pour les (nuls) devsScrum pour les (nuls) devs
Scrum pour les (nuls) devsJenny Beaumont
 
Gérer l'inconnu avec peu de moyens par le développement itératif - L'agili...
Gérer l'inconnu avec peu de moyens par le développement itératif - L'agili...Gérer l'inconnu avec peu de moyens par le développement itératif - L'agili...
Gérer l'inconnu avec peu de moyens par le développement itératif - L'agili...Benoit St-André
 
Introduction à l'agilité ensmse
Introduction à l'agilité   ensmseIntroduction à l'agilité   ensmse
Introduction à l'agilité ensmseagnes_crepet
 
10 ans de Code (Agile Bordeaux 2019).pptx
10 ans de Code (Agile Bordeaux 2019).pptx10 ans de Code (Agile Bordeaux 2019).pptx
10 ans de Code (Agile Bordeaux 2019).pptxGuillaume Saint Etienne
 
Introduction à l'agilité iut lyon 1 sept2013
Introduction à l'agilité   iut lyon 1 sept2013Introduction à l'agilité   iut lyon 1 sept2013
Introduction à l'agilité iut lyon 1 sept2013agnes_crepet
 
Mythes et réalités des projets Web (Webschool tours)
Mythes et réalités des projets Web (Webschool tours)Mythes et réalités des projets Web (Webschool tours)
Mythes et réalités des projets Web (Webschool tours)TribuAndCo
 
Des jeux et des devops
Des jeux et des devopsDes jeux et des devops
Des jeux et des devopsFrederic Leger
 
Valtech - Gestion de projet agile, par la pratique et de façon ludique
Valtech - Gestion de projet agile, par la pratique et de façon ludiqueValtech - Gestion de projet agile, par la pratique et de façon ludique
Valtech - Gestion de projet agile, par la pratique et de façon ludiqueValtech
 

Similaire à Owf2013 developper-projet-fonctionnellement-riches (20)

CARA - Software Craftsmanship : le chaînon manquant de l’agilité ?
CARA - Software Craftsmanship : le chaînon manquant de l’agilité ?CARA - Software Craftsmanship : le chaînon manquant de l’agilité ?
CARA - Software Craftsmanship : le chaînon manquant de l’agilité ?
 
Agile Tour Lille 2008
Agile Tour Lille 2008Agile Tour Lille 2008
Agile Tour Lille 2008
 
Methodologies de Developpement Agiles : Scrum et XP
Methodologies de Developpement Agiles : Scrum et XPMethodologies de Developpement Agiles : Scrum et XP
Methodologies de Developpement Agiles : Scrum et XP
 
Introduction scrum v0.7
Introduction scrum v0.7Introduction scrum v0.7
Introduction scrum v0.7
 
Le combat contre l'atrophie technique - Agile en Seine 2020
Le combat contre l'atrophie technique - Agile en Seine 2020Le combat contre l'atrophie technique - Agile en Seine 2020
Le combat contre l'atrophie technique - Agile en Seine 2020
 
Comment récupérer un projet Web pourri ... et réussir à travailler dessus.
Comment récupérer un projet Web pourri ... et réussir à travailler dessus.Comment récupérer un projet Web pourri ... et réussir à travailler dessus.
Comment récupérer un projet Web pourri ... et réussir à travailler dessus.
 
AT2010 Mise place d'un projet Agile
AT2010 Mise place d'un projet AgileAT2010 Mise place d'un projet Agile
AT2010 Mise place d'un projet Agile
 
Agile Tour 2010 - Mise en place d'un projet agile
Agile Tour 2010 - Mise en place d'un projet agileAgile Tour 2010 - Mise en place d'un projet agile
Agile Tour 2010 - Mise en place d'un projet agile
 
Symposium scrum
Symposium scrumSymposium scrum
Symposium scrum
 
SCRUM et KANBAN - Agile Grenoble 2011
SCRUM et KANBAN - Agile Grenoble 2011SCRUM et KANBAN - Agile Grenoble 2011
SCRUM et KANBAN - Agile Grenoble 2011
 
Scrum pour les (nuls) devs
Scrum pour les (nuls) devsScrum pour les (nuls) devs
Scrum pour les (nuls) devs
 
Gérer l'inconnu avec peu de moyens par le développement itératif - L'agili...
Gérer l'inconnu avec peu de moyens par le développement itératif - L'agili...Gérer l'inconnu avec peu de moyens par le développement itératif - L'agili...
Gérer l'inconnu avec peu de moyens par le développement itératif - L'agili...
 
Introduction à l'agilité ensmse
Introduction à l'agilité   ensmseIntroduction à l'agilité   ensmse
Introduction à l'agilité ensmse
 
10 ans de Code (Agile Bordeaux 2019).pptx
10 ans de Code (Agile Bordeaux 2019).pptx10 ans de Code (Agile Bordeaux 2019).pptx
10 ans de Code (Agile Bordeaux 2019).pptx
 
Etude materiel
Etude materielEtude materiel
Etude materiel
 
Introduction à l'agilité iut lyon 1 sept2013
Introduction à l'agilité   iut lyon 1 sept2013Introduction à l'agilité   iut lyon 1 sept2013
Introduction à l'agilité iut lyon 1 sept2013
 
Mythes et réalités des projets Web (Webschool tours)
Mythes et réalités des projets Web (Webschool tours)Mythes et réalités des projets Web (Webschool tours)
Mythes et réalités des projets Web (Webschool tours)
 
Des jeux et des devops
Des jeux et des devopsDes jeux et des devops
Des jeux et des devops
 
Valtech - Gestion de projet agile, par la pratique et de façon ludique
Valtech - Gestion de projet agile, par la pratique et de façon ludiqueValtech - Gestion de projet agile, par la pratique et de façon ludique
Valtech - Gestion de projet agile, par la pratique et de façon ludique
 
Méthodes agiles & Scrum
Méthodes agiles & ScrumMéthodes agiles & Scrum
Méthodes agiles & Scrum
 

Owf2013 developper-projet-fonctionnellement-riches