Développement logiciel en 2022 : 5 réalités que les DSI devraient connaître
Le logiciel ne change jamais vraiment. Il s’agit, comme CapitolCanaryCTO Mikhail Opletayev l’a dit récemment, d’un ensemble d’instructions qui indiquent aux ordinateurs quoi faire.
D’un autre côté, la façon dont les gens écrivent et transmettent ces instructions dans le développement logiciel change régulièrement. Certains principes restent plus ou moins les mêmes au fil du temps, mais de nombreuses facettes de la fabrication des logiciels, des langages et des bibliothèques, des méthodologies, des outils, des packages, des tests, etc. évoluent en permanence.
Avec cela, les réalités de ce que signifie créer et exploiter un logiciel et de ce que signifie créer et diriger une équipe de développement de logiciels ont également changé. Examinons cinq réalités du développement logiciel moderne que les responsables informatiques qui réussissent comprennent.
1. L’expérience du développeur est primordiale
L’expression est une hyperbole classique, mais vous pourriez faire pire que de l’interpréter littéralement dans des contextes informatiques.
Les DSI en 2022 doivent comprendre la réalité qu’ils ont le pouvoir de façonner l’expérience des développeurs au sein de leurs organisations et que cela peut être le facteur le plus crucial pour attirer et retenir les talents des développeurs, déclare Ravi Lachhman, directeur technique de Shipa.io.
Les développeurs mécontents ne livrent généralement pas de bons logiciels. Mais c’est une simplification excessive. Les vrais problèmes qui accompagnent une expérience de développeur moche (ou simplement médiocre) sont pires.
[ Related read:How to explain modern software development in plain English. ]
Les guerres de talents sont réelles, et avoir du mal à remplir des rôles logiciels ne signifie pas que vous êtes un mauvais patron. Mais si vous avez du mal à embaucher ou à retenir des talents tout en ignorant l’expérience des développeurs, eh bien, c’est une autre histoire.
Les ingénieurs logiciels recherchent de nouveaux défis afin de faire évoluer leurs compétences et d’élargir leur domaine et leur expertise technique, afin à la fois de rester pertinents et d’obtenir de plus grandes récompenses professionnelles et financières, déclare Lachhman. Si une organisation de DSI ne parvient pas à offrir de telles opportunités, les ingénieurs logiciels peuvent facilement en trouver une autre.
Lachhman partage quelques exemples sur la façon de prioriser et d’optimiser l’expérience des développeurs :
- Activer les rotations entre les responsabilités : Les DSI doivent permettre aux ingénieurs d’effectuer une rotation régulière entre différents objectifs ou flux de travail au sein des projets de transformation numérique.
- Réduire les frottements : Les DSI doivent chercher à réduire les barrières entre les idées brutes des développeurs et leurs produits finis en production.
- Donnez aux développeurs les moyens de voir les résultats et de les développer : Il est également crucial que les développeurs aient les moyens de visualiser et d’itérer rapidement leurs réalisations.
- Surveillez (et traitez) l’épuisement professionnel : Comme tout le monde, les ingénieurs ont une charge cognitive limitée et peu apprécient le changement constant de contexte.
L’expérience des développeurs va au-delà du recrutement et de la rétention : c’est la pierre angulaire d’un bon logiciel. C’est désormais également un indicateur de réussite (ou d’échec) de la transformation numérique. La priorité donnée à l’expérience des employés et l’atténuation de l’épuisement professionnel figurent parmi les principales recommandations de notre récent rapport Harvard Business Analytic Services, Maintenir l’élan de la transformation numérique.
La longévité des développeurs est généralement un indicateur positif à cet égard, selon Lachhman.
La longévité des ingénieurs logiciels est un avantage essentiel dans les parcours de transformation numérique, compte tenu des connaissances précieuses cultivées au fil du temps, déclare Lachhman. Garder les ingénieurs signifie les garder engagés et motivés. Avec une expérience de développeur positive en place, le succès s’appuie sur le succès et la motivation renforce la motivation tout au long de la transformation numérique.
2. L’automatisation est partout
Si l’expérience des développeurs est essentielle au succès humain d’une équipe logicielle, l’automatisation est son pendant au succès technique. La vitesse et la fréquence du développement de logiciels aujourd’hui pourraient provoquer le mal des transports, même chez l’ingénieur le plus endurci ; l’automatisation est ce qui le rend possible sans casser votre équipe ou vos systèmes.
Le développement de logiciels aujourd’hui pourrait provoquer le mal des transports, même chez l’ingénieur le plus endurci ; l’automatisation est ce qui le rend possible sans casser votre équipe ou vos systèmes.
[ Also readAutomation and digital transformation: 3 ways they go together. ]
L’automatisation informatique n’est pas nouvelle, mais elle est plus puissante que jamais et se trouve pratiquement partout dans le pipeline logiciel, des tests et de la sécurité aux déploiements et à la mise à l’échelle. Les pipelines CI/CD incarnent cette réalité, tout comme l’adoption considérable de Kubernetes par les entreprises.
L’automatisation s’accompagne de certaines considérations et préoccupations pour les responsables informatiques, y compris le facteur de peur que ce terme provoque en termes de sécurité d’emploi. Les dirigeants se penchent là-dessus avec empathie, car ils reconnaissent l’automatisation comme un outil puissant qui permet aux équipes logicielles de faire plus avec la même chose (ou moins) au lieu de simplement accabler l’équipe avec une pression et des charges de travail insoutenables.
3. La décentralisation est de plus en plus la norme
Le développement de logiciels est également un lien avec la tendance à la décentralisation de l’informatique : pensez à la conteneurisation, à l’architecture de microservices, à l’open source, au cloud hybride et au multicloud comme exemples.
Tous ces éléments reflètent de nouvelles méthodes et de nouveaux modèles de construction et d’exploitation des logiciels de manière de plus en plus distribuée et hétérogène aujourd’hui. Tous reflètent également de nouvelles opportunités et de nouvelles complexités en termes de coûts, de performances, de gouvernance, de sécurité, etc.
Comme Kaushik De, VP, GTM lead for custom software development and cloud CoE lead, Capgemini Americas, nous l’a dit au début de 2022, des modèles tels que la conteneurisation et le cloud hybride reflètent le rôle indispensable de l’informatique pour répondre à la demande démesurée des clients, conseils d’administration, partenaires, investisseurs , et d’autres acteurs de la transformation numérique et de l’innovation.
L’approfondissement des relations entre le cloud hybride et l’informatique de pointe et le développement d’applications de pointe est l’un des exemples émergents de cette tendance générale.
Mais décentralisé ne signifie pas non interventionniste. Au lieu de cela, les responsables informatiques doivent rechercher des plates-formes et des processus qui permettent le contrôle et la flexibilité, car le développement de logiciels distribués et l’infrastructure deviennent la norme.
Les dirigeants doivent s’attendre à voir une poussée vers une plate-forme qui permet de contrôler les environnements et les services que les gens peuvent fournir, nous a dit De.
[Build complete automation workflows for hybrid environments. Download the eBook:Connect your hybrid cloud environment with IT automation ]
4. La sécurité est (duh !) critique
Cela devrait être une évidence, mais les professionnels de l’informatique connaissent la réalité : la sécurité a longtemps été traitée, que ce soit par intention, par ignorance ou par une autre cause fondamentale, comme une réflexion après coup dans le cycle de vie du développement logiciel : c’est à quelqu’un d’autre de s’en soucier.
Cela change, probablement pour de bon. Une sécurité renforcée est désormais un problème au niveau du conseil d’administration de nombreuses entreprises. Les menaces sont trop nombreuses et les coûts de ne pas en faire assez pour les prévenir et les atténuer sont trop importants pour être ignorés.
Bien qu’il s’agisse d’un budget de sécurité particulièrement important, cela fait partie d’une tendance plus large : la sécurité est classée comme la première priorité de financement globale dans Red Hats2021 Global Tech Outlook, avec 45 % des responsables informatiques interrogés qui la classent comme leur priorité n°1.
Comme l’évangéliste de Red Hattechnology, Gordon Haff, l’a noté à l’époque, au moins une partie de cet argent était dépensée simplement pour rester à flot dans un paysage de menaces incroyablement complexe. Mais cela reflète également une plus grande concentration sur l’intégration (et l’automatisation dans la mesure du possible) de la sécurité tout au long du pipeline de développement logiciel, en particulier compte tenu de la tendance à la décentralisation et de la dépendance importante à l’égard des registres de conteneurs externes, des bibliothèques et d’autres composants logiciels.
Une prise de conscience accrue des problèmes tels que la sécurité de la chaîne d’approvisionnement des logiciels comprenant la provenance et les vulnérabilités associées aux dépendances telles que les bibliothèques représente une étape importante vers leur atténuation, Haffwrote.
5. Le logiciel est le business
Enfin et surtout, l’ère du développement logiciel en tant qu’obscur silo technique dans une fonction informatique de back-office devrait officiellement être déclarée révolue. (Il attire déjà les mouches.)
Cette réalité n’a peut-être pas encore pénétré toutes les organisations, mais cela ne la rend pas moins vraie. Le développement de logiciels est inextricablement lié aux résultats supérieurs et inférieurs. Il n’y a pas de transformation numérique sans développement logiciel. Choisissez l’un des plus grands mots à la mode dans le monde des affaires (la transformation numérique parmi eux), et le logiciel a presque inévitablement un rôle à jouer.
Il y a une autre dimension de cette réalité : ce n’est pas magique. Les responsables informatiques et commerciaux doivent être concentrés et intentionnels sur comment, pourquoi, quand et où ils développent des logiciels (le quoi) pour qu’ils aient l’impact transcendant des mots à la mode comme la promesse d’innovation.
Le développement de logiciels modernes devrait faire quelque chose de différent pour votre entreprise en améliorant l’expérience client et en générant des revenus ou vous devriez probablement vous demander pourquoi vous le faites, dit Haff.
[ Need to explain key Agile and DevOps terms to others? Get our cheat sheet:DevOps Glossary.]