L’agilité ne suffit pas pour être un bon développeur

Preview:

Citation preview

L’agilité ne suffit pas pour

être un bon développeur

Houssam Fakih & Boris Gonnot@houssamfakih @gonnot

Et pour vous, c’est quoi un bon développeur ?

Il n’y a pas de référentiel commun

Subjectif

Pourquoi on s’est posé cette question?

parce que c’est motivant

Progresser

Devenir Meilleur

Conquérir nos faiblesses

En parler ça nous responsabilise

Apprenons de ce qui se passe ailleurs

Sport

Athlétisme

Quelle mesure ?

Le temps/distance

Usain Bolt - Record du monde 100mTemps : 9”58

HaltérophilieLu Xiaojun

176 Kg à l’arraché (record mondial)

Quelle mesure ?

La charge / Temps

Trois choses à noter

Attention aux stéréotypes#1

Le plus dur est l’entraînement et non pas la compétition

#2

la belle posture

malgré la charge

#3

Concours national de Dictée

Les règles d’Orthographe

Connaître la grammaire et la conjugaison

Plein d’autres exemples Musique / Chanteur

Leçons tirées du sport

Deux aspects à noter

L’épreuve peut varier d’une discipline à l’autre

#1

En athlétisme, c’est la même distance

En Haltérophilie c’est la même charge

Pour la dictée, le texte n’est pas le même

l’évaluation est faite sur la compétition

#2

et non pas lors de l’entraînement

L’entraînement est pour gagner en compétences

Compétences variées

Foulée, Explosivité, Puissance, etc.

Règles de Grammaire, d’orthographe, de

conjugaison, de Mémoire, etc.

Maintenant revenons dans le monde du

développement

Evaluation = Métrique

Métrique pour un DEV

DANGER#MauvaiseUtilisation#Manager

Il faut former le manager

#1

sa responsabilité Training de l’équipe

manager = coach

simplement ne pas communiquer

#2

c’est votre outil

Mesurer c’est la base… élément de feedback

Quelle mesure ? Quantifiable et Simple

Deux mesures

Nombre de bugs

#1

“C’est la faute du fonctionnel”

#ExcuseBidon

Tout bug est de notre responsabilité

Objectif de tout bon développeur

Zero Bug

Valeur apportée au client

#2

#Expérimental

Comment l’évaluer

Google Analytics : une piste intéressante

Attention si non utilisé, il faut comprendre

pourquoi

review sur le produit

Compétences (Skills)

Clean Code

Compétence/Skill

Nommage

#1

Le lecteur a toujours raison

Partage du même langage

avec tous les acteurs du projet

Ubiquituous Language

Localisation des définitions

#2

Pas de mélange

Pas de dispersion

Refactoring

Compétence/Skill

Identifier bad smell

Identifier les commonalités

capacité de changer le code sans changer le

comportement

Connaître le catalogue de refacto de son IDE

Clean Tests

Compétence/Skill

Un test est une documentation

un test utile

Ne pas sur-tester

Refactoriser vos tests

Même Qualité pour le code et le test

Connaître son utilisateur

Compétence/Skill

S’intéresser à l’utilisateur final

Résoudre ses problèmes

Comprendre ses problématiques

Challenger les story

Travail en équipe

Compétence/Skill

Coordination

Capacité d’écoute

Positivisme

Adaptabilité

Compétence/Skill

Routine est notre ennemi

Toujours Apprendre des nouveaux outils

Toujours Apprendre des nouveaux paradigmes

Critère : capacité à simplifier

Simplifier

Compétence/Skill

Abstraction & Decomposition

détecter la complexité de l’existant

Mesurer le dev d’une nouvelle modification

Si ça prend beaucoup du temps il y a forcément

une complexité cachée

des outils à expérimenter Code Maat (couplage temporel & statique)

Etre toujours à la recherche de feedback

Respecter les jalons

Compétence/Skill

Bien estimer

Gérer son rythme

Comment développer ces compétences

Il faut s’entraîner

Mais comment ?

En développant ?

Peut-être…

En course à pieds, courir ne fait pas progresser

FractionnéFractionné - 30/30”

Il faut challenger le corps

développer ses compétences

Sortir de sa zone de confort

et il faut fixer des objectifs

liés aux compétences que l’on veut travailler

Quels Outils ?

Katas, Dojo, etc.

Exercices connus

String Calculator Diamond

Bowling Game Tic Tac Toe

Gilded Rose etc.

Les entraînements doivent être

en groupe (meetup, pairing, soirées, etc.)

Réguliers (pour ajuster)

Maîtrisés (Plan d’entraînement)

Matrice de compétences

On en tire 3 événements

Regression Consolidation Progression

Regression Temporaire ou chronique ?

Penser à vous reposer

Et avant la fin

@arolla

Recommended