SlideShare une entreprise Scribd logo
1  sur  20
Télécharger pour lire hors ligne
Software Craftsmanship :
le chaînon manquant
de l’agilité ?
@CharlesBouttaz @NicoRuffel
Photo John Alexander Calderon
Méthodes Agiles
Management de projet
● Scrum
● Crystal Clear
● SAFe
● ...
Développement
● Agile Unified Process - Disciplined Agile Delivery
● eXtreme Programming
● ...
Les manifestes
AGILE
les individus & leurs interactions > les processus et les outils
collaboration avec les clients > négociation contractuelle
adaptation au changement > le suivi d’un plan
des logiciels opérationnels > documentation exhaustive
CRAFTSMANSHIP
communauté de professionnels +
des partenariats productifs +
l'ajout constant de la valeur +
des logiciels bien conçus +
12 Principes
1. Notre plus haute priorité est de satisfaire le client en livrant rapidement et régulièrement des fonctionnalités à grande valeur
ajoutée.
2. Accueillez positivement les changements de besoins,même tard dans le projet. Les processus Agiles exploitent le changement
pour donner un avantage compétitif au client.
3. Livrez fréquemment un logiciel opérationnel avec des cycles de quelques semaines à quelques mois et une préférence pour les
plus courts.
4. Les utilisateurs ou leurs représentants et les développeurs doivent travailler ensemble quotidiennement tout au long du projet.
5. Réalisez les projets avec des personnes motivées. Fournissez-leur l’environnement et le soutien dont ils ont besoin et faites-leur
confiance pour atteindre les objectifs fixés.
6. La méthode la plus simple et la plus efficace pour transmettre de l’information à l'équipe de développement et à l’intérieur de
celle-ci est le dialogue en face à face.
7. Un logiciel opérationnel est la principale mesure d’avancement.
8. Les processus Agiles encouragent un rythme de développement soutenable. Ensemble, les commanditaires, les développeurs et
les utilisateurs devraient être capables de maintenir indéfiniment un rythme constant.
9. Une attention continue à l'excellence technique et à une bonne conception renforce l’Agilité.
10. La simplicité – c’est-à-dire l’art de minimiser la quantité de travail inutile – est essentielle.
11. Les meilleures architectures, spécifications et conceptions émergent d'équipes autoorganisées.
12. À intervalles réguliers, l'équipe réfléchit aux moyens de devenir plus efficace, puis règle et modifie son comportement en
conséquence.
Des pratiques, des techniques !
● Clean Code
● Simple Design
● Refactoring
● SOLID
● Pair programming
● Integration continue
● DevOps
● Prog fonctionnelle
● Root cause analysis
● Conception Objet
● Livraison continue
● Mob programming
● TDD
● ATDD
● BDD
● DDD
Les pratiques ne sont que des outils !
● Un outil est efficace dans dans un contexte donné
● “LA” solution parfaite n’existe pas
● Pragmatisme : “capacité à s’adapter aux contraintes de la réalité”
● Les valeurs & principes comme guide
Notre plus haute priorité est de satisfaire le client
en livrant rapidement et régulièrement des fonctionnalités
à grande valeur ajoutée.
Tests automatisés, Test First, Test Driven Development
TDD:
1/ écrire un test qui échoue pour ma fonctionnalité
2/ écrire l’implementation minimale qui fait passer le test
3/ refactoring -> GOTO 1
Intérêt
● Code testable
● Meilleur design*
● Documentation
FEEDBACK
TDD façe a la dure réalité
● C’est difficile !
○ Code Legacy hostile
○ Besoin de bonnes notions de design
● Les mauvais tests coûtent cher
○ pas expressifs, trop longs, trop liés a l’implémentation
● Les tests unitaires ne sont pas suffisants
● Difficile de “vendre“ le test unitaire
COURAGE
Accueillez positivement les changements de besoins, même tard
dans le projet. Les processus Agiles exploitent le changement
pour donner un avantage compétitif au client.
Intégration continue
Chaque tâche de développement terminée est automatiquement compilée, testée et
intégrée à l’application
Les plus...
● Détection rapide des problèmes d'intégration
● La version courante est toujours disponible
● Tous les tests sont repassés à chaque tâche terminée
FEEDBACK
La dure réalité de l’intégration continue
Nouvelle organisation du travail
Coût de l'automatisation
● Plateforme d’intégration
● Lien entre SCM et la plateforme
● Déploiement en un clic
Construction de la suite de tests
● 10 minutes build
● Rapidité et fiabilité du feedback
COURAGE
Accueillez positivement les changements de besoins, [...]
pour donner un avantage compétitif au client.
Une attention continue à l'excellence technique et
à une bonne conception renforce l’Agilité.
Les meilleures architectures, spécifications et
conceptions émergent d'équipes autoorganisées.
La simplicité [...] est essentielle.
Architecture
“Big Design Up Front” :
Avant le début du projet
l’architecte prend toutes les décisions d’architecture et des technologies a utiliser.
Ensuite les développeurs implémentent la vision de l’architecte.
BDUF + Agile = Problèmes
● Nécessite des besoins fonctionnels figés
● Choix et décisions les plus impactants au pire moment
● Les erreurs coûtent cher
Design émergent
Strict minimum d’architecture avant de commencer (macro & micro).
Faire émerger le design au cours du dévelopement par des refactorings successifs.
Refactoring = améliorer le code. ex: nommage, factorisation, cohésion, couplage, etc.
Intérêt
● Maintenabilité
● Extensibilité
● Prendre les décisions quand on a le plus d’information
SIMPLICITÉ
Design émergent face a la dure réalité
● Ne veut pas dire qu’on ne fait plus d’architecture !
● Ne veut pas dire qu’on refait toute l’application a chaque feature !
● Refactoring difficile à “vendre” : temps qui n’apporte pas de nouvelle feature
COURAGE
Une attention continue à l'excellence technique et à une bonne
conception renforce l’Agilité.
La méthode la plus simple et la plus efficace pour transmettre de
l’information à l'équipe de développement et à l’intérieur de
celle-ci est le dialogue en face à face.
Travail en binôme
Les tâches de conception / programmation sont abordées à deux
FEEDBACK
COMMUNICATION
● Transfert de connaissance
● Le développeur n’est pas seul face aux problèmes rencontrés
Intérêt
● Meilleur design
La vérité sur le travail en binôme
● Difficile à vendre
● Organisation du travail si travail en binôme à la demande
● Choc culturel
● Equipe répartie / multi sites
RESPECT
Être agile plutôt que faire de l’agile !
Les valeurs de eXtreme Programming ou les manifestes sont de bons refuges
FEEDBACK
COURAGE
COMMUNICATION
SIMPLICITÉ
RESPECT

Contenu connexe

Tendances

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
 
[devops REX 2016] Comment l’IT peut arrêter de se faire vanner par les devs ?
[devops REX 2016] Comment l’IT peut arrêter de se faire vanner par les devs ?[devops REX 2016] Comment l’IT peut arrêter de se faire vanner par les devs ?
[devops REX 2016] Comment l’IT peut arrêter de se faire vanner par les devs ?devops REX
 
Développement en méthode agile
Développement en méthode agileDéveloppement en méthode agile
Développement en méthode agilelaurent bristiel
 
Méthode d'Agile: Scrum
Méthode d'Agile: ScrumMéthode d'Agile: Scrum
Méthode d'Agile: ScrumChaymaMghazli
 
DevOps vu par les ops
DevOps vu par les opsDevOps vu par les ops
DevOps vu par les opsMichel HUBERT
 
DevOps - Retour d’expérience - RivieraDev du 20 Octobre 2011
DevOps - Retour d’expérience - RivieraDev du 20 Octobre 2011DevOps - Retour d’expérience - RivieraDev du 20 Octobre 2011
DevOps - Retour d’expérience - RivieraDev du 20 Octobre 2011Henri Gomez
 
Devoxx 2016 - L'odyssée du Continuous Delivery
Devoxx 2016 - L'odyssée du Continuous DeliveryDevoxx 2016 - L'odyssée du Continuous Delivery
Devoxx 2016 - L'odyssée du Continuous DeliveryDiego Lemos
 
DevOps - Qualité, Performance et Télémétrie avec Visual Studio 2015
DevOps - Qualité, Performance et Télémétrie avec Visual Studio 2015DevOps - Qualité, Performance et Télémétrie avec Visual Studio 2015
DevOps - Qualité, Performance et Télémétrie avec Visual Studio 2015Microsoft
 
Introduction à la démarche Devops
Introduction à la démarche DevopsIntroduction à la démarche Devops
Introduction à la démarche DevopsRomain Chalumeau
 
Comment accélérer le DevOps avec l’ATDD/BDD?
Comment accélérer le DevOps avec l’ATDD/BDD?Comment accélérer le DevOps avec l’ATDD/BDD?
Comment accélérer le DevOps avec l’ATDD/BDD?Danka Zindovic-Dana
 
Afterwork Devops : vision et pratiques
Afterwork Devops : vision et pratiquesAfterwork Devops : vision et pratiques
Afterwork Devops : vision et pratiquesOCTO Technology Suisse
 
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
 
Introduction à Scrum et aux méthodes agiles (v1.0)
Introduction à Scrum et aux méthodes agiles (v1.0)Introduction à Scrum et aux méthodes agiles (v1.0)
Introduction à Scrum et aux méthodes agiles (v1.0)Blackbird
 

Tendances (20)

Les pratiques Scrum
Les pratiques ScrumLes pratiques Scrum
Les pratiques Scrum
 
Méthodes agile
Méthodes agileMéthodes agile
Méthodes agile
 
Methodologie projet
Methodologie projet Methodologie projet
Methodologie projet
 
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
 
[devops REX 2016] Comment l’IT peut arrêter de se faire vanner par les devs ?
[devops REX 2016] Comment l’IT peut arrêter de se faire vanner par les devs ?[devops REX 2016] Comment l’IT peut arrêter de se faire vanner par les devs ?
[devops REX 2016] Comment l’IT peut arrêter de se faire vanner par les devs ?
 
Développement en méthode agile
Développement en méthode agileDéveloppement en méthode agile
Développement en méthode agile
 
Scrum xp
Scrum xpScrum xp
Scrum xp
 
Méthode d'Agile: Scrum
Méthode d'Agile: ScrumMéthode d'Agile: Scrum
Méthode d'Agile: Scrum
 
DevOps vu par les ops
DevOps vu par les opsDevOps vu par les ops
DevOps vu par les ops
 
DevOps - Retour d’expérience - RivieraDev du 20 Octobre 2011
DevOps - Retour d’expérience - RivieraDev du 20 Octobre 2011DevOps - Retour d’expérience - RivieraDev du 20 Octobre 2011
DevOps - Retour d’expérience - RivieraDev du 20 Octobre 2011
 
Devoxx 2016 - L'odyssée du Continuous Delivery
Devoxx 2016 - L'odyssée du Continuous DeliveryDevoxx 2016 - L'odyssée du Continuous Delivery
Devoxx 2016 - L'odyssée du Continuous Delivery
 
DevOps - Qualité, Performance et Télémétrie avec Visual Studio 2015
DevOps - Qualité, Performance et Télémétrie avec Visual Studio 2015DevOps - Qualité, Performance et Télémétrie avec Visual Studio 2015
DevOps - Qualité, Performance et Télémétrie avec Visual Studio 2015
 
Agile presentation
Agile presentationAgile presentation
Agile presentation
 
Method XP
Method XP Method XP
Method XP
 
Agile Methodologies
Agile MethodologiesAgile Methodologies
Agile Methodologies
 
Introduction à la démarche Devops
Introduction à la démarche DevopsIntroduction à la démarche Devops
Introduction à la démarche Devops
 
Comment accélérer le DevOps avec l’ATDD/BDD?
Comment accélérer le DevOps avec l’ATDD/BDD?Comment accélérer le DevOps avec l’ATDD/BDD?
Comment accélérer le DevOps avec l’ATDD/BDD?
 
Afterwork Devops : vision et pratiques
Afterwork Devops : vision et pratiquesAfterwork Devops : vision et pratiques
Afterwork Devops : vision et pratiques
 
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
 
Introduction à Scrum et aux méthodes agiles (v1.0)
Introduction à Scrum et aux méthodes agiles (v1.0)Introduction à Scrum et aux méthodes agiles (v1.0)
Introduction à Scrum et aux méthodes agiles (v1.0)
 

En vedette

Slimmer werken met metadata COPE 25 mei 2016
Slimmer werken met metadata COPE 25 mei 2016Slimmer werken met metadata COPE 25 mei 2016
Slimmer werken met metadata COPE 25 mei 2016Enno Meijers
 
TDD outside in - Coding Dojo Lyon
TDD outside in - Coding Dojo LyonTDD outside in - Coding Dojo Lyon
TDD outside in - Coding Dojo Lyonflorentpellet
 
Coaching Philosophy and Planning
Coaching Philosophy and PlanningCoaching Philosophy and Planning
Coaching Philosophy and PlanningPinoyathletics.info
 
Liderando a transformação digital
Liderando a transformação digital  Liderando a transformação digital
Liderando a transformação digital Thoughtworks
 
M1 2016 - devenir enseigt - syst educ
M1 2016 - devenir enseigt - syst educM1 2016 - devenir enseigt - syst educ
M1 2016 - devenir enseigt - syst educPhilippe Watrelot
 
Décès par valvulopathie attribuables au mediator
Décès par valvulopathie attribuables au mediatorDécès par valvulopathie attribuables au mediator
Décès par valvulopathie attribuables au mediatorAgnès Fournier
 
Analytics in Learning and Knowledge - George Siemens
Analytics in Learning and Knowledge - George SiemensAnalytics in Learning and Knowledge - George Siemens
Analytics in Learning and Knowledge - George SiemensOpenKnowledge srl
 
The Top 5 Reasons to Use a Learning Management System (small business edition)
The Top 5 Reasons to Use a Learning Management System (small business edition)The Top 5 Reasons to Use a Learning Management System (small business edition)
The Top 5 Reasons to Use a Learning Management System (small business edition)Infopro Learning, Inc.
 
Analyse syst educ_1-les acteurs
Analyse syst educ_1-les acteursAnalyse syst educ_1-les acteurs
Analyse syst educ_1-les acteursPhilippe Watrelot
 
2016 diapo chap 3 mondialisation-tes3
2016 diapo chap 3 mondialisation-tes32016 diapo chap 3 mondialisation-tes3
2016 diapo chap 3 mondialisation-tes3Philippe Watrelot
 
Property key terms you may not know
Property key terms you may not knowProperty key terms you may not know
Property key terms you may not knowChelsea Aston
 
Continuous Deployment Strategies
Continuous Deployment StrategiesContinuous Deployment Strategies
Continuous Deployment StrategiesThoughtworks
 

En vedette (17)

Slimmer werken met metadata COPE 25 mei 2016
Slimmer werken met metadata COPE 25 mei 2016Slimmer werken met metadata COPE 25 mei 2016
Slimmer werken met metadata COPE 25 mei 2016
 
TDD outside in - Coding Dojo Lyon
TDD outside in - Coding Dojo LyonTDD outside in - Coding Dojo Lyon
TDD outside in - Coding Dojo Lyon
 
JURE 2007
JURE 2007JURE 2007
JURE 2007
 
CV SIGIT BARU
CV SIGIT BARUCV SIGIT BARU
CV SIGIT BARU
 
Coaching Philosophy and Planning
Coaching Philosophy and PlanningCoaching Philosophy and Planning
Coaching Philosophy and Planning
 
Liderando a transformação digital
Liderando a transformação digital  Liderando a transformação digital
Liderando a transformação digital
 
M1 2016 - devenir enseigt - syst educ
M1 2016 - devenir enseigt - syst educM1 2016 - devenir enseigt - syst educ
M1 2016 - devenir enseigt - syst educ
 
Décès par valvulopathie attribuables au mediator
Décès par valvulopathie attribuables au mediatorDécès par valvulopathie attribuables au mediator
Décès par valvulopathie attribuables au mediator
 
Analytics in Learning and Knowledge - George Siemens
Analytics in Learning and Knowledge - George SiemensAnalytics in Learning and Knowledge - George Siemens
Analytics in Learning and Knowledge - George Siemens
 
The Top 5 Reasons to Use a Learning Management System (small business edition)
The Top 5 Reasons to Use a Learning Management System (small business edition)The Top 5 Reasons to Use a Learning Management System (small business edition)
The Top 5 Reasons to Use a Learning Management System (small business edition)
 
Analyse syst educ_1-les acteurs
Analyse syst educ_1-les acteursAnalyse syst educ_1-les acteurs
Analyse syst educ_1-les acteurs
 
2016 diapo chap 3 mondialisation-tes3
2016 diapo chap 3 mondialisation-tes32016 diapo chap 3 mondialisation-tes3
2016 diapo chap 3 mondialisation-tes3
 
cours
courscours
cours
 
Creating a Culture of Learning in the New Year
Creating a Culture of Learning in the New YearCreating a Culture of Learning in the New Year
Creating a Culture of Learning in the New Year
 
Property key terms you may not know
Property key terms you may not knowProperty key terms you may not know
Property key terms you may not know
 
Code retreat
Code retreatCode retreat
Code retreat
 
Continuous Deployment Strategies
Continuous Deployment StrategiesContinuous Deployment Strategies
Continuous Deployment Strategies
 

Similaire à CARA - Software Craftsmanship : le chaînon manquant de l’agilité ?

Mix it 2016 - Software craftsmanship : le chainon manquant de l’agilité ?
Mix it 2016 - Software craftsmanship : le chainon manquant de l’agilité ?Mix it 2016 - Software craftsmanship : le chainon manquant de l’agilité ?
Mix it 2016 - Software craftsmanship : le chainon manquant de l’agilité ?Nicolas Ruffel
 
Gestion de projet #2 : méthodes
Gestion de projet #2 : méthodesGestion de projet #2 : méthodes
Gestion de projet #2 : méthodesJean Michel
 
Scrum pour les (nuls) devs
Scrum pour les (nuls) devsScrum pour les (nuls) devs
Scrum pour les (nuls) devsJenny Beaumont
 
Le scrum master, metamorphe du bonheur
Le scrum master, metamorphe du bonheurLe scrum master, metamorphe du bonheur
Le scrum master, metamorphe du bonheursebastien_fournel
 
Introduction à l'agilité ensmse
Introduction à l'agilité   ensmseIntroduction à l'agilité   ensmse
Introduction à l'agilité ensmseagnes_crepet
 
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
 
Impacts de l'adoption de Scrum
Impacts de l'adoption de ScrumImpacts de l'adoption de Scrum
Impacts de l'adoption de ScrumPyxis Technologies
 
Management de projet 2
Management de projet 2Management de projet 2
Management de projet 2David VALLAT
 
Management de projet (agilité et design thinking)
Management de projet (agilité et design thinking)Management de projet (agilité et design thinking)
Management de projet (agilité et design thinking)David VALLAT
 
ppt sur la Méthode Agile (adaptative).pdf
ppt sur la Méthode Agile (adaptative).pdfppt sur la Méthode Agile (adaptative).pdf
ppt sur la Méthode Agile (adaptative).pdfimenhamada17
 
[Webinar Niji] Clés de succès et partage d’expériences pour mettre en œuvre e...
[Webinar Niji] Clés de succès et partage d’expériences pour mettre en œuvre e...[Webinar Niji] Clés de succès et partage d’expériences pour mettre en œuvre e...
[Webinar Niji] Clés de succès et partage d’expériences pour mettre en œuvre e...Niji
 
Aborder la transition vers l'agilité
Aborder la transition vers l'agilitéAborder la transition vers l'agilité
Aborder la transition vers l'agilitéChristophe Addinquy
 
Les méthodes Agiles - Introduction
Les méthodes Agiles - IntroductionLes méthodes Agiles - Introduction
Les méthodes Agiles - IntroductionTremeur Balbous
 
Patterns Agiles avec Visual Studio 2012 et TFS 2012
Patterns Agiles avec Visual Studio 2012 et TFS 2012Patterns Agiles avec Visual Studio 2012 et TFS 2012
Patterns Agiles avec Visual Studio 2012 et TFS 2012Microsoft
 
Vincent Biret Societic devops Sherbrooke
Vincent Biret Societic devops SherbrookeVincent Biret Societic devops Sherbrooke
Vincent Biret Societic devops SherbrookeVincent Biret
 
Introduction Aux MéThodes Agiles
Introduction Aux MéThodes AgilesIntroduction Aux MéThodes Agiles
Introduction Aux MéThodes AgilesStanyslas MATAYO
 

Similaire à CARA - Software Craftsmanship : le chaînon manquant de l’agilité ? (20)

Mix it 2016 - Software craftsmanship : le chainon manquant de l’agilité ?
Mix it 2016 - Software craftsmanship : le chainon manquant de l’agilité ?Mix it 2016 - Software craftsmanship : le chainon manquant de l’agilité ?
Mix it 2016 - Software craftsmanship : le chainon manquant de l’agilité ?
 
Gestion de projet #2 : méthodes
Gestion de projet #2 : méthodesGestion de projet #2 : méthodes
Gestion de projet #2 : méthodes
 
Scrum pour les (nuls) devs
Scrum pour les (nuls) devsScrum pour les (nuls) devs
Scrum pour les (nuls) devs
 
Le scrum master, metamorphe du bonheur
Le scrum master, metamorphe du bonheurLe scrum master, metamorphe du bonheur
Le scrum master, metamorphe du bonheur
 
Introduction à l'agilité ensmse
Introduction à l'agilité   ensmseIntroduction à l'agilité   ensmse
Introduction à l'agilité ensmse
 
Agile Tour Lille 2008
Agile Tour Lille 2008Agile Tour Lille 2008
Agile Tour Lille 2008
 
12 agile
12 agile12 agile
12 agile
 
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
 
Xtreme Programming
Xtreme ProgrammingXtreme Programming
Xtreme Programming
 
Impacts de l'adoption de Scrum
Impacts de l'adoption de ScrumImpacts de l'adoption de Scrum
Impacts de l'adoption de Scrum
 
Management de projet 2
Management de projet 2Management de projet 2
Management de projet 2
 
Management de projet (agilité et design thinking)
Management de projet (agilité et design thinking)Management de projet (agilité et design thinking)
Management de projet (agilité et design thinking)
 
ppt sur la Méthode Agile (adaptative).pdf
ppt sur la Méthode Agile (adaptative).pdfppt sur la Méthode Agile (adaptative).pdf
ppt sur la Méthode Agile (adaptative).pdf
 
[Webinar Niji] Clés de succès et partage d’expériences pour mettre en œuvre e...
[Webinar Niji] Clés de succès et partage d’expériences pour mettre en œuvre e...[Webinar Niji] Clés de succès et partage d’expériences pour mettre en œuvre e...
[Webinar Niji] Clés de succès et partage d’expériences pour mettre en œuvre e...
 
Aborder la transition vers l'agilité
Aborder la transition vers l'agilitéAborder la transition vers l'agilité
Aborder la transition vers l'agilité
 
Les méthodes Agiles - Introduction
Les méthodes Agiles - IntroductionLes méthodes Agiles - Introduction
Les méthodes Agiles - Introduction
 
La gestion de projet agile
La gestion de projet agileLa gestion de projet agile
La gestion de projet agile
 
Patterns Agiles avec Visual Studio 2012 et TFS 2012
Patterns Agiles avec Visual Studio 2012 et TFS 2012Patterns Agiles avec Visual Studio 2012 et TFS 2012
Patterns Agiles avec Visual Studio 2012 et TFS 2012
 
Vincent Biret Societic devops Sherbrooke
Vincent Biret Societic devops SherbrookeVincent Biret Societic devops Sherbrooke
Vincent Biret Societic devops Sherbrooke
 
Introduction Aux MéThodes Agiles
Introduction Aux MéThodes AgilesIntroduction Aux MéThodes Agiles
Introduction Aux MéThodes Agiles
 

Plus de florentpellet

Split my monolith - Devoxx
Split my monolith - DevoxxSplit my monolith - Devoxx
Split my monolith - Devoxxflorentpellet
 
Comment faire un mur végétal chez soi ?
Comment faire un mur végétal chez soi ?Comment faire un mur végétal chez soi ?
Comment faire un mur végétal chez soi ?florentpellet
 
Global Day of Coderetreat - Lyon 2015
Global Day of Coderetreat - Lyon 2015Global Day of Coderetreat - Lyon 2015
Global Day of Coderetreat - Lyon 2015florentpellet
 
CARA Coding Dojo - Outils de tests
CARA Coding Dojo - Outils de testsCARA Coding Dojo - Outils de tests
CARA Coding Dojo - Outils de testsflorentpellet
 
CARA Coding dojo - Golden Master
CARA Coding dojo - Golden MasterCARA Coding dojo - Golden Master
CARA Coding dojo - Golden Masterflorentpellet
 
CARA Coding Dojo - SOLID
CARA Coding Dojo - SOLIDCARA Coding Dojo - SOLID
CARA Coding Dojo - SOLIDflorentpellet
 
HumanTalk - Commentaires, je t'aime un peu, beaucoup, à la folie, pas du tout
HumanTalk - Commentaires, je t'aime un peu, beaucoup, à la folie, pas du toutHumanTalk - Commentaires, je t'aime un peu, beaucoup, à la folie, pas du tout
HumanTalk - Commentaires, je t'aime un peu, beaucoup, à la folie, pas du toutflorentpellet
 
CARA Coding Dojo TDD Palindrome (décembre 2014)
CARA Coding Dojo TDD Palindrome (décembre 2014)CARA Coding Dojo TDD Palindrome (décembre 2014)
CARA Coding Dojo TDD Palindrome (décembre 2014)florentpellet
 
GWAB Lyon - Legacy code atelier
GWAB Lyon - Legacy code atelierGWAB Lyon - Legacy code atelier
GWAB Lyon - Legacy code atelierflorentpellet
 
Single Page Application: Enrichissez l'expérience utilisateur
Single Page Application: Enrichissez l'expérience utilisateurSingle Page Application: Enrichissez l'expérience utilisateur
Single Page Application: Enrichissez l'expérience utilisateurflorentpellet
 

Plus de florentpellet (14)

Split my monolith - Devoxx
Split my monolith - DevoxxSplit my monolith - Devoxx
Split my monolith - Devoxx
 
Comment faire un mur végétal chez soi ?
Comment faire un mur végétal chez soi ?Comment faire un mur végétal chez soi ?
Comment faire un mur végétal chez soi ?
 
Lyon Tech Hub
Lyon Tech HubLyon Tech Hub
Lyon Tech Hub
 
Global Day of Coderetreat - Lyon 2015
Global Day of Coderetreat - Lyon 2015Global Day of Coderetreat - Lyon 2015
Global Day of Coderetreat - Lyon 2015
 
201506 mug intro
201506 mug intro201506 mug intro
201506 mug intro
 
Event storming
Event stormingEvent storming
Event storming
 
CARA Coding Dojo - Outils de tests
CARA Coding Dojo - Outils de testsCARA Coding Dojo - Outils de tests
CARA Coding Dojo - Outils de tests
 
CARA Coding dojo - Golden Master
CARA Coding dojo - Golden MasterCARA Coding dojo - Golden Master
CARA Coding dojo - Golden Master
 
CARA Coding Dojo - SOLID
CARA Coding Dojo - SOLIDCARA Coding Dojo - SOLID
CARA Coding Dojo - SOLID
 
HumanTalk - Commentaires, je t'aime un peu, beaucoup, à la folie, pas du tout
HumanTalk - Commentaires, je t'aime un peu, beaucoup, à la folie, pas du toutHumanTalk - Commentaires, je t'aime un peu, beaucoup, à la folie, pas du tout
HumanTalk - Commentaires, je t'aime un peu, beaucoup, à la folie, pas du tout
 
CARA Coding Dojo TDD Palindrome (décembre 2014)
CARA Coding Dojo TDD Palindrome (décembre 2014)CARA Coding Dojo TDD Palindrome (décembre 2014)
CARA Coding Dojo TDD Palindrome (décembre 2014)
 
GWAB Lyon - Legacy code atelier
GWAB Lyon - Legacy code atelierGWAB Lyon - Legacy code atelier
GWAB Lyon - Legacy code atelier
 
Crafting workshop
Crafting workshopCrafting workshop
Crafting workshop
 
Single Page Application: Enrichissez l'expérience utilisateur
Single Page Application: Enrichissez l'expérience utilisateurSingle Page Application: Enrichissez l'expérience utilisateur
Single Page Application: Enrichissez l'expérience utilisateur
 

CARA - Software Craftsmanship : le chaînon manquant de l’agilité ?

  • 1. Software Craftsmanship : le chaînon manquant de l’agilité ? @CharlesBouttaz @NicoRuffel Photo John Alexander Calderon
  • 2. Méthodes Agiles Management de projet ● Scrum ● Crystal Clear ● SAFe ● ... Développement ● Agile Unified Process - Disciplined Agile Delivery ● eXtreme Programming ● ...
  • 3. Les manifestes AGILE les individus & leurs interactions > les processus et les outils collaboration avec les clients > négociation contractuelle adaptation au changement > le suivi d’un plan des logiciels opérationnels > documentation exhaustive CRAFTSMANSHIP communauté de professionnels + des partenariats productifs + l'ajout constant de la valeur + des logiciels bien conçus +
  • 4. 12 Principes 1. Notre plus haute priorité est de satisfaire le client en livrant rapidement et régulièrement des fonctionnalités à grande valeur ajoutée. 2. Accueillez positivement les changements de besoins,même tard dans le projet. Les processus Agiles exploitent le changement pour donner un avantage compétitif au client. 3. Livrez fréquemment un logiciel opérationnel avec des cycles de quelques semaines à quelques mois et une préférence pour les plus courts. 4. Les utilisateurs ou leurs représentants et les développeurs doivent travailler ensemble quotidiennement tout au long du projet. 5. Réalisez les projets avec des personnes motivées. Fournissez-leur l’environnement et le soutien dont ils ont besoin et faites-leur confiance pour atteindre les objectifs fixés. 6. La méthode la plus simple et la plus efficace pour transmettre de l’information à l'équipe de développement et à l’intérieur de celle-ci est le dialogue en face à face. 7. Un logiciel opérationnel est la principale mesure d’avancement. 8. Les processus Agiles encouragent un rythme de développement soutenable. Ensemble, les commanditaires, les développeurs et les utilisateurs devraient être capables de maintenir indéfiniment un rythme constant. 9. Une attention continue à l'excellence technique et à une bonne conception renforce l’Agilité. 10. La simplicité – c’est-à-dire l’art de minimiser la quantité de travail inutile – est essentielle. 11. Les meilleures architectures, spécifications et conceptions émergent d'équipes autoorganisées. 12. À intervalles réguliers, l'équipe réfléchit aux moyens de devenir plus efficace, puis règle et modifie son comportement en conséquence.
  • 5. Des pratiques, des techniques ! ● Clean Code ● Simple Design ● Refactoring ● SOLID ● Pair programming ● Integration continue ● DevOps ● Prog fonctionnelle ● Root cause analysis ● Conception Objet ● Livraison continue ● Mob programming ● TDD ● ATDD ● BDD ● DDD
  • 6. Les pratiques ne sont que des outils ! ● Un outil est efficace dans dans un contexte donné ● “LA” solution parfaite n’existe pas ● Pragmatisme : “capacité à s’adapter aux contraintes de la réalité” ● Les valeurs & principes comme guide
  • 7. Notre plus haute priorité est de satisfaire le client en livrant rapidement et régulièrement des fonctionnalités à grande valeur ajoutée.
  • 8. Tests automatisés, Test First, Test Driven Development TDD: 1/ écrire un test qui échoue pour ma fonctionnalité 2/ écrire l’implementation minimale qui fait passer le test 3/ refactoring -> GOTO 1 Intérêt ● Code testable ● Meilleur design* ● Documentation FEEDBACK
  • 9. TDD façe a la dure réalité ● C’est difficile ! ○ Code Legacy hostile ○ Besoin de bonnes notions de design ● Les mauvais tests coûtent cher ○ pas expressifs, trop longs, trop liés a l’implémentation ● Les tests unitaires ne sont pas suffisants ● Difficile de “vendre“ le test unitaire COURAGE
  • 10. Accueillez positivement les changements de besoins, même tard dans le projet. Les processus Agiles exploitent le changement pour donner un avantage compétitif au client.
  • 11. Intégration continue Chaque tâche de développement terminée est automatiquement compilée, testée et intégrée à l’application Les plus... ● Détection rapide des problèmes d'intégration ● La version courante est toujours disponible ● Tous les tests sont repassés à chaque tâche terminée FEEDBACK
  • 12. La dure réalité de l’intégration continue Nouvelle organisation du travail Coût de l'automatisation ● Plateforme d’intégration ● Lien entre SCM et la plateforme ● Déploiement en un clic Construction de la suite de tests ● 10 minutes build ● Rapidité et fiabilité du feedback COURAGE
  • 13. Accueillez positivement les changements de besoins, [...] pour donner un avantage compétitif au client. Une attention continue à l'excellence technique et à une bonne conception renforce l’Agilité. Les meilleures architectures, spécifications et conceptions émergent d'équipes autoorganisées. La simplicité [...] est essentielle.
  • 14. Architecture “Big Design Up Front” : Avant le début du projet l’architecte prend toutes les décisions d’architecture et des technologies a utiliser. Ensuite les développeurs implémentent la vision de l’architecte. BDUF + Agile = Problèmes ● Nécessite des besoins fonctionnels figés ● Choix et décisions les plus impactants au pire moment ● Les erreurs coûtent cher
  • 15. Design émergent Strict minimum d’architecture avant de commencer (macro & micro). Faire émerger le design au cours du dévelopement par des refactorings successifs. Refactoring = améliorer le code. ex: nommage, factorisation, cohésion, couplage, etc. Intérêt ● Maintenabilité ● Extensibilité ● Prendre les décisions quand on a le plus d’information SIMPLICITÉ
  • 16. Design émergent face a la dure réalité ● Ne veut pas dire qu’on ne fait plus d’architecture ! ● Ne veut pas dire qu’on refait toute l’application a chaque feature ! ● Refactoring difficile à “vendre” : temps qui n’apporte pas de nouvelle feature COURAGE
  • 17. Une attention continue à l'excellence technique et à une bonne conception renforce l’Agilité. La méthode la plus simple et la plus efficace pour transmettre de l’information à l'équipe de développement et à l’intérieur de celle-ci est le dialogue en face à face.
  • 18. Travail en binôme Les tâches de conception / programmation sont abordées à deux FEEDBACK COMMUNICATION ● Transfert de connaissance ● Le développeur n’est pas seul face aux problèmes rencontrés Intérêt ● Meilleur design
  • 19. La vérité sur le travail en binôme ● Difficile à vendre ● Organisation du travail si travail en binôme à la demande ● Choc culturel ● Equipe répartie / multi sites RESPECT
  • 20. Être agile plutôt que faire de l’agile ! Les valeurs de eXtreme Programming ou les manifestes sont de bons refuges FEEDBACK COURAGE COMMUNICATION SIMPLICITÉ RESPECT