Affiner mon projet avec Gustave
Trouver ma formation
Je veux me former en
sélectionner
Achats et Supply Chain
Lean Management & Lean Six Sigma, Excellence Opérationnelle
Projets, Leadership et Management de la transformation
Systèmes d'information et Technologies du digital
Technologies et Systèmes
?
Dans quel domaine ?
et plus précisément en
sélectionner
?
Dans quel sous domaine ?
Achats
Agilité
Architecture des Systèmes d'Information
Automatique/signaux
Big Data
Cloud Computing
Cybersécurité
Électronique de Puissance
Électronique et instrumentation
Énergie électrique et thermique
Industrie 4.0
Ingénierie Durable
Ingénierie Systèmes
Innovation et Intrapreneuriat
Intelligence Artificielle
Lean Management
Lean Six Sigma
Management de projets, leadership
Mécanique
Négociation
Objets connectés
PLM
Risk Management
Supply chain management
Technologies du digital
Télécommunications
Transformation digitale
grâce à une
sélectionner
?
Quel type de formation ?
Formation certifiante
Formation diplômante
Formation courte
DécouvrIR les formations
Article

Le Tech Lead, qu’est-ce que c’est ?

Mettre en place un processus de développement d’une qualité irréprochable est devenu indispensable à la réussite des entreprises. Dans un contexte où le numérique devient une clé du succès, comment pouvons-nous donc améliorer la performance et la qualité logicielle ?

Le Tech Lead dispose d’une expertise technique, mais aussi la capacité à former et animer l’équipe de développement. En effet, il connaît et transmet les pratiques de software craftsmanship et de clean code aux développeurs. De plus, il est capable de mettre en place une usine de développement logiciel (plateforme de CI/CD) et les bonnes pratiques de codage et de test.

Le développement logiciel

« Le logiciel mange le monde » – Marc Andreessen

Année après en année, la portion de budget qui est allouée aux logiciels dans les entreprises augmente. Par conséquent, il y a de plus en plus de développeurs, de codes à maintenir et à produire dans divers langages comme Rust, TypeScript, Python ou encore Kotlin.

Le projet informatique

Généralement, 3 grandes étapes sont identifiées dans la création d’un produit logiciel. Voici un exemple d’organisation qu’il est possible d’avoir dans une équipe qui délivre un projet informatique :

  1. Etudier le besoin utilisateur : des développeurs et testeurs essayent de comprendre au mieux le besoin. Puis, ils alimentent un premier artefact appelé backlog.
  2. Construire les solutions : l’équipe de développement va alors construire les solutions pour répondre aux besoins qui ont été formulés dans le backlog. Elle livre ensuite une version de solutions à un gestionnaire de versions (ex : GIT)
  3. Déployer les solutions : Les DevOps travaillent sur un ensemble d’outils et de techniques pour essayer de proposer cette version le plus rapidement possible 

L’organisation agile

Il existe principalement 2 modes d’organisations.

Dans le mode d’organisation traditionnel, le développement du logiciel se constitue d’une phase de construction, de conception/développement de la version et de lancement de l’application.

Avec la méthode moderne, dite agile, l’interconnexion entre ces phases est privilégiée pour éviter ce découpage et récupérer rapidement des feedbacks sur un produit. Cependant, bien que cette méthode améliore les chances de réussite, un projet sur deux peut potentiellement échouer. Il faut donc constamment injecter de nouvelles pratiques et connaissances dans la construction du projet.

Le mouvement des Artisans du Logiciel : viser l’excellence technique

En vue d’améliorer les logiciels, de nouveaux rôles, pratiques et mouvements émergent. Le mouvement des Artisans du Logiciel (craftmanship, tech lead) reprend les bases de l’agilité. Cependant, il fournit non seulement un logiciel opérationnel mais aussi une conception qui soit adaptée à ce logiciel. Les changements effectués doivent apportés une fonctionnalité ou valeur supplémentaire à l’utilisateur. Ce mouvement repose sur le principe du compagnonnage et est supporté par les pratiques qui sont dans le framework xp. De manière courante, plusieurs pratiques collectives sont utilisées : mentoring, revue par les pairs, pair programming, coding dojo. Toutes ces pratiques ont pour vocation de viser l’excellence technique, qui est l’un des fondements agiles.

L’architecture logicielle

Aujourd’hui, nous avons beaucoup d’architectures classiques qui sont basées sur le FrontEnd et le BackEnd. Dans les FrontEnd, de plus en plus des applications JavaScript avec différents types de frameworks, mais aussi des applications dites « responsive » ou encore « progressive Web App ». Ce sont souvent des API qui font le lien entre le FrontEnd et le BackEnd. Par conséquent, il faut utiliser un framework qui est capable de produire rapidement une API pour ensuite pouvoir structurer une architecture avec des services et des microservices.

Les choix d’architecture logicielle

On a différentes granularités d’outils pour développer son architecture. Quels frameworks, quels outils opensource utiliser pour baser ses développements sur le FrontEnd et le BackEnd ?

Le choix de gestion de la dette technique est aussi important. Lors du développement logiciel il faut donc se demander jusqu’où il est possible d’utiliser des technologies qui ne seront plus les dernières de l’état de l’art et à partir de quel moment il faudra migrer vers les nouvelles technologies de l’état de l’art.

L’intégration continue (CI)

C’est la question d’être capable de pousser du code dans un environnement de test de manière automatisée. Les tests unitaires, d’acceptances et bien d’autres encore, permettent de bâtir automatiquement un code assez fiable. Cela évite d’avoir des problèmes de régression, de sécurité, de performances ou de non-respect des fonctionnalités lors de la mise en production.

Le déploiement en continue (CD)

L’idée est de déployer régulièrement et non pas une fois tous les ans. Avec le déploiement en continue, cela évite d’oublier les problèmes qui ont déjà été rencontrés et de déployer de nouveaux codes et des mises à jour relationnelles d’une seule traite.

Les avantages :

  • Cela devient plus simple de découvrir l’origine d’un problème de déploiement
  • Déployer devient une habitude, une maîtrise

Vous aussi vous souhaitez monter en compétences en Tech Lead ?

Découvrez l’Executive Certificate Tech Lead

Visionner aussi

Vous souhaitez être accompagné(e) dans votre projet de formation ?
Contactez-nous :

+33 (0) 1 75 31 75 00
info.exed@centralesupelec.fr

Vous souhaitez former vos collaborateurs ?
Découvrez notre solution Intra-entreprise

+33 (0)1 75 31 64 01
intra.exed@centralesupelec.fr

Aller au contenu principal