SlideShare uma empresa Scribd logo
1 de 31
Baixar para ler offline
Comment transformer des
«débutants»...
en super développeurs en un an ?
Définitions
(à considérer dans le contexte de l’entreprise !)
Un débutant...

= n’apprend pas de ses erreurs
= passe l’essentiel de son temps à écrire du code
= s’identifie à son code
= ne met pas son travail dans une perspective
«business»
Un «Super développeur»...

= se focalise sur la satisfaction client
= prend le temps de concevoir et tester avant
d’écrire du code
= remet en question la qualité de son travail
Postulat de départ

= équipe constituée
 = renforcée d’une nouvelle recrue

 = à la recherche de plus d’efficacité

= nouvelle équipe
 = from scratch (oui, ça existe encore !)
Environnement
Timing : 2 à 4 semaines
Objectifs

= Bénéfices
 -> éviter de perdre du temps au quotidien

 -> amener chacun à exploiter au mieux les outils utilisés

= Risques
 -> ne pas imposer les outils - laisser l’équipe en décider

 -> ne pas être rigide - selon les tâches, les outils peuvent varier
Définir un environnement cohérent

 = uniformiser
   -> les systèmes

   -> les IDE

   -> les accessoires

 = rester en veille
   -> nouveaux outils, nouveaux besoins
Organisation du team
Timing : 4 à 8 semaines
Objectifs
= Bénéfices
 -> optimiser les ressources de l’équipe

 -> permettre à chacun d’exploiter ses talents

 -> responsabiliser et donner confiance en soi à l’équipe

 -> éviter le bloquage de situations grâce à des arbitrages

= Risques
 -> une responsabilité ne doit pas être qu’une pression de plus

 -> enfermer les membres de l’équipe dans un rôle peut causer
 des frustrations contre-productives
Chacun doit trouver sa place
= prendre ses responsabilités
 -> exercer le super-pouvoir du développeur : le pouvoir de dire
 «Non» ! Refuser les contraintes irréalistes sera le meilleur moyen
 de préserver la qualité du projet

 -> quand il n’est pas possible de s’opposer à une mauvaise
 décision, le super-pouvoir doit se transformer en super-devoir :
 il faut alerter sur les risques engendrés

= partager son expérience
= faire confiance !
Méthodologie
Timing : 5 à 14 semaines
Objectifs
= Bénéfices
 -> optimiser les cycles de développements

 -> améliorer la relation avec le client en l’impliquant plus

 -> avoir plus de visibilité et de contrôle sur le déroulement des
 projets

 -> introduire la qualité à tous les moments du cycle de
 développement

= Risques
 -> appliquer de manière dogmatique la méthodologie ne
 permettra pas d’atteindre ces objectifs
Sélectionner
= "Manifeste pour l'agilité"
  -> agilemanifesto.org

= Se documenter
= Faire un choix
  ? Scrum
  ? Kanban

  -> Scrum :)
    Scrum propose un compromis intéressant entre souplesse et visibilité,
    qui s’adaptera à la majorité des équipes/projets mais pas à tous !
Implémenter
 = adapter
  = à son organisation

  = à ses priorités

= rester souple
  ≠ dogme

= l'équipe doit devenir responsable de son projet
  = éduquer son "client" (interne ou externe)

  = pour collaborer avec lui
Code Reviews
Timing : 2 à 4 semaines
Objectifs
= Bénéfices
 -> détection précoce des erreurs de conception et
 d’implémentation

 -> réduction de la quantité de code écrite

 -> réduction de la quantité de bugs !

= Risques
 -> sans aucun protocole, peut consommer un temps trop
 important

 -> mal comprises ou mal menées, les code reviews peuvent
 déclencher des conflits d’ego
Trouver le rythme et la forme

= planifiées ou spontanées
= formelles ou informelles
 -> améliorer la qualité     Texte
= laisser son ego au vestiaire
 -> il est votre pire ennemi !
Refactoring
Timing : 4 à 8 semaines
Objectifs
= Bénéfices
 -> uniformisation des API (application des coding standards)

 -> réduction de la quantité de code déployé

 -> amélioration de la réutilisabilité

= Risques
 -> rentrer dans des boucles infinies de réécriture

 -> causer des régressions
   -> c.f. «Tests unitaires» pour prévenir ce risque

 -> déclencher des conflits d’ego en reprenant le code d’un autre
 membre de l’équipe de manière arbitraire
Quoi et quand ?

= Quoi ?
 -> priorité aux objets métiers

 -> composants

= Quand ?
 -> après les code reviews

 -> après les retrospectives
Unit Testing	
Timing : 2 à 6 semaines
Objectifs
= Bénéfices
 -> prévention des régressions

 -> documentation du code

 -> validation des règles métiers

= Risques
 -> perdre du temps tenter de tester trop d’éléments,
 notamment des éléments non-testables

 -> ne pas maintenir les tests les rend inutiles
Parmi les bénéfices du test unitaire
 = facilite le refactoring
   -> informe des régressions immédiatement

 = guide la conception
   -> en appliquant le TDD, qui consiste à écrire les tests avant le
   code, on

 = vision objective de la qualité
   -> le résultat du test ne dépend pas de qui l’exécute

 = métrique de progression
   -> une méthode est implémentée lorsqu’elle passe tous les tests
   associés
Intégration continue
Timing : 4 à 8 semaines
Objectifs

= Bénéfices
 -> exploitation maximale des bonnes pratiques mise en oeuvre

 -> automatisation des tâches répétitives souvent source
 d’erreurs (particulièrement le déploiement)

= Risques
 -> aller trop vite vers l’intégration continue au risque de ne pas
 avoir mis en oeuvre toutes les pratiques associées en amont !
Le Graal !

 = convergence
 = visibilité
 = contrôle
 = Early bug killing
   -> plus vite on identifie un bug, plus on limite ses
   conséquences, et donc son coût
Conclusion
Prendre le temps !

= faire la différence entre "perdre" et "investir"
  = organisation

  = méthodologie

  = formation

  = refactoring

  = tests unitaires
Ne pas oublier l’essentiel !


 = acceptation de l’équipe
 = esprit d'équipe
 = communication
 = partage
Merci de votre attention !
Gauthier Delamarre / gde@vaconsulting.lu /
@gdelamarre


Christophe Massin / cma@vaconsulting.lu
@Christophe2dot0

Mais conteúdo relacionado

Mais procurados

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
 
Extreme programming
Extreme programmingExtreme programming
Extreme programmingBilal ZIANE
 
Scrum - Une méthode agile sous la loupe ...
Scrum  - Une méthode agile sous la loupe ...Scrum  - Une méthode agile sous la loupe ...
Scrum - Une méthode agile sous la loupe ...Bilel McSam
 
Formation Extreme Programming, Tests unitaires, travail collaboratif
Formation Extreme Programming, Tests unitaires, travail collaboratifFormation Extreme Programming, Tests unitaires, travail collaboratif
Formation Extreme Programming, Tests unitaires, travail collaboratifkemenaran
 
Méthode d'Agile: Scrum
Méthode d'Agile: ScrumMéthode d'Agile: Scrum
Méthode d'Agile: ScrumChaymaMghazli
 
Méthodes agiles: Scrum et XP
Méthodes agiles: Scrum et XPMéthodes agiles: Scrum et XP
Méthodes agiles: Scrum et XPYouness Boukouchi
 
Méthodes agiles vs méthodes classiques
Méthodes agiles vs méthodes classiquesMéthodes agiles vs méthodes classiques
Méthodes agiles vs méthodes classiquesSirine Barguaoui
 
Capital humain, facteur de réussite des projets
Capital humain, facteur de réussite des projetsCapital humain, facteur de réussite des projets
Capital humain, facteur de réussite des projetsFabrice Thomas
 
Partie 2 - Agile, Scrum, Méthodologie – Un tour d’horizon rapide sur la métho...
Partie 2 - Agile, Scrum, Méthodologie – Un tour d’horizon rapide sur la métho...Partie 2 - Agile, Scrum, Méthodologie – Un tour d’horizon rapide sur la métho...
Partie 2 - Agile, Scrum, Méthodologie – Un tour d’horizon rapide sur la métho...Bruno Flaven
 
Ainsi pense la scrum.org (Pense pas Bête pour comprendre les assement de nive...
Ainsi pense la scrum.org (Pense pas Bête pour comprendre les assement de nive...Ainsi pense la scrum.org (Pense pas Bête pour comprendre les assement de nive...
Ainsi pense la scrum.org (Pense pas Bête pour comprendre les assement de nive...Jean-Luc MAZE
 
Partie 1 - Agile, Scrum, Méthodologie – Un tour d’horizon rapide sur la métho...
Partie 1 - Agile, Scrum, Méthodologie – Un tour d’horizon rapide sur la métho...Partie 1 - Agile, Scrum, Méthodologie – Un tour d’horizon rapide sur la métho...
Partie 1 - Agile, Scrum, Méthodologie – Un tour d’horizon rapide sur la métho...Bruno Flaven
 
Intégration Continue (Agile Nantes)
Intégration Continue (Agile Nantes)Intégration Continue (Agile Nantes)
Intégration Continue (Agile Nantes)Fabian Piau
 
Les méthodes Agiles - Introduction
Les méthodes Agiles - IntroductionLes méthodes Agiles - Introduction
Les méthodes Agiles - IntroductionTremeur Balbous
 

Mais procurados (20)

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
 
Scrum Checklist
Scrum ChecklistScrum Checklist
Scrum Checklist
 
Timeboxing
TimeboxingTimeboxing
Timeboxing
 
Extreme programming
Extreme programmingExtreme programming
Extreme programming
 
Scrum - Une méthode agile sous la loupe ...
Scrum  - Une méthode agile sous la loupe ...Scrum  - Une méthode agile sous la loupe ...
Scrum - Une méthode agile sous la loupe ...
 
Formation Extreme Programming, Tests unitaires, travail collaboratif
Formation Extreme Programming, Tests unitaires, travail collaboratifFormation Extreme Programming, Tests unitaires, travail collaboratif
Formation Extreme Programming, Tests unitaires, travail collaboratif
 
Méthode d'Agile: Scrum
Méthode d'Agile: ScrumMéthode d'Agile: Scrum
Méthode d'Agile: Scrum
 
Méthodes agiles: Scrum et XP
Méthodes agiles: Scrum et XPMéthodes agiles: Scrum et XP
Méthodes agiles: Scrum et XP
 
Scrum Product Owner Anti-Patterns
Scrum Product Owner Anti-PatternsScrum Product Owner Anti-Patterns
Scrum Product Owner Anti-Patterns
 
Méthodes Agiles - La Méthode XP
Méthodes Agiles - La Méthode XPMéthodes Agiles - La Méthode XP
Méthodes Agiles - La Méthode XP
 
Méthodes agiles vs méthodes classiques
Méthodes agiles vs méthodes classiquesMéthodes agiles vs méthodes classiques
Méthodes agiles vs méthodes classiques
 
Etude des Frameworks PHP
Etude des Frameworks PHPEtude des Frameworks PHP
Etude des Frameworks PHP
 
Capital humain, facteur de réussite des projets
Capital humain, facteur de réussite des projetsCapital humain, facteur de réussite des projets
Capital humain, facteur de réussite des projets
 
Partie 2 - Agile, Scrum, Méthodologie – Un tour d’horizon rapide sur la métho...
Partie 2 - Agile, Scrum, Méthodologie – Un tour d’horizon rapide sur la métho...Partie 2 - Agile, Scrum, Méthodologie – Un tour d’horizon rapide sur la métho...
Partie 2 - Agile, Scrum, Méthodologie – Un tour d’horizon rapide sur la métho...
 
Ainsi pense la scrum.org (Pense pas Bête pour comprendre les assement de nive...
Ainsi pense la scrum.org (Pense pas Bête pour comprendre les assement de nive...Ainsi pense la scrum.org (Pense pas Bête pour comprendre les assement de nive...
Ainsi pense la scrum.org (Pense pas Bête pour comprendre les assement de nive...
 
Partie 1 - Agile, Scrum, Méthodologie – Un tour d’horizon rapide sur la métho...
Partie 1 - Agile, Scrum, Méthodologie – Un tour d’horizon rapide sur la métho...Partie 1 - Agile, Scrum, Méthodologie – Un tour d’horizon rapide sur la métho...
Partie 1 - Agile, Scrum, Méthodologie – Un tour d’horizon rapide sur la métho...
 
Les pratiques Scrum
Les pratiques ScrumLes pratiques Scrum
Les pratiques Scrum
 
Intégration Continue (Agile Nantes)
Intégration Continue (Agile Nantes)Intégration Continue (Agile Nantes)
Intégration Continue (Agile Nantes)
 
Les méthodes Agiles - Introduction
Les méthodes Agiles - IntroductionLes méthodes Agiles - Introduction
Les méthodes Agiles - Introduction
 
Initiation Scrum
Initiation ScrumInitiation Scrum
Initiation Scrum
 

Destaque

La qualité au meilleur prix grâce aux tests unitaires
La qualité au meilleur prix grâce aux tests unitairesLa qualité au meilleur prix grâce aux tests unitaires
La qualité au meilleur prix grâce aux tests unitairesGauthier Delamarre
 
Zoom sur le Métier de Développeur
Zoom sur le Métier de DéveloppeurZoom sur le Métier de Développeur
Zoom sur le Métier de DéveloppeurANAPEC
 
Etude Apec - Attitudes et pratiques des jeunes diplômés concernant l'usage de...
Etude Apec - Attitudes et pratiques des jeunes diplômés concernant l'usage de...Etude Apec - Attitudes et pratiques des jeunes diplômés concernant l'usage de...
Etude Apec - Attitudes et pratiques des jeunes diplômés concernant l'usage de...Apec
 
Automati(sati)on de votre application Azure
Automati(sati)on de votre application AzureAutomati(sati)on de votre application Azure
Automati(sati)on de votre application AzureMarius Zaharia
 
Devops, ça change quoi pour moi développeur ?
Devops, ça change quoi pour moi développeur ?Devops, ça change quoi pour moi développeur ?
Devops, ça change quoi pour moi développeur ?antony_guilloteau
 
BDD avec Behat, PhpSpec et Symfony2
BDD avec Behat, PhpSpec et Symfony2BDD avec Behat, PhpSpec et Symfony2
BDD avec Behat, PhpSpec et Symfony2Mohammed Rhamnia
 
Unit testing PHP apps with PHPUnit
Unit testing PHP apps with PHPUnitUnit testing PHP apps with PHPUnit
Unit testing PHP apps with PHPUnitMichelangelo van Dam
 
PHPUnit: from zero to hero
PHPUnit: from zero to heroPHPUnit: from zero to hero
PHPUnit: from zero to heroJeremy Cook
 
Fraîchement diplômé – Que faire ensuite?
Fraîchement diplômé – Que faire ensuite? Fraîchement diplômé – Que faire ensuite?
Fraîchement diplômé – Que faire ensuite? LinkedIn
 
Les cabinets de recrutement spécialisés dans les métiers du numérique
Les cabinets de recrutement spécialisés dans les métiers du numériqueLes cabinets de recrutement spécialisés dans les métiers du numérique
Les cabinets de recrutement spécialisés dans les métiers du numériqueFrenchWeb.fr
 
Quelles compétences pour demain? Le guide des métiers en évolution
Quelles compétences pour demain? Le guide des métiers en évolutionQuelles compétences pour demain? Le guide des métiers en évolution
Quelles compétences pour demain? Le guide des métiers en évolutionGroupe Randstad France
 
Intégration continue des projets PHP avec Jenkins
Intégration continue des projets PHP avec JenkinsIntégration continue des projets PHP avec Jenkins
Intégration continue des projets PHP avec JenkinsHugo Hamon
 
Bonnes pratiques de developpement en PHP
Bonnes pratiques de developpement en PHPBonnes pratiques de developpement en PHP
Bonnes pratiques de developpement en PHPPascal MARTIN
 
Test Driven Development with PHPUnit
Test Driven Development with PHPUnitTest Driven Development with PHPUnit
Test Driven Development with PHPUnitMindfire Solutions
 
L'immobilier 100% entre Particuliers : Journal Mars-Avril 2015
L'immobilier 100% entre Particuliers : Journal Mars-Avril 2015L'immobilier 100% entre Particuliers : Journal Mars-Avril 2015
L'immobilier 100% entre Particuliers : Journal Mars-Avril 2015Partenaire Européen
 
Els tres porquets
Els tres porquetsEls tres porquets
Els tres porquetsvgares
 

Destaque (18)

La qualité au meilleur prix grâce aux tests unitaires
La qualité au meilleur prix grâce aux tests unitairesLa qualité au meilleur prix grâce aux tests unitaires
La qualité au meilleur prix grâce aux tests unitaires
 
Zoom sur le Métier de Développeur
Zoom sur le Métier de DéveloppeurZoom sur le Métier de Développeur
Zoom sur le Métier de Développeur
 
Etude Apec - Attitudes et pratiques des jeunes diplômés concernant l'usage de...
Etude Apec - Attitudes et pratiques des jeunes diplômés concernant l'usage de...Etude Apec - Attitudes et pratiques des jeunes diplômés concernant l'usage de...
Etude Apec - Attitudes et pratiques des jeunes diplômés concernant l'usage de...
 
Automati(sati)on de votre application Azure
Automati(sati)on de votre application AzureAutomati(sati)on de votre application Azure
Automati(sati)on de votre application Azure
 
Devops, ça change quoi pour moi développeur ?
Devops, ça change quoi pour moi développeur ?Devops, ça change quoi pour moi développeur ?
Devops, ça change quoi pour moi développeur ?
 
BDD avec Behat, PhpSpec et Symfony2
BDD avec Behat, PhpSpec et Symfony2BDD avec Behat, PhpSpec et Symfony2
BDD avec Behat, PhpSpec et Symfony2
 
Unit testing PHP apps with PHPUnit
Unit testing PHP apps with PHPUnitUnit testing PHP apps with PHPUnit
Unit testing PHP apps with PHPUnit
 
PHPUnit: from zero to hero
PHPUnit: from zero to heroPHPUnit: from zero to hero
PHPUnit: from zero to hero
 
Fraîchement diplômé – Que faire ensuite?
Fraîchement diplômé – Que faire ensuite? Fraîchement diplômé – Que faire ensuite?
Fraîchement diplômé – Que faire ensuite?
 
Les cabinets de recrutement spécialisés dans les métiers du numérique
Les cabinets de recrutement spécialisés dans les métiers du numériqueLes cabinets de recrutement spécialisés dans les métiers du numérique
Les cabinets de recrutement spécialisés dans les métiers du numérique
 
LinkedIn pour les étudiants
LinkedIn pour les étudiantsLinkedIn pour les étudiants
LinkedIn pour les étudiants
 
Quelles compétences pour demain? Le guide des métiers en évolution
Quelles compétences pour demain? Le guide des métiers en évolutionQuelles compétences pour demain? Le guide des métiers en évolution
Quelles compétences pour demain? Le guide des métiers en évolution
 
Intégration continue des projets PHP avec Jenkins
Intégration continue des projets PHP avec JenkinsIntégration continue des projets PHP avec Jenkins
Intégration continue des projets PHP avec Jenkins
 
Bonnes pratiques de developpement en PHP
Bonnes pratiques de developpement en PHPBonnes pratiques de developpement en PHP
Bonnes pratiques de developpement en PHP
 
Test Driven Development with PHPUnit
Test Driven Development with PHPUnitTest Driven Development with PHPUnit
Test Driven Development with PHPUnit
 
L'immobilier 100% entre Particuliers : Journal Mars-Avril 2015
L'immobilier 100% entre Particuliers : Journal Mars-Avril 2015L'immobilier 100% entre Particuliers : Journal Mars-Avril 2015
L'immobilier 100% entre Particuliers : Journal Mars-Avril 2015
 
Francese
FranceseFrancese
Francese
 
Els tres porquets
Els tres porquetsEls tres porquets
Els tres porquets
 

Semelhante a Comment transformer un débutant en super-développeur

Formation Professional Scrum Master I
Formation Professional Scrum Master IFormation Professional Scrum Master I
Formation Professional Scrum Master IGuillaume LAURIE
 
Communaute dot net Montreal juin2010
Communaute dot net Montreal juin2010Communaute dot net Montreal juin2010
Communaute dot net Montreal juin2010Dominic Danis
 
Cleancode / Tocea / Introduction
Cleancode / Tocea / IntroductionCleancode / Tocea / Introduction
Cleancode / Tocea / IntroductionSylvain Leroy
 
Talk - Devenir un Lead Dev : Echecs et Succès - FR - 20 mins
Talk - Devenir un Lead Dev : Echecs et Succès - FR - 20 minsTalk - Devenir un Lead Dev : Echecs et Succès - FR - 20 mins
Talk - Devenir un Lead Dev : Echecs et Succès - FR - 20 minsRomain Monceau
 
Introduction à l'agilité ensmse
Introduction à l'agilité   ensmseIntroduction à l'agilité   ensmse
Introduction à l'agilité ensmseagnes_crepet
 
Le métier de Product Owner
Le métier de Product OwnerLe métier de Product Owner
Le métier de Product OwnerFlorent Boyer
 
Agilité, Tests Et Industrialisation
Agilité, Tests Et IndustrialisationAgilité, Tests Et Industrialisation
Agilité, Tests Et IndustrialisationPHPPRO
 
Test driven development v0.2 20121221
Test driven development v0.2 20121221Test driven development v0.2 20121221
Test driven development v0.2 20121221Frédéric Delorme
 
Manager en télétravail
Manager en télétravailManager en télétravail
Manager en télétravailXAVIER HERMAN
 
Lean Kanban Une Inversion de Controle
Lean Kanban Une Inversion de ControleLean Kanban Une Inversion de Controle
Lean Kanban Une Inversion de ControleDimitri Baeli
 
Agilite togo jug_final
Agilite togo jug_finalAgilite togo jug_final
Agilite togo jug_finalagnes_crepet
 
Impacts de l'adoption de Scrum
Impacts de l'adoption de ScrumImpacts de l'adoption de Scrum
Impacts de l'adoption de ScrumPyxis Technologies
 
[MOOC GdP] Spécialisations GdP9
[MOOC GdP] Spécialisations GdP9[MOOC GdP] Spécialisations GdP9
[MOOC GdP] Spécialisations GdP9Bich Van Hoang
 
Introduction aux méthodes agiles
Introduction aux méthodes agilesIntroduction aux méthodes agiles
Introduction aux méthodes agilesGuillaume Collic
 
Introduction a l_agilite_iut_lyon_1_decembre2011
Introduction a l_agilite_iut_lyon_1_decembre2011Introduction a l_agilite_iut_lyon_1_decembre2011
Introduction a l_agilite_iut_lyon_1_decembre2011agnes_crepet
 
Méthodologie de gestion des tâches dans les projets web
Méthodologie de gestion des tâches dans les projets webMéthodologie de gestion des tâches dans les projets web
Méthodologie de gestion des tâches dans les projets webRomainKuzniak
 
Comment concilier ergonomie et approche Agile? Retour d'expérience sur une as...
Comment concilier ergonomie et approche Agile? Retour d'expérience sur une as...Comment concilier ergonomie et approche Agile? Retour d'expérience sur une as...
Comment concilier ergonomie et approche Agile? Retour d'expérience sur une as...Laureline Améaume
 

Semelhante a Comment transformer un débutant en super-développeur (20)

Formation Professional Scrum Master I
Formation Professional Scrum Master IFormation Professional Scrum Master I
Formation Professional Scrum Master I
 
Communaute dot net Montreal juin2010
Communaute dot net Montreal juin2010Communaute dot net Montreal juin2010
Communaute dot net Montreal juin2010
 
Cleancode / Tocea / Introduction
Cleancode / Tocea / IntroductionCleancode / Tocea / Introduction
Cleancode / Tocea / Introduction
 
lean development
lean developmentlean development
lean development
 
Talk - Devenir un Lead Dev : Echecs et Succès - FR - 20 mins
Talk - Devenir un Lead Dev : Echecs et Succès - FR - 20 minsTalk - Devenir un Lead Dev : Echecs et Succès - FR - 20 mins
Talk - Devenir un Lead Dev : Echecs et Succès - FR - 20 mins
 
Introduction à l'agilité ensmse
Introduction à l'agilité   ensmseIntroduction à l'agilité   ensmse
Introduction à l'agilité ensmse
 
Le métier de Product Owner
Le métier de Product OwnerLe métier de Product Owner
Le métier de Product Owner
 
Agilité, Tests Et Industrialisation
Agilité, Tests Et IndustrialisationAgilité, Tests Et Industrialisation
Agilité, Tests Et Industrialisation
 
Test driven development v0.2 20121221
Test driven development v0.2 20121221Test driven development v0.2 20121221
Test driven development v0.2 20121221
 
Manager en télétravail
Manager en télétravailManager en télétravail
Manager en télétravail
 
Lean Kanban Une Inversion de Controle
Lean Kanban Une Inversion de ControleLean Kanban Une Inversion de Controle
Lean Kanban Une Inversion de Controle
 
Agilite togo jug_final
Agilite togo jug_finalAgilite togo jug_final
Agilite togo jug_final
 
Impacts de l'adoption de Scrum
Impacts de l'adoption de ScrumImpacts de l'adoption de Scrum
Impacts de l'adoption de Scrum
 
[MOOC GdP] Spécialisations GdP9
[MOOC GdP] Spécialisations GdP9[MOOC GdP] Spécialisations GdP9
[MOOC GdP] Spécialisations GdP9
 
Introduction aux méthodes agiles
Introduction aux méthodes agilesIntroduction aux méthodes agiles
Introduction aux méthodes agiles
 
Psp Tsp Agile 3 1 Fr
Psp Tsp Agile 3 1 FrPsp Tsp Agile 3 1 Fr
Psp Tsp Agile 3 1 Fr
 
Introduction a l_agilite_iut_lyon_1_decembre2011
Introduction a l_agilite_iut_lyon_1_decembre2011Introduction a l_agilite_iut_lyon_1_decembre2011
Introduction a l_agilite_iut_lyon_1_decembre2011
 
SCRUM AGL.pptx
SCRUM AGL.pptxSCRUM AGL.pptx
SCRUM AGL.pptx
 
Méthodologie de gestion des tâches dans les projets web
Méthodologie de gestion des tâches dans les projets webMéthodologie de gestion des tâches dans les projets web
Méthodologie de gestion des tâches dans les projets web
 
Comment concilier ergonomie et approche Agile? Retour d'expérience sur une as...
Comment concilier ergonomie et approche Agile? Retour d'expérience sur une as...Comment concilier ergonomie et approche Agile? Retour d'expérience sur une as...
Comment concilier ergonomie et approche Agile? Retour d'expérience sur une as...
 

Comment transformer un débutant en super-développeur

  • 1. Comment transformer des «débutants»... en super développeurs en un an ?
  • 2. Définitions (à considérer dans le contexte de l’entreprise !)
  • 3. Un débutant... = n’apprend pas de ses erreurs = passe l’essentiel de son temps à écrire du code = s’identifie à son code = ne met pas son travail dans une perspective «business»
  • 4. Un «Super développeur»... = se focalise sur la satisfaction client = prend le temps de concevoir et tester avant d’écrire du code = remet en question la qualité de son travail
  • 5. Postulat de départ = équipe constituée = renforcée d’une nouvelle recrue = à la recherche de plus d’efficacité = nouvelle équipe = from scratch (oui, ça existe encore !)
  • 6. Environnement Timing : 2 à 4 semaines
  • 7. Objectifs = Bénéfices -> éviter de perdre du temps au quotidien -> amener chacun à exploiter au mieux les outils utilisés = Risques -> ne pas imposer les outils - laisser l’équipe en décider -> ne pas être rigide - selon les tâches, les outils peuvent varier
  • 8. Définir un environnement cohérent = uniformiser -> les systèmes -> les IDE -> les accessoires = rester en veille -> nouveaux outils, nouveaux besoins
  • 9. Organisation du team Timing : 4 à 8 semaines
  • 10. Objectifs = Bénéfices -> optimiser les ressources de l’équipe -> permettre à chacun d’exploiter ses talents -> responsabiliser et donner confiance en soi à l’équipe -> éviter le bloquage de situations grâce à des arbitrages = Risques -> une responsabilité ne doit pas être qu’une pression de plus -> enfermer les membres de l’équipe dans un rôle peut causer des frustrations contre-productives
  • 11. Chacun doit trouver sa place = prendre ses responsabilités -> exercer le super-pouvoir du développeur : le pouvoir de dire «Non» ! Refuser les contraintes irréalistes sera le meilleur moyen de préserver la qualité du projet -> quand il n’est pas possible de s’opposer à une mauvaise décision, le super-pouvoir doit se transformer en super-devoir : il faut alerter sur les risques engendrés = partager son expérience = faire confiance !
  • 12. Méthodologie Timing : 5 à 14 semaines
  • 13. Objectifs = Bénéfices -> optimiser les cycles de développements -> améliorer la relation avec le client en l’impliquant plus -> avoir plus de visibilité et de contrôle sur le déroulement des projets -> introduire la qualité à tous les moments du cycle de développement = Risques -> appliquer de manière dogmatique la méthodologie ne permettra pas d’atteindre ces objectifs
  • 14. Sélectionner = "Manifeste pour l'agilité" -> agilemanifesto.org = Se documenter = Faire un choix ? Scrum ? Kanban -> Scrum :) Scrum propose un compromis intéressant entre souplesse et visibilité, qui s’adaptera à la majorité des équipes/projets mais pas à tous !
  • 15. Implémenter = adapter = à son organisation = à ses priorités = rester souple ≠ dogme = l'équipe doit devenir responsable de son projet = éduquer son "client" (interne ou externe) = pour collaborer avec lui
  • 16. Code Reviews Timing : 2 à 4 semaines
  • 17. Objectifs = Bénéfices -> détection précoce des erreurs de conception et d’implémentation -> réduction de la quantité de code écrite -> réduction de la quantité de bugs ! = Risques -> sans aucun protocole, peut consommer un temps trop important -> mal comprises ou mal menées, les code reviews peuvent déclencher des conflits d’ego
  • 18. Trouver le rythme et la forme = planifiées ou spontanées = formelles ou informelles -> améliorer la qualité Texte = laisser son ego au vestiaire -> il est votre pire ennemi !
  • 19. Refactoring Timing : 4 à 8 semaines
  • 20. Objectifs = Bénéfices -> uniformisation des API (application des coding standards) -> réduction de la quantité de code déployé -> amélioration de la réutilisabilité = Risques -> rentrer dans des boucles infinies de réécriture -> causer des régressions -> c.f. «Tests unitaires» pour prévenir ce risque -> déclencher des conflits d’ego en reprenant le code d’un autre membre de l’équipe de manière arbitraire
  • 21. Quoi et quand ? = Quoi ? -> priorité aux objets métiers -> composants = Quand ? -> après les code reviews -> après les retrospectives
  • 22. Unit Testing Timing : 2 à 6 semaines
  • 23. Objectifs = Bénéfices -> prévention des régressions -> documentation du code -> validation des règles métiers = Risques -> perdre du temps tenter de tester trop d’éléments, notamment des éléments non-testables -> ne pas maintenir les tests les rend inutiles
  • 24. Parmi les bénéfices du test unitaire = facilite le refactoring -> informe des régressions immédiatement = guide la conception -> en appliquant le TDD, qui consiste à écrire les tests avant le code, on = vision objective de la qualité -> le résultat du test ne dépend pas de qui l’exécute = métrique de progression -> une méthode est implémentée lorsqu’elle passe tous les tests associés
  • 26. Objectifs = Bénéfices -> exploitation maximale des bonnes pratiques mise en oeuvre -> automatisation des tâches répétitives souvent source d’erreurs (particulièrement le déploiement) = Risques -> aller trop vite vers l’intégration continue au risque de ne pas avoir mis en oeuvre toutes les pratiques associées en amont !
  • 27. Le Graal ! = convergence = visibilité = contrôle = Early bug killing -> plus vite on identifie un bug, plus on limite ses conséquences, et donc son coût
  • 29. Prendre le temps ! = faire la différence entre "perdre" et "investir" = organisation = méthodologie = formation = refactoring = tests unitaires
  • 30. Ne pas oublier l’essentiel ! = acceptation de l’équipe = esprit d'équipe = communication = partage
  • 31. Merci de votre attention ! Gauthier Delamarre / gde@vaconsulting.lu / @gdelamarre Christophe Massin / cma@vaconsulting.lu @Christophe2dot0