D1 - Un développeur est-il un numéro, un coût journalier ou un artiste ?

Preview:

DESCRIPTION

Le métier et le rôle du développeur ont fortement évolués au cours des 10 dernières années du fait notamment de l'adoption massive des méthodologies agiles. De manière ludique, cette session mettra en lumière cette évolution et ces enjeux. Freddy Mallet

Citation preview

20102009

Genève 20119 mai

xpday.ch

« Un développeur est-il un numéro, un coût journalier ou un artiste ? »

Freddy Mallet

- D1 -

Développeur :Artiste ou Numéro ?

Par Freddy Malletfreddy.mallet@sonarsource.com

XP Day Suisse

Il était une fois des autodidactes

Le savant génial

Le super héros

L'individualiste

C'est mon jouet !

L'homme

Les technologies se complexifient

COBOLJava, .Net,Web,

Clouds, Ruby, Scala, NoSQL, SOAP, N tiers,Play, GWT, ...

Les attentes du métier augmentent

L'outillage évolue

Makefile

Gestionnairede source

Gestionnairede projet technique

Gestionnairede tickets

IntégrationContinue

Refactoringdepuis l'IDE

VI / Emacs

Tests unitaires

InspectionContinue

Les exigences évoluentGestionnaire de configuration

Aucune modification ne passe en production sans avoir été préalablement placée sous contrôle de version

L'ensemble cohérent des sources d'une version applicative doit pouvoir être retrouvé aisément dans le gestionnaire de source

Les exigences évoluentIntégration continue

Le code contenu dans le gestionnaire de source doit pouvoir être compilé à tout moment et par n'importe qui

L'exécution des tests unitaires fait pleinement parti du processus de construction

La sortie du processus de construction est un livrable prêt à l'emploi

Si une des exigences ci dessus n'est plus respectée, rien n'est plus important que de la corriger

Les exigences évoluentInspection Continue

Tout nouveau code doit être accompagné de tests unitaires

Aucune méthode ne doit excéder un seuil de complexité

Aucun code ne doit être dupliqué ...

L'aventurier est perdu

La mission évolue

« Get It Done » et « Do It Right »

Tout est maintenance évolutive !

Création d'une application

Maintenance D'une l'application

Une application est vivante

Inspection Continue

« A well-written program is a program where the cost of implementing a feature

is constant throughout the program's lifetime. »

Itay Maman

La dette technique

Comment mesurer cette dette ?

Les 7 péchés capitauxDu développeur

Péchés

Dette technique

Exemple de dégradation structurelle

Développeur, aujourd'hui et demain ?

L'entêtement est toujours possible

Développement : activité linéaire !

Spécifications

Code Source

Ce n'est pas complexe

9 femmes peuvent faire un enfant en 1 mois !

Les tests ça coutent chers !

On spécifie puis on ... développe

externalise, outsource

Je n'attends rien du développeur excepté du

code source

Des aspirations naissent

Complexité

Passion

Expérience

Intuition

Création

Une métaphore n'est qu'une image

Le développeur est un artiste !

Le développeur est un jardinier !

Mais les choses sont plus simples

Professionnalisation

Artisanat ou Industrie ?

L’industrie est l'ensemble des activités humaines tournées vers la production en série de biens ; elle sous-entend : une certaine division du travail, contrairement à

l'artisanat où la même personne assure théoriquement l'ensemble des processus : étude, fabrication, commercialisation, gestion

une notion d'échelle, on parle de « quantités industrielles » lorsque le nombre de pièces identiques atteint un certain chiffre

Une démarche et des outils

Feedback Driven Development

Revue « collégiale » de la fonctionnalité

Revue « collégiale » du design

Détermination du plus petit incrément fonctionnel

Détermination du plus petit incrément technique

Ecrire un test en échec

Ecrire le code pour faire passer le test dans le vert

Refactorer le code

Automatisation d'un test d'intégration

Pousser le changement

Coach, où es-tu ?

A chacun sa vision

Amateur

NuméroCompagnon

Professionnel

Artisan

Intermittent

Jardinier

Mais quel potentiel d'évolution !

Questions & Réponses

Merci http://www.sonarsource.org http://www.sonarsource.com