Comment vous gérez-vous dans une nouvelle équipe où vous êtes le développeur le plus senior et la plupart des autres membres de l'équipe sont juniors pour vous de plusieurs années. La tâche qui attend l'équipe est quelque chose que personne d'autre, vous compris, n'a accompli auparavant.
La direction insiste sur une productivité plus élevée de toute l'équipe, et en tant que développeur senior, vous êtes responsable.
Des conseils pour sortir des atouts dans une situation comme celle-ci? De toute évidence, toute l'équipe a besoin de temps pour apprendre et n'oublions pas la nouvelle équipe. Cependant, les délais sont également à venir ...
Réponses:
Ne laissez pas un délai serré ou la nouveauté du projet nuire aux bonnes pratiques d'ingénierie. Mettre en place un référentiel de logiciels, convenir d'un style de codage, proposer une suite de tests, etc. travailler dur et apprendre la tâche qui les attend.
Ou pour le dire autrement: vous avez été mis en charge parce que la direction estime que votre parcours et votre expérience vous ont donné les outils nécessaires pour construire des logiciels de qualité. N'oubliez pas soudain vos compétences simplement parce que cette tâche semble intimidante maintenant.
la source
Tout d'abord, commencez à utiliser un système de contrôle de code source à partir de la toute première ligne de code. Prenez l'habitude de vérifier le code tôt et souvent.
Deuxièmement, décidez d'une stratégie de test . Bien sûr, cela devrait signifier des tests unitaires, mais vous devez également réfléchir à la façon d'automatiser les tests d'acceptation.
Troisièmement, établir un serveur d'intégration continue afin que votre code soit construit régulièrement et testé régulièrement.
Une fois que vous avez cela, en équipe, établissez des normes de codage simples . Vous voulez que votre code soit facilement lisible par tout le monde. Peu importe les normes. Retrait avec des tabulations, retrait avec des espaces, accolade sur la même ligne, peu importe. Peu importe ce qu'ils sont, seulement que chacun les applique systématiquement.
Étant donné que l'équipe est principalement composée de développeurs débutants, prévoyez de revoir le code souvent pour vous assurer qu'il n'ajoute pas trop de dette technique à votre système.
Enfin, envisagez d'utiliser SCRUM . Si vous le faites, embauchez un entraîneur ou suivez une formation. Puisque vous faites tous quelque chose que vous n'avez jamais fait auparavant, il est tout simplement impossible d'établir des délais réalistes. Avec SCRUM, votre direction aura une visibilité sur ce que vous faites au quotidien afin qu'elle puisse voir quels progrès sont (ou ne sont pas) en cours. Et, puisque vos délais vous ont apparemment été donnés, SCRUM garantit au moins que si vous ne pouvez pas respecter le délai, au moins vous livrez des histoires terminées sur une base incrémentale, ce qui est sans doute mieux que d'arriver à la fin avec un géant système qui ne fonctionne pas du tout.
la source
En plus de la réponse de @chrisaycock ... Ne sous-estimez pas le temps que vous devrez consacrer au mentorat / à la formation, etc. En tant que responsable, vous devrez apprendre à laisser aller les détails et à faire confiance à votre équipe. Votre travail consiste à devenir le facilitateur, le suppresseur de barrages routiers et à exécuter des interférences lorsque la direction y pénètre. Dans une équipe "normale", vers 7 ou 8 heures, le responsable ne programme plus. Dans votre situation, cela tombe à 3 ou 4 (Peut-être encore moins), Vous n'êtes pas une ressource de programmation pour le projet.
la source
Concentrez-vous sur la communication dans deux domaines.
Ce n'est pas facile à faire, et c'est une des raisons pour lesquelles ce travail est difficile. Si le respect de la date limite signifie des fonctionnalités de coupe, passez-en plus. La seule chose que vous essayez d'éviter dans tout cela est un code rapide pour fixer une date limite. C'est le début de la fin d'une base de code qui ne durera pas bien et le début d'une dette technique qui s'étouffe.
2) Communication inter-équipes. Mettre en place des pratiques formelles comme Bryan et d'autres recommandent. Assurez-vous de vous réunir régulièrement en équipe, par exemple une fois par semaine en plus des mêlées quotidiennes. Gagnez du respect et de la confiance en écoutant , votre outil le plus important. Assurez-vous de vous concentrer sur l'aide. Évitez à tout prix les critiques négatives. Si nécessaire, utilisez des critiques positives et des encouragements, par exemple "c'est super, une fois que vous voudrez peut-être considérer que X est" plus "que ce dont nous avons besoin, vous devez faire X à la place"
la source
Ce que j'ai fait, c'est identifier ceux qui sont capables et diviser pour mieux régner. Je prends les 2 ou 3 premiers et j'en fais des capitaines. Les autres sont ensuite répartis également en équipes en suivant les capitaines dans leurs propres petites équipes.
Je donne aux capitaines des morceaux ou des modules pour faire un programme.
Les capitaines donnent aux débutants de plus petites tâches de programmation ou de recherche tout en s'expliquant ce qu'ils font, de sorte que le mentorat se fait en faisant.
J'essaye d'aménager la salle pour que tout le monde soit dans le même espace ouvert mais chaque équipe a son propre cercle d'ordinateurs. J'aime être à distance de tout le monde pour que les choses bougent rapidement.
Jusqu'à présent, cela fonctionne bien pour environ 10 à 20 programmeurs. Les petits groupes sont juste mieux d'être dans un groupe et je n'ai pas encore travaillé avec quelque chose de plus grand.
la source