Cher Mouton 2.0

Merci pour ton excellent commentaire à la fin de l’article consacré au Software Craftsmanship. Je t’écris discrètement car je sais que tu es encore dans une réunion « PowerPoint-Acronyme » avec GrandChef. Qu’est-ce qu’il présente ce matin ? La Nouvelle Nouvelle Stratégie ? Les Objectifs Q1 2011 ? Ses photos de vacances ?
Courage, ce n’est qu’une heure de perdu. 6 personnes dans la salle, ah en fait c’est 6 heures de perdu pour l’entreprise. Bref passons, on est pas là pour parler de cela. Courage, on a envoyé une équipe pour t’extraire.

Alors oui, j’ai cédé à l’effet mode en écrivant un article sur Craftsmanship. Standardisation versus Artisanat. Grégory pour qui j’ai beaucoup d’estime et qui a présenté un point de vue sur son blog, se positionne sur la vision « industrialisation » de notre métier. De mon côté, je suis plus intéressé par le côté « artisanal » de la chose… le développement informatique. Alors voyons ce que cela donne.

Si nous étions meilleurs, nous n’aurions pas ces débats. Nous pourrions en effet imaginer une industrie mieux organisée en parlant de notre métier. Une Industrie est une organisation qui met tout en oeuvre pour pouvoir réduire le temps de fabrication et la part d’aléatoire dans la construction d’un bien. Appliqué au développement logiciel, nous pensons Model Driven Architecture. Je ne suis pas convaincu par cette approche. Je la respecte, car je crois que des personnes très intelligentes y passent beaucoup de temps. Mais je ne peux m’empêcher de penser que c’est un moyen de déplacer le problème. Là où nous n’avions pas de bons développeurs Java, est-ce que nous aurons de bons analystes à même de modéliser une application ? Est-ce que la solution ne fait pas que déplacer le problème ? Je suis donc peu convaincu par ces solutions et par cette approche. Mais cela reste personnel. Je suis convaincu qu’il y a de bons projets réalisés grâce à l’approche MDA. Elle répond à un besoin précis, mais cette approche n’est pas nécessaire pour réussir un projet.

Nous nous rapprochons pourtant depuis 15 ans de l’industrialisation. Sur le projet où je travaille, nous utilisons une usine logicielle. Compilation, gestion du code source, audit de la qualité du code, gestion de tickets, gestion des exigences et des spécifications, un outil complet qui rend de grands services. Tu es d’accord avec moi, aujourd’hui un projet informatique sans gestionnaire de code source, ce n’est pas réaliste. Il en est de même pour l’intégration continue, la gestion des incidents et tout un ensemble de bonnes pratiques.

De ce côté là donc, nous pouvons dire que nous nous sommes industrialisés petit à petit. Nous sommes capable de construire rapidement une version de notre logiciel. C’est donc un contre-argument à ceux qui pensent que nous ne serions que des artisans.

S’il y a un endroit où cependant nous pouvons encore nous améliorer en 2011, c’est du côté de la mise en production et de la gestion de configuration (Application Lifecycle Managment). Nous verrons au 3ème anniversaire du ParisJUG une petite présentation sur DevOps par Patrick Dubois. C’est un mouvement très pragmatique qui vise à réconcilier le développeur et la personne qui fait l’exploitation. Si tu as encore une réunion cet après-midi, je te conseille de lire ce billet de ton blog favori. Il y a donc encore un peu d’amélioration à espérer de ce côté là.

Ensuite quoi d’autre ? Ah le développement lui-même.
Il y a 10 ans tout juste, dans une galaxie lointaine, des Jedis se sont réunis et ont lancé le Manifeste Agile. D’abord centré sur l’organisation d’une équipe avec l’eXtreme Programming, la sauce a ensuite coulé jusqu’à l’organisation du projet avec Scrum, puis maintenant l’entreprise avec Lean/Kanban et autre.

Mais moi, simple développeur, ça change quoi ?

Merci, chaque matin un bonhomme me demande ce que j’ai fait la veille, ce que je vais faire aujourd’hui, puis il court bouger des post-its, comme on lui a expliqué. Par contre il n’est pas capable de me donner une vision à un mois, il est incapable d’expliquer ce que fait le logiciel dans son ensemble et il est incapable de gérer des clients qui ne veulent pas faire de l’Agile…

Alors arrêtons d’être « industrialisé » et regardons simplement comment nous travaillons.

Peu m’importe que le buzzword « Software Craftsmanship » soit encore un n-ième mot à la mode. Je vous rappelle que nous sommes pas mieux que ces filles qui s’extasient sur la collection des sacs en cuir automne-hiver 2011. Cela dit, il faut essayer de comprendre à chaque fois ce que les personnes placent comme intention et comme valeur derrière ces mots clés.

Profession : développeur

Pour terminer, je vais t’expliquer ma vision de notre métier. Je pense de moins en moins à marquer « Architecte » ou « Chef de projet » sur mon CV. Pourtant j’ai été CDP (note l’acronyme) pendant 3 ans. Mais j’ai arrêté. Car mon métier, c’est développeur. Pour gagner plus, il suffit de bosser plus comme dirait 1m68. Il suffit aussi de penser que sa passion peut être un moyen de gagner plus. Et là, je ne parle pas d’argent. Je parle de rencontre, de beaux projets, de qualité de vie, d’équipe, de présentation devant une audience et de communauté.

Etre développeur en 2011 c’est être ouvert aux autres, capable de réaliser un logiciel simplement et humblement. C’est être en mesure de travailler avec d’autres développeurs, sans qu’un « chef de… » soit nécessaire. Etre à l’opposé d’une vision industrielle de notre monde, tout en étant capable d’apporter des outils et de bonnes pratiques. C’est aussi comprendre que lorsque nous codons, nous réalisons une pièce unique.

Etre développeur, c’est aussi se rendre compte que nous avons le pouvoir de créer à peu de frais un logiciel. Regardez l’eXpress-Board : il y a 12 mois je n’avais rien. Quelques mois plus tard, des candidats et des recruteurs se rencontrent. Et tout ceci ne m’a pas coûté grand chose, quelque chose comme 2 mois de travail à temps plein. C’est rien dans une vie professionnelle. Je dis donc aux gars qui nous écoutent : lancez-vous, développez une application pour iPhone le soir, investissez-vous dans la communauté ou en donnant des cours aux étudiants : c’est comme cela que nous resterons des Développeurs et pas des poulets industrialisés, comme certains le pensent encore.

Allez, je te laisse. Courage pour ta réunion. N’oublie pas qu’il y a largement de quoi s’éclater et qu’il n’est pas si difficile de changer de boulot. Préparer son CV, le déposer au bon endroit, hop un coup de fil, tu vas en entretien. Là tu croises des gens qui s’éclatent.

Tu démissionnes et ensuite par contre, tu n’auras plus le temps de lire le Touilleur Express en réunion, car crois-moi, tu vas t’éclater.

A+

Nicolas

21 réflexions sur « Pour toi Mouton 2.0 »

  1. @Stephane : les commentaires qui comporent une URL sont systématiquement modérés par WordPress afin d’éviter le Spam. Hop je valide.. voilà ton commentaire est en ligne 🙂
    Cependant, l’eXpress-Board est l’endroit le plus adapté si tu veux passer ton offre et soutenir le Touilleur Express. Sinon j’ai peur de devoir modérer en effet les commentaires un jour 😉

  2. @Nicolas
    Merci beaucoup 🙂

    On est enregistré sur l’express board mais je n’ai pas encore les fonds pour passer une annonce (même si c’est pas cher non plus !). On a pas mal investi dans des projets…
    On y viendra de toutes façons 🙂

    Pour info, c’est là en premier où j’ai essayé de poster l’annonce !

  3. Un article pertinent et un rien taquin envers les fervents de l’industrialisation à tout crin et je partage ton opinion.

    Le développement logiciel ce n’est pas une industrie parce qu’elle n’a pas de processus industriel et j’invite tous ceux qui le pensent à regarder très fort du coté de vieilles industries comme l’automobile voir même l’électronique.

    Dans ces domaines, on ne réinvente pas la roue à chaque projet, on assemble des composants ou pièces, qui ont des caractéristiques connues, sont choisies pour leur adéquation aux composants connexes et parce qu’elles collent au budget.

    C’est encore très loin d’etre le cas dans notre profession, où on assemble fort peu.
    On aura certes des normes, des outils incontournables, des pratiques, mais au final, ça reste de l’artisanat des qu’on rentre dans les parties dites métiers.

    Là on va se mettre à pondre avec plus ou moins de bonheur des lignes de code spécifiques, même souvent où l’on pourrait assembler ou retenir des briques industrielles. Et cette activité, spécifique, sur mesure même, dans le monde réel cela s’appelle de l’artisanat. Ceci ne remet pas en cause le talent du créateur ou la beauté de la réalisation, nous recherchons même souvent cette spécificité chez eux.

    Un peu d’humilité et de réalisme, nous sommes dans un secteur où le spécifique et le sur mesure est de mise dans la grande majorité des projets. Et tant mieux car nous pouvons ainsi toujours découvrir et redécouvrir notre métier car rien n’est figé très longtemps, que cela soit dans les technologies ou les méthodes.

    Sur le sujet DevOps et le lien entre développeurs et production, il y aurait beaucoup à dire, deux mondes qui se côtoient et s’imaginent plus qu’ils se connaissent l’un l’autre. Nicolas, fais nous vite un billet sur le sujet !

  4. @Samuel : oui en attendant de regarder un bon match de Rugby.
    @HGomez : j’ai publié un article sur DevOps sur le Touilleur Express il y a quelques temps
    @HinkyMinky et @Hubert +1

  5. @Henri Gomez A bien y réfléchir, je trouve qu’on assemble quand même un peu 🙂 . Quand tu choisis un certain nombre de dépendances Maven pou ton projet et que tu les assembles, ça s’approche assez de « assembler des composants ou pièces, qui ont des caractéristiques connues, sont choisies pour leur adéquation aux composants connexes ».

  6. A propos de M. Mouton… Nicolas, tu as une « cible marketing » de lecteurs de ton blog à ne pas négliger: ceux qui ont laissé tomber leur passion, par lassitude de se faire défoncer au niveau salaire par les « Chef de pôle » et autres « Directeur de domaine ». Que vas tu en faire? Allez, je retourne faire mes règles de 3 dans Excel…

  7. Pour le titre je crois que j’aurais préféré,

    « Des moutons et des Hommes ».

    Mais attention, c’est des moutons hyper-vachement-forts : ils sont capables de « piloter » un projet avec Expptel. Même que des fois, ces moutons arrivent à imposer de faire du websphere-jsp-dojo-ajax (dans le genre crime contre l’Art ….). Bref, il y a ceux qui font et les autres. Le Dev étant assimilé à un travail manuel, en France, il est dévalorisé au profit du concept, de la méthode, de l’abstrait, du politique (mais version Machiavel de bacs à sable).

    Les problèmes que vous soulevez ici dépassent largement le cadre strict des projets informatiques. C’est beaucoup plus que ça, c’est un des aspects de la crise profonde de ce pays (si si carrément) : L’Etat-maman, la hierarchie-Papa, la religion de la méthode, l’abstrait contre le concret, le par-être (c’est exprès) sur le faire.

    En fait – allez je balance la sauce – c’est ni plus ni moins qu’un état d’esprit par rapport à la liberté, l’initiative, le sens commun et le rapport aux autres.

    Ben voui, on parle d’informatique et on se retrouve philosophe. C’est dingue !

    A part ça, Play (découvert via ce blog) est quand même vachement inspiré de Tornado….. donc c’est bien.

    PS : par avance, je déments formellement. D’ailleurs, je n’ai pas de moquette dans mon bureau.

  8. Très bon article qui me donnerait presque envie de ressortir mes classeurs de formation java ou autre, et de m’y remettre.
    Parce que les réunions qui servent à rien, les méthodes à la con qui changent tous les mois pour rester « in », et les chefs qui ne réfléchissent qu’en fonction d’objectif purement politique, je commence à en avoir un peu plein le dos.

  9. @tewoz

    effectivement… mais en prenant un peu de recul, j’ai l’impression que le problème vient surtout du management qui préfère la politique de l’autruche et de l’économie de moyen à court terme plutôt que de défendre une vision et d’impliquer les équipes face aux maîtrises d’ouvrages.

    donc reprendre sa casquette de développeur, pourquoi pas, mais à part travailler pour les bisounours, je craint que la frustration soit également au rendez-vous.

  10. C’est marrant, cette semaine, je rapportais justement à un collègue américain cette citation de notre ex-« responsable developpeurs » (français), qui disait à un de nos dev « junior »:

    « Si tu veux progresser, arrête de faire du code. »

    Ca motive tout de suite.

    Et bien sûr le meme mec pas gêné aussi d’expliquer que c’est normal que « le gugus qui court bouger les post-it » doit être plus payé que le dev/architecte qui a conçu le produit, car ce gugus « maitrise MS-Project », ce qui vaut mieux que n’importe quelle experience en Java, JS ou C++.

    Le responsable en question, au salaire astronomique, est parti, et on s’en porte pas plus mal (un peu mieux en fait).
    Mais bon, on a toujours le gugus aux post-it. 😉

  11. Hah, Nicolas, comme j’ai aimé travailler avec toi… en 1997 😉

    A cette époque, nous étions de jeunes geek fraichement démoulés de l’école. Et je croyais que le code est roi, le client un chieur et le commercial un bouffon.
    Notre art (car comme toute création de l’esprit c’est un Art.. juste trop complexe pour passionner les foules dans des galeries huppées) méritait un meilleur traitement que ce que le client donnait.

    Sauf que depuis, j’ai compris que nous sommes là pour faire un produit, la plupart du temps jetable, n’ayant que trois raisons d’être :
    – servir dans un combat d’égotisme politique (la MOA ou le DSI qui veulent mousser),
    – servir quelques utilisateurs qui veulent seulement accomplir plus vite et plus simplement leur charge quotidienne,
    – ou faire du fric (un e-commerce, de la souscription en ligne…)

    Alors, là dedans… la beauté du geste, l’allégresse de l’artiste, la clarté de l’architecture et la polyvalence des API… tout le monde s’en fout !

    Le leitmotiv de tout ce petit monde qui nous achète nos oeuvres : faites vites et pas cher un truc qui marche !

    Alors, le Craftsmanship… à part nous conforter dans nos égos, à quoi ça peut servir ?

    Pensez-vous un seul instant qu’une SSII (oui ces méchants pas bô qui contrôlent 90% du marché) vont en vendre à leur client ?

    Ou même, soyons fous : qu’un client viennent nous demander de surtout faire un bel ouvrage, qu’ils seront prêt à payer plus pour l’Oeuvre ?
    (ça c’est moi en DSI dans ma PME 🙂

    Qu’il reste une place à la beauté du geste dans les clivages d’égos politisées qui structurent les projets des grands groupes DAF/MOA, DSI/Achats, MOE/prestataires, Architectes/Exploitation/Sécurité & Divisions/Services

    Navré d’être si cynique, mais vous pourrez toujours clamer votre amour de cet art sadomasochiste qu’est le nôtre… ça ne servira à rien d’autre qu’à animer vos blogs.

    Aujourd’hui, et plus encore avec la concurrence Indienne, la religion est au fastcoding : faire crade & de bas niveau, mais vite livré, vite consommé, vite jeté.

    Le menu MacCode à 5€ avec supplément de bug .

  12. bonne article
    juste un truc me chiffonne, travaillez le soir pour de petits projets pour pouvoir rester artisan ?
    la chose qui me dérange chez les JUG et autres mouvements apparentés et ce « travail gratuit », c’est bien beau la passion mais faut bouffer et voir sa famille

    C’est bien quand on a 16ans de passer tout son temps sur l’ordinateur…
    Personnellement, je vois plus le coté artisan après toute la clique d’intégration continue, je vois juste le coté « production » – Ah ça oui je produis, à outrance, toujours les mêmes choses, les mêmes problèmes et je bouffe bien

    Vous oubliez aussi le coté mondialisation, il n’y a pas de syndicat à propos des informaticiens, nous serons tjs de la chair à canon dans la plupart des cas – De plus, le client en a rien à foutre que vous savez faire du threadpool, mais veut juste sa page web avec son formulaire ajax 2.0 sous IE 6

    PS :
    1 – Je shématise
    2 – Personnellement le soir, si j’ai un projet informatique, ça ne sera pas du JAVA ! Recoder un ènième site et avoir les mêmes problèmes qu’au boulot, c’est du masochisme je trouve – Autant se faire plaisir avec du C++, un IDE pour la nintendo DS et bien d’autres choses qui existent très très peu dans l’entreprise, là c’est la vraie passion – bosser sur maven 3 par exemple pour l’exploiter en entreprise plus tard…C’est se mettre des chaines ! Au final le mouton 2.0, c’est vous, les prêcheurs…
    3 – je ne suis pas révolutionnaire

  13. Cher Nicolas,

    Me faire l’honneur de me consacrer un billet du Touilleur Express me va droit au cœur. Saches que tes conseils ne tombent dans l’oreille d’un sourd et je t’en remercie.

    J’ai la faiblesse de croire que l’on peut toujours faire différemment et peut-être mieux. Au plus profond de moi-même je rejette le statu quo et je refuse de rentrer dans une case prédéfinie. Je suis tout simplement passionné et ma relation avec mon travail ne sera jamais alimentaire ! J’aime m’améliorer, j’aime expérimenter, j’aime recommencer.
    Je suis un chercheur de pépites, je peux passer des heures à chercher un bon billet, un bon commentaire, un bon article, une bonne idée. Hé oui, le statut de Mouton 2.0 ça se mérite :-).

    Certains me diraient que le mélange passion et travail n’est pas la bonne solution et que pour faire mieux, il faut un environnement propice : des organisations, des budgets et surtout un marché.

    Permettez-moi, de partager cette petite histoire avec vous. Nous sommes au début du 20eme siècle la course au vol habité et motorisé fait rage.
    Samuel Pierpont Langley avait de l’argent (plus de 50K$ offert par le département de la guerre), une chaire à Harvard et travaillait à l’observatoire d’astrophysique Smithsonian Institution. Il a embauché des pointures et il avait le soutien et la publicité du New York Times qui le suivait.

    A quelques centaines de Km de là, à Dayton dans L’Ohio : Orville et Wilbur Wright se lançaient dans la même course sans argent, sans NYT, juste une approche expérimentale du problème et une petite équipe. D’ailleurs, personne de cette équipe n’a été à l’université, pas même Orville ou Wilbur. Mais ils avaient l’essentiel : la croyance que s’ils pouvaient découvrir une machine volante, ils changeraient le monde. Le 17 décembre 1903, les frères Wright ont pris leur envol.

    Revenons à nos moutons, j’aime cette idée Craftsmanship ‘artisan de l’informatique’, je trouve que c’est important de réaliser des développements qui soient le plus simple possible et que nous ajoutions de la valeur à un programme en permanence. J’aime aussi cette idée de Devops de faire tomber les silos et de comprendre les contraintes de l’autre. Accepter le changement et s’ouvrir aux autres (au delà du gars de la prod peut-être… ).

    Et après tout, tant pis si c’est juste du buzz. Craftsman ou pas, ce qui me semble intéressant c’est d’expérimenter, d’évaluer, de s’ouvrir aux autres, de ne garder que les bons ingrédients et de se challenger en permanence car l’activité à laquelle nous consacrons au moins un 1/3 de nos journées mérite bien ça !

    Si vous aussi vous êtes convaincu que l’on peut faire mieux, je serai ravi d’échanger avec vous. Si vous ne l’êtes pas, je suis aussi intéressé par votre secret pour gérer le statut quo ?

    Je vous remercie de m’avoir lu et au plaisir de vous lire.

    Mouton 2.0
    Qui rêve de travailler en sifflant.
    @ lundi peut être.

  14. Arf ! Que dire de mieux ?
    Peut-etre juste que nous utilisons des termes pourtant evocateurs d’un autre metier : briques logicielles, architecte java, maitrise d’oeuvre et d’ouvrage… Et industrialise-t-on la construction ? Oui, parfois : je parle pour ma part de champignoniere… Mais on sait tous ce que cela signifie : des maisons defaillantes au bout de dix ans a peine…
    Non, la profession est bien un artisanat.
    Moi aussi, j’ai choisi de « rester » developpeur. Et pour m’eclater, j’ai du chercher a changer de taf (ce qui semble porter ses fruits).
    Alors merci encore Nicolas pour ce billet raffraichissant comme tant d’autres du Touilleur ! ;o)

Les commentaires sont fermés.