« Le DevOps est un concept qui vise une collaboration plus étroite et une combinaison des différents rôles impliqués dans le développement logiciel comme le rôle de développeur, de chargé d’opération ou encore de chargé d’assurance qualité, car les logiciels doivent être produits à un rythme effréné alors qu’au même moment le développement en cascade semble avoir atteint ses limites. »
« L’accroissement des responsabilités du développeur a donné lieu à un futur métier chimérique : le développeur « FullStack », un tel développeur est en mesure d’être le développeur, le chargé d’assurance qualité, l’analyste des opérations, l’administrateur système/BDD. »
« Mais alors d’où viennent ces concepts ? Des startups, mais aussi des adeptes des méthodes agiles. Dans le cas des startups, elles ont besoin de fonctionner de la sorte pour pouvoir survivre les premiers temps, malheureusement ces divers rôles techniques qui sont à la charge du développeur au sein d’une startup par manque de ressources, sont en passe de devenir le minimum requis pour un développeur. »
Alors, la question suivante surgit : Pourquoi le développeur peut jouer autant de rôles différents ? La réponse est simple selon Knupp : « Il existe une hiérarchisation des différents rôles prenant part au développement logiciel. Le développeur est au sommet de cette hiérarchie, suivi par l’administrateur système/BDD. Les chargés d’assurance qualité, des opérations et les coordinateurs de releases constituent la base de cette hiérarchie. »
Son explication ne s’arrête pas uniquement à cela : « Parce que chaque rôle est en mesure de faire le travail des rôles qui lui sont inférieurs dans la hiérarchie. Les startups nous l’ont appris. Mais cela ne marche pas dans le sens inverse, car les rôles inférieurs ne disposent pas du savoir-faire requis pour accomplir certaines tâches »
Quel est donc le danger qui guette le métier de développeur ? Pour le blogueur la réponse est évidente : « Quand le développeur est affecté à d’autres rôles, il n’y a plus personne pour assurer le développement ! » en même temps « Aucun des autres rôles, même lorsqu’ils sont combinés ne sont pas en mesure d’assurer le rôle de développeur ».
Cela conduit entre autre à la non-spécialisation du rôle de développeur, hors pour Knupp : « Nous sommes spécialisés pour une seule raison : les êtres humains ne sont pas capables de retenir autant de connaissances. Sans oublier que le basculement entre les rôles est coûteux pour le cerveau humain.» De plus, forcer les développeurs à prendre en charge des tâches supplémentaires normalement affectés à des spécialistes les conduit à :
- Ne plus accorder autant de temps au développement ;
- Gérer une quantité d’informations et de connaissances trop volumineuse ;
- et enfin à Exploser.
Au final il est urgent de réagir face à cette situation et surtout de « Laisser les développeurs coder », de plus « il apparaît que les entreprises agissent comme si elles étaient des startups » hors « Toutes les entreprises ne sont pas des startups, les startups n’ont pas fait des développeurs des hommes à tout faire par choix, mais par nécessité. »
Source : Blog de Jeff Knupp
Et vous ?
Pensez-vous que le « DevOps » est une bonne chose pour le métier de développeur ? Pourquoi ?
Que faut-il faire pour endiguer ces tendances selon vous ?