Withings, depuis que l’un des créateurs français a racheté son entreprise à Nokia, s’est à nouveau lancée dans une course technologique. Cette semaine ils ont lancé la commercialisation de leur toute dernière montre connectée et santé : la ScanWatch pour 300€ max.
Elle est la première montre, au rang mondial et de tous les temps, à intégrer :
un électrocardiogramme
un détecteur de fibrillations
un censeur d’oxygène
un détecteur d’apnées du sommeil
les données basiques de ce genre de montres : nombre de pas, de calories, détection automatique du sport pratiqué (mais, malheureusement, pas de programme d’entraînement/de coaching/d’amélioration de ses perfs avec du deep-learning !!!)
Mais quid de la qualité ? Ils disent qu’ils sont validés médicalement et qu’ils ont lancé quelques études avec des hôpitaux et universités, dont George Pompidou (descendez très légèrement dans la page, rubrique de droite intitulée "The world’s most advanced health wearable" : https://www.withings.com/it/en/scanwatch). Ils disent qu’ils bossent avec des cardiologues et chirurgiens de renommée mondiale etc.
Est-ce de la com' ?
Evidemment ne participez à ce topic que si vous avez déjà travaillé chez Withings, que vous avez eu un collègue là-bas, ou que pour quelle que raison que ce soit, vous êtes au courant précisément et sans équivoque de l’éventuelle qualité de leurs projets.
D’expérience, je sais qu’un projet informatique pro lié à la santé peut être une catastrophe, aussi bien en terme d’informatique qu’en terme de médecine, même si l’initiateur fait lui-même partie du corps médical et qu’il est censé être une référence nationale voire internationale (je ne peux pas en dire plus). J’ai donc bien peur que Withings fasse beaucoup de com' et que son projet soit nul à chier sans aucune valeur médicale, et éventuellement que leurs cardiologues "de renommée internationale" soient des charlatans, ou encore que les études qu’ils ont commandées soient merdiques au possible et cheatées. (plus généralement, je n’accorde quasiment plus aucune confiance aux entreprises informatiques, à cause de mes expériences professionnelles et de ce que j’ai pu voir des projets, d’ailleurs même dans des projets que j’ai vus en tant que spectateur et non acteur, ça a été du grand n’importe quoi et je suis presque sûr que c’est comme ça que ça se passe pour 90% des boîtes, bref confiance 0% dans le monde du travail en info, et d’ailleurs tous les jours je me demande comment la Société arrive à marchoter malgré les bugs des impôts, des factures, ceci, cela… la qualité des pros en infos est tellement proche du 0 absolu, truc de fou… et je suis loin d’être le seul à le dire, y a qu’à consulter la littérature via hackernews par exemple, certains expliquent que c’est le caractère ultra-multi-dimensionnel du dév/génielogiciel informatique qui implique que l’humain actuel ne peut pas être efficace, etc. etc. y a des dizaines et des dizaines de théories, bref je m’égare).
Evidemment ne participez à ce topic que si vous avez déjà travaillé chez Withings, que vous avez eu un collègue là-bas, ou que pour quelle que raison que ce soit, vous êtes au courant précisément et sans équivoque de l’éventuelle qualité de leurs projets.
Non tout le monde peut participer. Tu ne fixes pas les règles du forum
C’est une question que tu nous poses ou c’est un coup de gueule contre Withings ?
À titre personnel, je possède un de leurs produits (pas celui-ci) et j’en suis plutôt satisfait.
Maintenant, pour moi le problème de pertinence médicale des données produites par cette montre ne vient pas tant de la qualité de la mesure que de la nature des données elles-mêmes : les données classiques d’un tracker d’activité (nombre de pas, calories, fréquence cardiaque, etc.) sont intéressantes pour les sportifs mais je suis un peu plus dubitatif sur le reste.
Je ne doute pas que leur ECG à une dérivation, leur oxymètre ou encore leur détecteur d’apnée du sommeil ait été testé par des chercheurs sérieux et validés - après tout les technologies en question sont maîtrisées depuis des années - mais je ne suis pas convaincu qu’il soit très intéressant ni très pertinent de vivre avec tout ça autour du poignet toute la journée encore moins quand on n’a pas le recul nécessaire pour interpréter ces données.
Je ne pense pas que Withings mente sur la qualité, par contre ils font peur aux gens pour vendre leur produit, c’est une certitude. La fibrillation atriale, ça peut être grave, c’est absolument exact. Sauf que ça touche rarement les personnes qui ont moins de 70 ans (et qui en général ont un suivi cardiaque plus poussé), que ça donne lieu à des symptômes comme des palpitations ou des altérations de l’état général. Je pense que quelqu’un qui se soucie de sa santé au point d’acheter une montre qui lui permet de faire un ECG 1D sera suffisamment attentif à sa santé pour en venir à consulter pour ce genre de symptôme.
Et c’est la même chose pour la SAT : dans l’absolu, une SAT inférieure à 94% pour une personne qui n’a pas d’insuffisance respiratoire chronique c’est problématique, maintenant il faut remettre les choses dans leur contexte. Avoir une SAT qui descend si on panique et qu’on devient polypnéique ou encore qu’on sort d’un effort intense c’est pas anormal et ça passe tout seul dans les minutes qui suivent. Si on commence à avoir un problème respiratoire qui nécessite une médicalisation il y aura d’autres symptômes tels que la difficulté à respirer, la tête qui tourne, des sueurs… Et si on en arrive là, il faut appeler le 15 ou le 18 et peu importe qu’on ait une valeur de SAT ou pas, ils viennent systématiquement avec leur appareil et une bouteille d’O2.
Je pourrais continuer sur l’apnée du sommeil mais c’est la même chose : il y a des symptômes précis qui feront évoquer le diagnostic à votre médecin traitant et celui-ci ne peut se confirmer que par polysomnographie.
Bref, tout ça pour dire qu’à mon avis, autant les capteurs sont sûrement aussi précis qu’il est possible de la faire dans une montre, autant se trimballer avec un laboratoire d’analyse médicale au poignet, je pense que ça n’a pas d’intérêt et c’est même un coup à paniquer pour rien quand on ne sait pas interpréter correctement les mesures.
Tu t’éparpillerais pas un peu dans tes remarques ?
J’ai du mal à savoir si tu veux des infos sur Withings ou juste critiquer les gens qui bossent dans l’info…
Pour en revenir à Withings… Apple promet aussi des capacités médicales pour sa montre, qui a été approuvée par la FDA.
Withings a l’air de clamer le même genre d’accrédidation :
J’ai envie de dire que c’est déjà signe d’un minimum de sérieux sur la captation des données.
Quant à la prédiction et aux programmes de coaching… c’est peut-être juste pas leur métier, donc ils laissent les autres s’en charger plutôt que de trop s’aventurer au risque de se planter.
Autrement tout comme Ekron, je ne vois pas trop l’intérêt d’avoir autant de gadgets constamment sur soi. J’ai eu une Pebble à un moment, j’ai fini par abandonner : c’était plus un jouet qu’autre chose, au quotidien ça générait surtout du stress d’avoir autant d’informations à disposition qui deviennent finalement une distraction.
ça générait surtout du stress d’avoir autant d’informations à disposition
D’une manière générale, le problème n’est généralement pas d’avoir « des mesures », mais « d’avoir des mesures pertinenteset de savoir les interpréter ». Et c’est valable avec toute forme de mesure et toute forme d’application.
Des médecins dans ma famille (oui, il y a des médecins dans ma famille) m’expliquaient que bien que certaines personnes le demandent, faire un check-up sans symptôme particulier n’a généralement pas d’intérêt. Pourquoi ? Parce que si on creuse assez, on va toujours trouver quelque chose qui n’est pas parfaitement dans la norme chez absolument tout le monde. En particulier, on trouvera toujours des cellules cancéreuses quelque part. Sauf que c’est très majoritairement bénin (et en particulier, le corps passe son temps à éliminer des cellules cancéreuses, qui ne deviennent problématiques que quand le système immunitaire n’arrive plus à s’en débarrasser, justement). Et médicaliser des trucs bénins, ça ajoute du stress et des interventions inutiles, donc c’est maléfique à terme (dans le sens contraire de « bénéfique »).
Pour répondre à l’inquiétude de @HerbeQuiBenchEtSquat sur les professionnels : un professionnel, c’est juste quelqu’un qui est payé pour faire ce qu’il fait. Ça n’implique hélas absolument pas que cette personne soit douée dans son domaine. Et des clowns, tu en trouves partout, dans tous les domaines, et pas qu’en informatique. Probablement même chez les clowns d’ailleurs.
C’est de loin la remarque la plus pertinente de ce fil de discussion.
Sinon je me suis demandé, à l’instant, si toute cette mise en scène n’avait pas pour but de faire de la publicité pour Withings (c’est parfois en dénigrant un produit ou une marque qu’on lui donne de l’importance, le mieux est de la passer sous silence sauf pour dénoncer un scandale véritable). Si c’est le cas je dois concéder que ce n’est pas l’endroit adéquat pour en parler (l’audience sur ce site est moindre, en plus d’être assez particulière à mon goût).
Il y a quelque chose d’H.S. qui m’a assez fait tilter :
plus généralement, je n’accorde quasiment plus aucune confiance aux entreprises informatiques, à cause de mes expériences professionnelles et de ce que j’ai pu voir des projets, d’ailleurs même dans des projets que j’ai vus en tant que spectateur et non acteur, ça a été du grand n’importe quoi et je suis presque sûr que c’est comme ça que ça se passe pour 90% des boîtes,
90 % me paraît honnête mais ça ne veut pas dire 100 %. Je peux t’assurer qu’il y a des boîtes où ça se passe très bien à ce niveau. Elles sont juste moindres et c’est tout à fait normal. Ne perds pas foi, l’informatique est une discipline passionnante dont l’étendue des applications possibles est vertigineuse. Il te faut juste trouver le bon projet et le bon cadre avec le minimum de compromis à faire.
C’est toujours la même chose, un PO trollesque qui crache cette fois à la figure des "professionnels de l’informatique" en général, citant pour se faire sa longue expérience accumulée sur un stage qu’il a passé à psychoter sur ce que pensait son chef de lui, ainsi que la source ultime parmi les sources : HAQUEURNIOUZE !
Ah, et c’était quoi la question du thread ? Ah oui : "est-ce que vous pensez pas que tel truc, qui n’est pas encore sorti, va être de la merde ?".
Sérieux, c’est quoi l’intérêt de ce genre de threads ? Ça sert à quoi à part se montrer gratuitement insultant, sans aucun élément probant ?
PS : Au cas où ça se verrait pas : oui, j’en ai marre.
Des médecins dans ma famille (oui, il y a des médecins dans ma famille) m’expliquaient que bien que certaines personnes le demandent, faire un check-up sans symptôme particulier n’a généralement pas d’intérêt. Pourquoi ? Parce que si on creuse assez, on va toujours trouver quelque chose qui n’est pas parfaitement dans la norme chez absolument tout le monde.
Je suis dubitatif devant ce genre de choses. Disons que je suis d’accord sur le fait qu’un bilan sanguin a rarement toutes les valeurs dans la norme et que la plupart du temps cela n’a aucune importance.
Mais de là à ne pas faire un bilan sanguin régulier (c’est-à-dire un par période de 5 ou 10 ans) je ne suis pas convaincu.
Car il y a des tas de maladies (exemple diabète de type II ou la plupart qui mettent en branle le système hormonale) où le début est sans symptômes forts ou trop peu spécifiques. Le malade peut pendant des années vivre avec une maladie sans le réaliser. C’est difficile pour un patient de savoir ce qui est normal et ne l’est pas dans ce genre de cas. Et plus tu attends pour le détecter et traiter, plus tu cours le risque que la maladie atteigne des stades moins faciles à gérer voire avec des conséquences de long terme.
Après dans le cas des objets de surveillance de la santé, je ne pense pas qu’il soit effectivement utile d’en avoir dans ce but sauf si le risque est avéré ou important pour cette personne.
Pour ma part (j’ai senti l’odeur du bon troll et) j’ai trouvé le premier post assez marrant. Il a été question de générer aléatoirement des images de paysage sur Youtube, mais en fait je trouve qu’on a déjà de la chance d’avoir un générateur de topics sur des sujets sur lesquels on n’aurait pas pensé se pencher sur ZdS.
Je ne sais rien de Whitings (et sur les contrôles de santé), mais je pense qu’il y a un vrai sujet sur la compétence et l’honnêteté des boîtes qui fournissent du service informatique. Je trouve que dire "il y a des clowns partout" est pertinent mais aussi réducteur; chaque secteur a une culture, des valeurs professionnelles, et c’est nous tous ensemble qui faisons évaluer cette vision qu’on a du travail en informatique, de ce qui est acceptable ou non dans le milieu professionel. Ça se rapproche de la notion de Software Craftmanship par exemple. Certains secteurs ont des mécanismes de certification, ou plus généralement des processus de formation et de contrôle interne, qui visent à garantir un certain niveau de qualité.
Dans un domaine comme l’informatique où il y a généralement plus de besoins que d’offre de travail, d’un côté on a le désavantage (hum…) que le fait d’accéder à l’emploi ne filtre pas les gens qui manquent de compétences, mais on a aussi l’avantage d’un rapport de force de la profession qui devrait permettre d’aider à imposer des standards de qualité, comme une sorte de convention collective. Peut-être que trop peu de gens y pensent.
Mais quid de la qualité ? Ils disent qu’ils sont validés médicalement et qu’ils ont lancé quelques études avec des hôpitaux et universités, dont George Pompidou (descendez très légèrement dans la page, rubrique de droite intitulée "The world’s most advanced health wearable" : https://www.withings.com/it/en/scanwatch). Ils disent qu’ils bossent avec des cardiologues et chirurgiens de renommée mondiale etc.
Avec la santé les gens rigolent moyens. Donc quand une boite dis qu’elle a bossé avec des labos, en général c’est vrai. Ca ne dis rien de la qualité du test par exemple.
Comme je suis curieux et que je suis un bon informaticien, j’ai googlé leur première référénce "Hypoxia lab". Et du coup en a peu près 30 secondes j’ai trouvé une étude sur un site gouvernemental Américain <clinicaltrials.gov>. L’étude s’appelle "Accuracy of ScanWatch Pulse Oximeter With Profound Hypoxia" et est ici https://clinicaltrials.gov/ct2/show/NCT04380389 . On y apprends qu’il y a eu un nombre de participants de 14 participants (Wahoo) et que l’étude à duré 24h (une nuit je suppose pour l’étude du sommeil) du 11 au 12 mars 2020.
Bref, c’est pas très poussé comme étude, mais y en a une… Je te laisse chercher pour les autres labos si tu veux
Après, il s’agit juste de vérifier que le capteur fonctionne, c’est pas non plus hyper sorcier, on pose le capteur et on fait une mesure avec un autre système pour comparaison Bon, après on peut aller plus loin, avec des mesures selon certaines situations, vérifier que la détection d’apnée du sommeil fonctionne, ce genre de choses, et peut-être qu’ils l’ont faite, mais de base je crois pas que ce soit bien compliqué de vérifier le fonctionnement d’un capteur. Peut-être que d’autres auront d’autres avis là-dessus, je pense à ceux qui font de la médecine
Alors oui, je ne peux être que d’accord avec toi là-dessus. C’est un vrai sujet, et celui-ci recoupe d’ailleurs de nombreuses problématiques. Par exemple :
L’obsolescence des processus de développement, et plus généralement leur inertie dans certaines grosses entreprises "à l’ancienne".
Une réponse irresponsable au phénomène social de hype : un sujet plait au public (regardez ce que Google sait faire avec le deep learning!), et tout d’un coup, l’industrie se lance en masse dans son adoption et va rajouter par exemple de l'IA là où il n’y en a pas besoin, juste pour avoir un truc à vendre. Aujourd’hui c’est l’IA, il y a dix ans c’était le Cloud…
Ce que j’appelle l’écologie logicielle : il est facile, de nos jours, de faire beaucoup, et j’ai eu l’occasion d’envoyer ballader de nombreux recruteurs dont l’argument phare était "nous avons le plus gros cluster HADOOP d’Europe!" ou vantait les mérites de leur infrastructure multicloud… Pour moi, l’enjeu devrait plutôt se situer dans les moyens d’atteindre les mêmes résultats opérationnels en visant une économie d’énergie, donc arrêter de déployer des VM d’1Go quand un conteneur de 18Mo suffirait, simplement en adoptant ou en poussant les bonnes technologies.
L’aspect éthique des projets sur lesquels on travaille…
La qualité des formations de base : l’autre jour, je m’étonnais que l’on puisse encore interdire certains caractères sur un mot de passe, car c’est un signe que ceux-ci sont probablement stockés en clair quelque part, ce qui est proprement inacceptable à notre époque.
J’en oublie certainement, mais déjà, sur ces problématiques, il y aurait beaucoup à discuter. Et des tas de choses beaucoup plus pertinentes à raconter que « la qualité des pros en infos[sic] est tellement proche du 0 absolu, truc de fou… ». Notamment, on ne parle que trop rarement des boîtes où l’on fait bien les choses.
Ce qu’essaye de dire nohar, également, c’est qu’il a mal pris la remarque parce qu’il est lui-même professionnel de l’informatique, ainsi qu’un certain nombre de personnes ici qui font généralement du bon boulot et ne méritent pas un reproche généralisé lancé comme ça. Ce qui ne veut pas dire qu’il n’y a pas de problèmes en informatique (suffit de voir les plateformes numériques de l’éducation nationale ) Juste que quand on émet une critique, faut juste faire gaffe à la formuler correctement en fonction du public qui va lire cette critique.
D’abord sur le coup des clowns : bien sûr que l’aphorisme est réducteur. Mais il n’empêche que dans absolument tous les métiers tu as une proportion de gens qui ne répondent pas aux standards de professionnalisme et de qualité attendus. Et ce même dans des métiers aussi pointus avec une sélection aussi forte que « médecin » (cf l’affaire de l’homéopathie en France en 2018–2019). Ne serait-ce que parce que les gens changent, n’ont pas ou plus le courage de se mettre à jour, etc. et que donc quelqu’un qui était professionnel peut ne plus l’être.
D’autre part il y a un biais de perception entre ce qu’on attends d’un professionnel et ce qu’on va voir d’un amateur. On félicitera généralement un amateur, même bon, pour un résultat qui serait inacceptable pour un professionnel (en raison de la qualité finale et/ou du temps passé – et donc du cout).
Le cas de l’informatique est effectivement problématique en ce sens que :
Il y a beaucoup de postes et peu d’employés.
C’est l’un des métiers qui nécessite le plus d’efforts pour se maintenir à jour.
En France en particulier, le côté technique de l’informatique est mal vu à moyen terme : être développeur n’est trop souvent vu que comme une passerelle pour être chef de projet ou n’importe quoi d’autre. Ce qui est complètement con, c’est des métiers très différents ; et n’aide vraiment pas à se motiver pour se maintenir à jour.
Il y a beaucoup d’amateurs en informatique, ce qui biaise la perception de ce que peut être « un bon travail ». À commencer par le fait qu’un projet amateur peut être un bricolage qui fonctionne, ce que ne devrait pas être un projet pro (et qui l’est trop souvent).
On y trouve beaucoup de clowns « jeunes » qui ne sont là que pour le salaire (et faciles à détecter avec un simple test type _fizzbuzz1) ; et des clowns « vieux » qui n’ont pas compris que le domaine avait changé depuis qu’ils ont fini leurs études – certains réussissent même à être dans les deux catégories à la fois.
À noter que comme le souligne @nohar on a aussi le phénomène du « clown de la hype », qui va se jeter sur la moindre technologie pourvue qu’elle soit récente et qu’elle ait fait parler d’elle, sans se préoccuper de savoir si elle colle au projet. Généralement ces gens sont soit des dirigeants qui veulent profiter du buzz pour vendre, soit des jeunes qui manquent de recul (et qui souvent deviennent bons quand ils ont appris que « nouveau » ≠ « bien » ≠ « adapté au projet »).
Quant au rapport de force pour faire évoluer les pratiques globales du secteur, c’est compliqué pour plein de raisons très variées. Dans le désordre :
Il y a beaucoup de PME dans lesquelles s’organiser en syndicat (ou autre) est difficile.
Les syndicats existants sont complètement à côté de la plaque, généralement2.
Les développeurs en particuliers sont quasi-systématiquement considérés comme un centre de cout et non de production par les dirigeants. Et là c’est la mentalité dirigeante qu’il faut réussir à faire bouger.
De la même manière, les développeurs sont presque systématiquement considérés comme des futurs… on ne sait pas trop, mais pas développeurs. Ce n’est qu’une tocade passagère, pourquoi on écouterait ce qu’ils ont à dire ?
La notion de qualité logicielle est un vague rêve dans l’immense majorité de l’industrie. Et c’est assez compréhensible : n’importe qui est capable de voir qu’un produit matériel est de mauvaise qualité (et pourtant produit beaucoup de merdes) ; pour un logiciel ça peut être beaucoup plus difficile, surtout si en apparence il fait le boulot. Et ce y compris dans des sous-domaines (comme l’automobile ou l’aviation) où ça devrait être une priorité importante.
Beaucoup de développeurs n’ont tout simplement rien à faire de leur boulot : ils sont là pour gagner de l’argent facilement, et/ou le temps de devenir chefs de projets ou « fonctionnels ». On ne peut pas compter sur eux pour soutenir une action quelconque visant à améliorer l’état des choses.
« les gens » (dirigeants, grand public) n’a généralement aucune idée de la complexité hallucinante du moindre projet informatique. Pire, comme il y a cette notion de bidouille encore bien encrée dans l’image publique, informatique = vite fait et pas cher. Et le problème c’est que souvent on peut faire vite et pas cher, mais ça sera de la merde. Mais comme ça sera de la merde qui ne se voit pas trop…
Comme un projet informatique est censé être rapide et pas cher, beaucoup de recruteurs vont préférer recruter « n’importe qui » (qui serai déjà trop cher) au lieu de chercher des employés de qualité (qui généralement connaissent leur qualité et donc la monnayent, d’autant que ça permet d’éviter de se retrouver trop avec des gens qui s’en fichent).
… bref, c’est une situation complexe qui se mords la queue, et dont il me parait difficile de vraiment sortir tant qu’on aura un gros surplus de demande par rapport aux offres. En attendant, on peut toujours viser les entreprises qui ont compris, et qui sont prêtes à mettre le prix pour un développement de qualité (selon les contraintes du projet). Là on est généralement entre personnes de bonne volonté et on peut faire avancer le truc.
Et des boites de ce genre, il y en a. Même chez les sociétés de service, même au sein d’entreprises qui n’ont pas forcement très bonne réputation, parce que c’est un phénomène qui dépend énormément de la direction de l’équipe. Il faut juste prendre la peine de chercher un peu plus loin que les sociétés qui embauchent des hordes de recruteurs ou de communicants.
PS : un exemple pratique :
Pour moi, l’enjeu devrait plutôt se situer dans les moyens d’atteindre les mêmes résultats opérationnels en visant une économie d’énergie, donc arrêter de déployer des VM d’1Go quand un conteneur de 18Mo suffirait, simplement en adoptant ou en poussant les bonnes technologies.
Je suis exactement là-dessus en ce moment. J’optimise un processus qui mets aujourd’hui une nuit à tourner avec une JVM avec 256 Mo de heap (en gros la mémoire de travail). On pourrait juste dire aux clients que vu qu’on fait tourner ça la nuit, on s’en fout, et au pire on monte la RAM au pif jusqu’à ce que ça s’améliore (ou en priant pour que ça s’améliore). Mais là comme ça on saura qu’on est pas obligé de le lancer la nuit. Ou que si on arrive pas à l’optimiser, on pourra déterminer de combien de temps et de RAM on a vraiment besoin. Et ça évitera plein de gâchis.
On demande à la personne d’écrire un programme – dans le langage qu’elle veut, ou le langage de l’annonce – qui affiche les nombres de 1 à 100, avec « fizz » à la place des multiples de 3, « buzz » à la place des multiples de 5, et « fizzbuzz » à la place des multiples de 3 et de 5. Pour une place ne société de service en sortie d’école, on peut éliminer 75 % des candidats à Bac+5 avec un test aussi trivial que celui-ci…↩
Il y en a dans mon entreprise, qui est une entreprise de pure informatique – conception, développement et production – et je ne connais personne dans le service qui sont d’accord avec les propositions principales défendues. Qui sont généralement celles des centrales, sans aucune considération avec les particularités de nos métiers, notamment sur le télétravail.↩
Juste pour nuancer un peu le côté "méchante boîte, gentil développeur", la qualité d’un logiciel est extrêmement difficile à quantifier, y compris pour des développeurs, et encore plus s’il s’agit d’anticiper l’avenir. Les bénéfices de cette qualité sont aussi difficiles à quantifier. Par ailleurs, augmenter cette qualité demande une quantité de travail exponentielle. L’ingénierie informatique reste (encore ?) une science extrêmement artisanale et complexe.
C’est une décision rationnelle de privilégier, dans la mesure du raisonnable, un niveau de qualité suffisant pour les cas majoritaires et à court-terme, et de faire des refontes et améliorations au fur et à mesure des besoins. C’est assez frustrant en tant que développeur de savoir qu’on pourrait faire mieux et de ne pas pouvoir le faire, mais il faut prendre du recul sur son activité et sur l’activité de l’entreprise dans laquelle on travaille.
Si ces économies permettent une meilleure performance de l’entreprise, et lui permet d’accomplir davantage dans son coeur de métier, ça doit être considéré. Si elles permettent une meilleure croissance à court-terme afin de pénétrer rapidement un marché, ça doit être considéré. Dans une entreprise qui a des solutions informatiques parfaites mais qui n’a pas d’impact ou qui perd la course face à ses concurrents, ces solutions informatiques parfaites ne servent à rien.
Evidemment je ne dis pas qu’il n’y a pas un grand nombre de cas où des décisions sont prises de manière irrationnelle par des gens qui n’y connaissent rien et où les développeurs prendraient objectivement de meilleures décisions, je dis juste qu’il est également parfois facile de voir la chose par un seul bout de la lorgnette et de se laisser aller à râler à tort.
Les bénéfices de cette qualité sont aussi difficiles à quantifier.
Ce n’est pas mon expérience. Quand un bout de logiciel est mal fichu, et que le logiciel évolue activement, dans mon expérience on paie vite le manque de qualité quand on touche au(x) bout(s) mal fichu(s). Tout changement à ce bout devient compliqué à relire, évaluer, tester, le coût de développement augmente beaucoup.
Le bénéfice de la qualité, c’est de ne pas avoir à touiller du caca. Et l’intérêt on le voit tout de suite.
Par ailleurs, augmenter cette qualité demande une quantité de travail exponentielle.
Euh, d’après qui ? Mon expérience, quand les développeurs sont bons, est que quand on met des standards de qualité dès le début, c’est en général un coût proportionnel à chaque changement (chaque changement peut être un peu plus long pour se faire relire par quelqu’un d’autre, avoir à expliquer, documenter, etc.), pas du tout un coût exponentiel.
Quand un système devient lentement trop complexe, on s’en rend compte graduellement; et là se pose la question de le récrire. On ne sait pas trop combien d’effort ça va demander, mais la difficulté de refaire proprement est liée à la complexité intrinsèque du besoin. Heureusement la plupart des programmes ne sont pas bourrés de problèmes très difficiles à résoudre (mais ça dépend du domaine et des besoins), donc le bout de code "trop difficile à récrire même pour de bons programmeurs" ne se présente pas si souvent. Quand ça arrive, et qu’on veut le récrire quand même, souvent on prend ça comme un problème "de recherche" et une personne, voire deux, vont essayer quelque chose pendant un temps donné. Si ça donne un prototype intéressant, tant mieux, on essaie d’en faire le nouveau système. Si ça coince, tant pis, on passe à autre chose. Ces approches de bon sens gardent des coûts de travail raisonnables même quand on exige à faire les choses proprement.
Tout dépend de ce qu’on met derrière le mot « Qualité » aussi. Pour moi, c’est d’avoir des pratiques en adéquation avec le projet. Tu ne vas pas développer pareil une page vitrine dynamique pour une campagne de publicité unique, et un système destiné à gérer des paies, même si la technologie sous-jacente est la même. Je ne sais pas aujourd’hui, mais il y a 4–5 ans le développement mobile c’était beaucoup de code jetable, où tu étais content si tu avais un temps de vie en prod de 2 ans.
Les problèmes arrivent généralement :
Quand il n’y a pas eu de suivi du code. Un code de qualité mais jamais maintenu va finir par être obsolète (c’est plus ou moins rapide et plus ou moins grave selon les langages et les frameworks).
Quand ton code se retrouve à faire autre chose que ce pourquoi il a été conçu. L’exemple classique c’est celui du POC qui se retrouve être la base du produit de production… (astuce : évitez autant que possible de faire des POC avec des technologies qui permettent ce genre de manœuvre).
Connectez-vous pour pouvoir poster un message.
Connexion
Pas encore membre ?
Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte