Les bonnes pratiques dans la gestion de votre équipe de développeurs

Par défaut

Une équipe de développement efficace se gère souvent en mode autopilote. L’équipe définit elle-même ses critères de qualité et d’efficience.Les juniors sont souvent accueillis et accompagnés pour les faire monter en compétences rapidement sur un sujet spécifique.


Dans cet article, je vais mettre en avant quelques facteurs clés que je considère comme essentiels pour toute équipe de développement.


Comment créer une équipe qui correspond parfaitement à votre projet ?

Comment mettre en place un processus pour améliorer la productivité ?


1) Créer une équipe qui correspond parfaitement à votre projet.


Il y a 3 types d’équipes de développement, les généralistes, les spécialistes et l’équipe hybride.Chacune de ces équipes peut être vraiment efficace sur un projet mais peut en même temps se retrouver bloquée sur un autre projet.Comme développeur, j’ai eu l’occasion de travailler dans les 3 différentes catégories, sur différents types de projets, et ce aussi bien à l’Ile Maurice qu’en France, aussi bien dans un environnement anglo-saxon que dans un environnement francophone, avec des cultures de développement très différentes.Pour éviter que votre équipe soit bloquée, il faut prendre en compte la complexité de votre projet, le temps et votre budget. Ensuite il vous faudra décider quel type d’équipe correspondra le plus à votre projet.

Les points fortsLes points faiblesQuand choisir ?
GénéralistesLivraison rapide
Les membres de l’équipe peuvent avancer en autonomie, au lieu d’avoir comme responsabilité un sujet spécifique qui dependrait des autres membres de l’équipeL’équipe peut grandir et fonctionner d’une facon optimale, oui, mais avec l’arrivée d’un développeur experimenté. Sinon il faut penser à externaliser le projet en mi-cheminLes projets modéremment complexes qui doivent etre livrés avec une serie de fonctionalités prédéfinis et qui est géré selon les principes agiles ( Scrum, Kanban ) et dans lequel les délais de livraisons sont courts.
L’équipe se concentre dans l’amélioration du logiciel sur un point de vue macroLes temps d’arrets due à un manque d’expertise en profondeur.
SpécialistesLes membres de l’équipe peuvent développer un système composé de modules de haut niveau et peuvent vraiment etre éfficace dans leur domaine d’expertise respectifs.La possibilité de construire des éléments séparémment et qui ne s’imbriquent pas d’une facon optimale dans la solution finale.Les projets complexes qui requiert une expertise technique spécifique dans un domaine spécifique ( médical, géologie, spatial…)
Manque de communication dans l’équipe
Equipe HybridesLes spécialistes gèrent les sujets qui requiert une expertise en profondeur alors que les généralistes intègre le systemeEtablir les processus de travail est plus complexe et vous devrez gérer et faire la coordination entre des développeurs qui ont chacun leur approche spéficique du travailDes projets de grande envergure avec plus de 10 personnes.
Construire une équipe hybride est souvent compliqué et plus difficile à gérer qu’une équipe de généralistes ou de spécialistesDes projets agile complexes qui requiert la fléxibilité des généralistes pour délivrer à temps et l’expertise des spécialistes pour couvrir un ou plusieurs défis spécifiques

2) Construire des petites équipes


Les équipes de développement qui sont petites sont plus productives parce qu’il est plus facile de faire la coordination et de reconnaître les contributions individuelles de chaque développeur. En me basant sur mon expérience, je pense que la taille idéale d’une équipe est entre 4 et 8 personnes. Je n’inclue pas les ’Subject Matter Experts’, qui sont les experts fonctionnels ou la MOA et les testeurs, qui doivent eux aussi être présents et en communication étroite avec les développeurs. Si votre projet est conséquent ( plus de 300 jours hommes), vous devriez commencer par diviser votre équipe en sous-équipes, avec un Tech-Lead à la tête de chacune d’entre elles.


3) Assurez vous que votre équipe de développeurs évolue dans un environnement dynamique


Les équipes de développement doivent évoluer dans un environnement enrichissant et où elles voient le résultat final de leurs travaux.L’entreprise doit promouvoir l’échange d’idées, avec le concours de spécialistes dans leurs domaines, ou la présence de managers qui prennent le taureau par les cornes et vont avancer l’équipe.

4) Mettre en place des processus de travail qui améliorent la productivité.


Après avoir choisi une structure d’équipe qui correspond à votre projet, il est essentiel de définir ensuite une méthode de travail pour éviter tout goulot d’étranglements. En tant que développeur .NET, je suis amené à utiliser la plateforme Azure DevOps dans ce cas de figure.Le but final dans l’utilisation d’un outil comme Azure DevOps est l’élimination de processus répétitifs. Les tâches de routine passent par une série d’actions prédéfinies jusqu’à leurs complétion.Par exemple, un développeur commit son code sur sa branche, ensuite il l’envoie pour un Peer-Review et fait un Pull Request sur la branche Master. Le Tech Lead examine la Pull Request et met ses commentaires au cas où pour que le développeur travaille sur la partie du code à revoir en question. Une fois terminé, le commit suit son cours, le build est déclenché, ensuite la Release.Les testeurs prennent le relais et testent chacune des fonctionnalités définis dans les User Stories. Les résultats des tests sont communiqués au Tech Lead et à l’équipe. Le processus prend une forme itérative. Azure DevOps permet à chaque développeur de voir comment son travail est interconnecté avec le travail des autres développeurs. Donc il voit comment sa contribution aide à faire avancer le projet dans son ensemble.


5) Toujours s’assurer de la à mise à jour fréquente de la documentation

La documentation, qu’elle soit fonctionnelle ou technique, doit être toujours à jour. C’est important car ça aide les développeurs à avoir une vision sur la direction que prend le projet. Vous devez aussi vous assurer que les compte-rendus de réunions, le code source et les standards UX-UI par exemple soient toujours accessibles à tous les membres de l’équipe.Si vous travaillez avec une entreprise en mode offshore, vous devez vous assurer que celle-ci vous livre régulièrement une documentation à jour sur le processus de développement.


6) Adopter des standards de développement dès le départ. Cette adoption va vous aider dans le processus de développement. Si les normes de codage sont suivies, le code est cohérent et peut être facilement maintenu. En effet, n’importe qui ensuite le comprendre et le modifier à tout moment.

Je ne vais pas vous parler ici de la nécessité d’avoir une très bonne communication entre les différentes membres de l’équipe, ou le fait d’avoir des sessions spécifiques pour résoudre les conflits.


NextCog vous accompagne dans la gestion de votre équipe de développeurs. Elle les accompagne en mettant en place les bonnes pratiques de développement dès le démarrage de votre projet.On vous aide à mettre en place Azure DevOps et à former votre équipe dans l’utilisation de cette plateforme.Le suivi et l’accompagnement, le conseil et la proposition d’audits font aussi partie de notre expertise.

Microsoft Azure et ses coûts, les PME négligés ?

Par défaut

La compréhension de la tarification Azure présente de nombreux défis. Microsoft a développé son service cloud Azure avec une rapidité remarquable et est monté en deuxième position en tant que fournisseur de cloud derrière Amazon Web Services. Il a pris deux de ses applications fares comme SQL Server et Office, et les a rendues disponibles sur demande, ce qui était impensable il y a une décennie.

Mais la question se pose, est-ce que Azure est fait pour les petites et moyennes entreprises ?

Avant de répondre à cette question, j’ai testé pendant 1 mois. Le but est donc d’avoir un point de vue rapide sur la tarification azure.

J’ai acheté une souscription qui comprend une machine virtuelle et un App Service.

La machine virtuelle

Le taux d’utilisation sur 1 mois

Le App service

J’ai crée une petite application asp.net core, que j’ai déployé.

J’ai testé l’application quelques fois, et ensuite je l’ai stoppé.



Il est intéressant de noter que meme si l’application est stoppé, les couts liés au ’App Service plan’ continuent de tourner.

Le App Service Plan : Taux Utilisation sur 1 mois

Le App Service Plan : Quota disque

Le quota n’est pas dépassé.

Avec tous ces éléments, on peut déjà se faire un bilan.

Résultats

Pour une utilisation plus que modérée, je trouve personnellement que les coûts sont élevées. Je suppose que les prix sont si élevés parce que les grosses entreprises ont de l’argent à brûler, mais pour les petites ou moyennes entreprises car les prix ne sont vraiment pas amicaux.

Les prix des VM sont un peu meilleurs si vous faites des prix réservés pour 1 ou 3 ans, mais je n’aime pas être bloqué. Vous devez également gérer les vcores sur une VM qui ne sont pas de véritables cœurs physiques, et vous devez toujours payer un supplément pour le stockage sur disque pour la machine virtuelle qui est cher, ainsi que la bande passante (Référence: https://azure.microsoft.com/en-us/pricing/details/virtual-machines/windows/ ). Donc, les VM ne sont vraiment pas beaucoup mieux que les app services à mon avis.

Il est BEAUCOUP moins cher de simplement payer pour les serveurs dédiés et d’avoir beaucoup de processeurs inactifs que d’utiliser des app services ou des machines virtuelles avec des groupes à mise à l’échelle automatique. Les machines virtuelles coutent jusqu’à 4 fois plus cher que les conteneurs.

Pour de nombreuses entreprises qui ont des besoins de « mise à l’échelle Azure », une facture mensuelle de 5000 euros va maintenant devenir quelque chose qui doit beaucoup les préoccuper à cause de la crise économique majeure dans lequel nous nous trouvons.

Pour une entreprise de logiciels ou de technologies, les solutions cloud proposées par Azure ou AWS peuvent représenter l’essentiel de leurs dépenses non salariales, et 5000 euros par mois peut meme correspondre au salaires de 2 développeurs.

Le sommet du ChangeNow 2020: un salon au Grand Palais autour de la Green tech.

Par défaut

Le ChangeNOW Summit 2020, la première Exposition Universelle des solutions pour la Planète s’est déroulé au Grand Palais du 30 janvier au 1er février 2020. L’objectif de ce salon a but de rassembler tous les acteurs de l’innovation environnementale et sociale pour répondre concrètement aux urgences climatiques. Je partage quelques images du salon et de ses exposants.

Thèmes abordés des différents exposants

  • Zero Waste
  • Smart fashion ou mode responsables ;
  • Economie circulaire ;
  • Santé et bien-être ;
  • Smart cities, IOT, ville durable et mobilité verte ;
  • Energie verte ;
  • Ressources marines, océans
  • Foodtech, alimentation
  • Smart agriculture
  • Formation