Pour passer la crise, rembourser votre dette technique

Preview:

DESCRIPTION

Présentation donnée en binôme avec Rémy Sanlaville en octobre 2009 sur Genève durant l'Agile Tour.

Citation preview

Pour passer la crise,rembourser

votre dette technique

Rémy SanlavilleExpert Sénior en Ingénierie LogicielleOrange Labsremy.sanlaville@orange-ftgroup.com

Freddy MalletCréateur de SonarSonarSourcefreddy.mallet@sonarsource.com

� Deux informaticiens qui discutent à la caféteria...

� Des problèmes du momentgrippe A, crise financière…

mais également de NOS problèmesdettes techniques, qualité, chaîne de développement…

� Des réflexions et des solutions pour vous désendetter applicables par tous et donc par vous !

Sonar, Hudson, JIRA, Lean...

Contrat : Ce que vous verrez…

� PDCA ou d'autres méthodes pour la mise en place d'action d'amélioration continue.

Cf. Session C6 La face cachée de la mesure...

� Méthodes de gestion de projet (Scrum...)

� Les problèmes de communicationsCf. Session B6 Schizophrénie MOA/MOE...

� Tout ce qu'on voulait vous raconter et qu'on aura pas le temps d'aborder... Venez nous rencontrer après pour en discuter !

� Une potion magique pour rembourser toutes vos dettes…

Contrat : Ce que vous ne verrez pas…

La Une du jour

Grippe A :L'Europe fait face au risque de pandémie

La grippe porcine : les symptômes

Difficile de lutter contre la pandémie

ou

Et si seulement...

La grippe A en informatique ?

Nos symptômes ?

Ouille !

Argh !

Aïe !

maman !

Même pas mal !

La peur du changement…

Sans une personne on est bloqué

Au fin fond de l'Univers, à des années et des années-lumière de la Terre,Veille celui que le gouvernement intersidéral appelle quand il n'est plusCapable de trouver une solution àses problèmes, quand il ne reste plusAucun espoir :

le Capitaine FLAM !

Un code pas toujours "propre"

Un défaut corrigé pour un défaut ajouté

Peu ou pas de nouvelles versions…

Ça marche chez moi !

Et c’est pas mon problème !

L'application n'est pas testable

Les tests ne fonctionnent pas sur mon poste

Je n'ai pas le temps ! Je suis en retard !

Une journée n'a que 24h

Syndrome du pompier…

Il y a quoi dans ma release ?

Quels sont vos symptômes ?

La Dette Technique

Syndrome du WTFs/minute

Dette technique : maladie mortelle ?

Le coût d'ajout d'une fonctionnalité augmente au fil du temps jusqu'à devenir intolérable

De la dette au surendettement

Il faut rendre visible le surendettement technique

Etes-vous surendetté ?

Les outils de premier niveau

Est-ce suffisant ?

Les outils de deuxième niveau

Docteur, pourquoi j'ai mal ?

� Un symptôme est une alarme

� Un symptôme n'est pas une cause

� Un symptôme demande un diagnostic

� Un symptôme appelle un plan d'actions

Les 7 péchés capitaux du développeur

La Dette TechniqueDémo avec Sonar

Reprenons de la hauteur

La Dette TechniqueD'autres causes ?

Y a-t-il d'autres causes ?

Du code à la chaîne de développement

Code sourc

e

Chaîn

e d

e d

éve

loppem

ent

Votre build est-il reproductible ?

ou ou

Supervision du build ?

Supervision du build ?

Supervision du build ?

Hudson's growth charthttp://f.hatena.ne.jp/images/fotolife/s/ssogabe/20090506/20090506081325.png

Intégration continue

http://www.agitar.com/solutions/why_unit_testing.html

Etes-vous "Stop the Line" ?

http://www.agile-swiss.org/wiki/index.php?title=Integration_continue

ou

Etes-vous "Stop the Line" ?

Votre fréquence de commit ?

ou

Lundi Mardi Mercredi

09:00

11:00

14:00

17:0018:00

S41 S42 S43

Supervision de la Gestion de Conf. ?

http://www.life-ends.com/at/johloemoe/developers.html

Où en est votre Tracker ?

Quelles sont vos priorités ?

Votre fréquence de release ?

ouProduction

Itération

toutes les deux semaines

1 fois par an plusieurs fois par an

La Dette TechniqueManagement

de la dette

Management de la dette

Un robinet qui goutte4 litres par heures, soit 35 000 litres par an soit 35 m3 sur ma facture annuelle !

Un mince filet d’eau16 litres par heures, soit 140 000 litres par ansoit 140 m3 sur ma facture annuelle !

Une chasse d’eau qui fuit25 litres par heures, soit 220 000 litres par an soit 220 m3 sur ma facture annuelle !consommation annuelle d’une famille de 5 personnes

Le gaspillage au quotidien

Combien d'argent perdez-vous à cause de votre dette technique ?

Dictature des nouvelles fonctionnalités

Endetté ou Surendetté ?

http://www.xprogramming.com/xpmag/BigVisibleCharts.htm

# S

céna

rios

Itérations

ScénarioModificationDéfaut

# S

céna

rios

Itérations

ou

La Dette TechniqueConclusion

D'où vient la dette technique ?

Code SourceCode SourceCode SourceCode Source

ChaChaChaChaîîîîne de ne de ne de ne de

DDDDééééveloppementveloppementveloppementveloppement

Management de la dette

Management des équipes

Vous n'avez que vos yeux pour pleurer ?

C'est l'humain qui trouveles remèdes !

De l'importance de formerles personnes

Bibliographie

� Lean

� Lean Primerhttp://www.leanprimer.com/downloads/lean_primer.pdf

� The 7 Software Development Wasteshttp://agilesoftwaredevelopment.com/blog/jackmilunsky

� The Seven Wasteshttp://agileinaflash.blogspot.com/2009/02/seven-wastes.html

� 5Shttp://fr.wikipedia.org/wiki/5S

� Autonomationhttp://en.wikipedia.org/wiki/Autonomation

Bibliographie

� Qualité de code

� A Solid Definition for Quality in Softwarehttp://javadots.blogspot.com/2008/07/finally-definition-for-good-program.html

� Programmers top 10 sentenceshttp://www.makinggoodsoftware.com/2009/09/01/programmers-top-10-sentences/

� In pursuit of code quality: Monitoring cyclomatic complexityhttp://www.ibm.com/developerworks/java/library/j-cq03316/index.html?S_TACT=105AGX02&S_CMP=EDU

� A Lesson In Low-Defect Softwarehttp://www.sqlite.org/talks/wroclaw-20090310.pdf

� Meet My Dog, Patcheshttp://www.gamasutra.com/view/feature/4111/dirty_coding_tricks.php?print=1

� An Idea Whose Time Has Come and Gone?http://www2.computer.org/cms/Computer.org/ComputingNow/homepage/2009/0709/rW_SO_Viewpoints.pdf

Bibliographie

� Intégration Continue, Build, Tests, Gestion de Conf…

� Speed up your buildbox, Part I: Introduction & Harddiskhttp://schneide.wordpress.com/2009/09/15/speed-up-your-buildbox-part-i-introduction-harddisk/

� Ruining your Test Automation Strategyhttp://blog.objectmentor.com/articles/2009/09/29/ruining-your-test-automation-strategy

� Deployment is the Goalhttp://www.infoq.com/articles/deployment-is-the-goal

� Version Control for Multiple Agile Teamshttp://www.infoq.com/articles/agile-version-control

ROTI (Return On Time Invested)

� 5 doigts : ExcellenteSuper c'est exactement ce qu'il me fallait !

� 4 doigts : BonneTrès intéressant, j’ai gagné plus que le temps que j’y ai passé.

� 3 doigts : Juste MoyenneIntéressant, sans plus. Je n’ai pas perdu mon temps.

� 2 doigts : UtileBof ! J'ai perdu du temps.

� 1 doigt : InutileJe n'ai rien appris. J’ai vraiment perdu mon temps

Recommended