16 façons de créer une meilleure équipe de développement

Pour tous les discours des développeurs rock-stars, nous savons tous qu'il faut une équipe forte et cohérente travaillant de concert pour faire le meilleur travail. Voici donc la question: que faut-il pour constituer une excellente équipe de développeurs qui créent d'excellents produits et fonctionnent bien dans tous les services?

Nous avons contacté des responsables techniques et des responsables de l'ingénierie qui ont fait exactement cela et leur avons demandé de partager leur sagesse durement acquise en matière de consolidation d'équipe.

Que ce soit pour trouver la meilleure solution pour votre prochaine embauche ou pour garder votre équipe fraîche et motivée, les conseils collectifs suivants permettront à votre équipe de coder au mieux.

1. Donnez du pouvoir à vos ingénieurs

Les équipes d'ingénieurs peuvent souvent se trouver en désaccord avec la direction, le développement commercial ou le marketing sur un projet donné - souvent parce qu'elles sont traitées comme des preneurs de commandes plutôt que comme des collaborateurs. Pour tirer le meilleur parti de vos développeurs, laissez-les se faire entendre et avoir leur mot à dire sur ce sur quoi ils travaillent.

Sur le site immobilier en ligne Trulia, les équipes de gestion et de développement se réunissent tous les trimestres pour planifier et résoudre les problèmes, déclare Jeff McConathy, vice-président de l'ingénierie pour les services aux consommateurs.

«Le processus est axé sur les employés», dit McConathy, «avec des équipes chargées de créer leurs propres priorités et feuilles de route et de les présenter à la haute direction et aux dirigeants de l'entreprise. Chaque équipe partage également ses succès et [ce qu'elle a appris] au cours du dernier trimestre. Cela aide chaque équipe à déterminer ses plans et à prioriser les projets, et permet ... à l'équipe de direction de poser des questions et de s'assurer que chaque groupe est mis en place pour réussir et évoluer dans la bonne direction pour l'entreprise. "

Les mesures d'autonomisation des employés peuvent également garantir l'engagement et aider à fidéliser les meilleurs développeurs.

«L'équipe devrait être autorisée à déterminer sa propre feuille de route professionnelle, et quelles technologies sont les plus adaptées à des tâches spécifiques, tout en étant en même temps tenue responsable de ses décisions», déclare McConathy. «Demandez aux équipes de se concentrer sur des objectifs spécifiques de haut niveau, puis laissez-les courir avec des idées et de l'exécution. C'est une véritable autonomisation, et en fin de compte, nous aimons tous travailler dans un environnement où nous pouvons faire une différence et apprendre de nouvelles choses.

2. Souvenez-vous de vos racines

Les responsables de l'ingénierie se retrouvent trop souvent éloignés de leur premier amour: l'écriture de code. Mais les problèmes liés à la suraccentuation de l'aspect «gestion» du profil de travail d'un responsable de développement sont plus profonds.

Sam Lambert, directeur principal de l'infrastructure de GitHub, affirme que les entreprises qui voient les gestionnaires et les ingénieurs différemment sont vouées à sous-performer.

«Les entreprises doivent positionner les managers comme de solides mentors techniques pour leurs équipes», déclare Lambert. De cette façon, les responsables de l'ingénierie «peuvent fournir des conseils sur le code et les projets, les aider à surmonter les défis techniques et utiliser leurs expériences personnelles pour multiplier l'efficacité de leur groupe».

La formation est une excellente opportunité pour réunir les managers et les membres de l'équipe dans le même bateau. Chez Booz Allen Hamilton, le directeur Dan Tucker reçoit l'aide d'une équipe de coachs agiles, qui forment et encadrent les équipes et les managers.

«En règle générale, les managers vivent ces expériences avec leurs équipes», déclare Tucker. «Cela aide à niveler sur un langage commun, à surmonter la résistance et la confusion et à concevoir le chemin à parcourir.»

McConathy de Trulia recommande également une culture centrée sur les employés et une porte ouverte - même face aux tâches liées à l'entreprise. «J'ai annulé des réunions avec notre président afin de prendre un café avec un nouvel employé ou quelqu'un essayant de résoudre un problème», dit McConathy.

3. Augmentez la visibilité de votre entreprise

Donner à vos développeurs une plus grande visibilité sur l'entreprise est un autre moyen de vous assurer que vos équipes techniques peuvent apporter une compréhension plus approfondie pour atteindre les objectifs commerciaux. Pour cela, Larry Gadea, PDG d'Envoy, prône la transparence.

«Outre les informations privées sur les employés et les données clients, nous permettons aux employés de tout voir sur l'entreprise», déclare Gadea. "Cela inclut les mises à jour des investisseurs, les diapositives des réunions du conseil d'administration, les finances à jour - y compris les soldes des comptes bancaires - les calendriers non expurgés, etc."

Bridget Frey, CTO de Redfin, convient que l'exposition aux activités principales de l'entreprise est importante pour aider les développeurs à obtenir des informations précieuses.

«Nos ingénieurs surveillent nos agents immobiliers, apprenant ce que c'est que d'emmener un client en tournée ou de négocier le prix d'achat d'une maison», explique Frey.

4. Brisez les murs

Si vos projets ne résolvent pas les problèmes qu'ils sont censés résoudre, cela peut être une question d'obstacles à éliminer.

Amanda Whaley, directrice de l'expérience développeur chez Cisco, s'attaque aux silos en ciblant deux domaines: la culture et la technologie.

«Sur le plan culturel, nous investissons de l'énergie dans l'établissement de relations au sein de l'entreprise», déclare Whaley. «Un exemple est le parrainage de journées de non-conférence et de hackathon internes où les membres de l'équipe de nombreuses organisations peuvent travailler ensemble dans un atelier et créer des liens qui peuvent ensuite être utilisés pour faciliter la collaboration.»

«Du côté de la technologie, nous valorisons une culture basée sur l'API», ajoute Whaley. «Cela encourage les équipes de développement à créer des API afin qu'il soit facile pour les autres équipes de créer des intégrations et de tirer parti des projets des autres.»

5. Savoir quand s'entraîner et se spécialiser

Le fait de bousculer les rôles à court terme peut constituer une équipe mieux formée pour gérer des problèmes inattendus à la volée. Ici, la formation croisée peut être essentielle pour tirer le meilleur parti de votre équipe.

Frey de Redfin dit que l'entreprise utilise largement la formation croisée. «En ingénierie, la plupart de nos ingénieurs travaillent avec plusieurs technologies et nous organisons une série de cours de formation en ingénierie ouverts à tous.»

Mais il peut y avoir une limite supérieure à la formation croisée où les rendements ne justifient plus de retirer des spécialistes de leur domaine pour augmenter la polyvalence. John Paliotta, co-fondateur et directeur technique de Vector Software, estime que, bien qu'importante, la formation croisée peut aller trop loin.

«Pour un groupe de développement, vous voulez clairement la redondance afin que plusieurs développeurs puissent travailler sur le même domaine du produit, mais vous voulez également que chaque développeur ait une spécialisation approfondie», explique Paliotta. «La spécialisation entraîne d'énormes gains de productivité par rapport à une équipe de généralistes.»

6. Mélangez-le

Une autre façon de faciliter la cohésion et de faire tomber les barrières consiste à exposer les membres de l'équipe à des collègues techniciens avec lesquels ils n'interagissent généralement pas dans leurs tâches quotidiennes.

Zubin Irani, fondateur et PDG de cPrime, souligne la nécessité de mélanger les choses: «Lors de notre dernière réunion à tous, au lieu de nous intégrer à nos équipes habituelles, nous avons en fait mélangé différentes équipes afin qu'elles puissent parler de problèmes inter-équipes, et trouver ensemble des solutions pour améliorer les choses », dit Irani. «Par exemple, notre équipe mobile, notre équipe de commerce électronique et notre équipe d'API se sont toutes réunies dans le but de discuter de ce qui fonctionne bien et de ce qui ne fonctionne pas entre les équipes, puis elles ont passé du temps à trouver des moyens d'améliorer là où elles avaient des défis. "

Usha Parsa, directrice produit de Yahoo Cloud Services, affirme que la pollinisation croisée entre équipes consiste à créer des objectifs communs.

«Nous croyons en une approche agile… à travers différentes frontières de reporting qui se réunissent pour une exécution vers un objectif commun», déclare Parsa. «Les équipes modulaires partagent un objectif commun. Les équipes ont des stand-ups quotidiens individuels pour l'efficacité, mais les équipes se rencontrent également en bref «Scrum of Scrums» plusieurs fois au cours de la semaine pour partager les progrès et les domaines où elles ont besoin de l'aide les unes des autres. »

7. Optez pour la transversalité

Parfois, la meilleure façon de tirer le meilleur parti de votre équipe de développement est de la diviser et de la regrouper en équipes interfonctionnelles qui mettent en commun les talents de différentes facettes de l'entreprise. Ceci est particulièrement efficace si vous trouvez des projets entravés par des silos départementaux.

Nic Grange, directeur technique de Retriever Communications, affirme que la création de groupes basés sur les résultats - plutôt que sur la fonction - permet de réduire les problèmes rencontrés dans les silos. Cela dépend de la structure de votre entreprise.

«La création d'une structure d'équipes interfonctionnelles peut aider à réduire l'impact des silos», déclare Grange. «Certaines informations seront toujours cloisonnées au sein de l'équipe interfonctionnelle, mais au moins, ils disposent de toutes les informations dont ils ont besoin pour obtenir leurs résultats commerciaux.»

8. Sortez du bureau

Qu'en est-il des moyens pour que les membres de l'équipe travaillent bien ensemble? Comment garder un groupe motivé, à l'aise les uns avec les autres et, surtout, pas épuisé?

Eden Chen, PDG et fondateur de Fishermen Labs, dit que son entreprise s'éloigne - très loin - de son bureau basé à Los Angeles chaque année pendant deux semaines.

«Nous examinons Sydney, Madrid ou Budapest cette année», dit Chen. «Nous sommes capables de travailler là-bas et de terminer des projets pendant cette période de deux semaines, mais c'est énorme pour la consolidation d'équipe, pour parler des inefficacités des processus et pour mettre les différentes équipes sur la même longueur d'onde - affaires, gestion de projet, conception et développement. Nous organisons également une rencontre par mois où nous sortons et faisons quelque chose d'amusant. »

9. Célébrer le succès

Une autre façon d'éviter l'épuisement professionnel et de remonter le moral est de prendre le temps de vous féliciter. Ici, Artur Seidel, vice-président d'Elektrobit, conseille de célébrer tout de suite les succès.

«Nous organisons toujours une soirée d'expédition célébrant une version importante pour un client», déclare Seidel.

Il se souvient d'un projet avec un délai serré qui a conduit à travailler pendant les vacances.

«Nous avons terminé le 29 décembre et célébré avec une journée de motoneige dans la nature canadienne… puis nous sommes rentrés chez nous», dit Seidel. «Ce qui aurait pu être un vrai frein s'est transformé en un souvenir positif et en un lien d'équipe.»

10. Redonner et créer des liens

Avouons-le, tout le monde ne peut pas trouver la passion de s'attaquer aux rapports de bogues dans la poursuite d'objectifs commerciaux tout le temps . Certains développeurs espèrent mettre leurs compétences au service de problèmes plus urgents en dehors du lieu de travail, si seulement ils en avaient le temps.

Pourquoi ne pas courir avec cet instinct et fournir un rafraîchissement précieux à l'âme et à l'esprit de vos ingénieurs?

Chez Cisco, Whaley déclare que l'entreprise «encourage les employés à donner de leur temps pour aider leur communauté ou soutenir une cause mondiale. Ces opportunités de bénévolat sont un moyen de redonner et de passer du temps ensemble en équipe. »