Comment construire une équipe de développement Kick-ass Umbraco ?

Publié: 2022-09-29

Votre équipe de développement dispose des personnes, des compétences et de l'expertise, mais la mise à l'échelle des opérations est toujours difficile lorsque vous décrochez un nouveau projet ou avez besoin d'une expérience de plate-forme très spécifique. Devriez-vous faire appel à des sous-traitants ou à des équipes de développement Web externalisées ? Cet article examinera les options dont dispose votre équipe de développement pour gérer la croissance.

Sous-traitants vs équipes de développement externalisées vs équipes intégrées

Même si vous pensez avoir la bonne équipe de développement en place, votre entreprise sera toujours à la recherche d'une expertise de plate-forme très recherchée. Toutes les organisations se poseront la question :

« Devrions-nous embaucher plus de personnel pour gérer nos projets actuels et/ou à venir ou une autre approche serait-elle préférable ?

Prendre la bonne décision n'est pas toujours la plus pratique, car divers facteurs peuvent entrer en jeu. Ces questions ci-dessus vous semblent-elles familières ?

  • Est-ce juste une poussée temporaire, ce qui signifie que les choses finiront par revenir à la normale ?
  • Que se passe-t-il si le prochain projet nécessite des compétences différentes de celles de votre personnel actuel ?
  • Serez-vous en mesure de couvrir le coût des membres supplémentaires de l'équipe au cas où vous seriez confronté à une pénurie de projets à l'avenir, ou devrez-vous licencier des personnes ?
  • Comment pouvez-vous soutenir des projets existants et en entreprendre de nouveaux en même temps sans investir en permanence dans de nouvelles personnes (et infrastructures) ?

#1 Entrepreneurs

Vous « louez » un développeur (ou deux, ou trois) à une entreprise qui leur fournit un temps et de l'argent spécifiques, et les faites travailler sur un ou plusieurs projets, ou soutenez des projets existants.

Vous les gérez pour le temps qu'ils vous "appartiennent" et vous leur faites faire tous les travaux dont vous pourriez avoir besoin. C'est un moyen de développer artificiellement votre équipe pendant de courtes périodes sans avoir à embaucher.

Mises en garde impliquées :

Encore une fois, vous devrez faire un peu de RH là-bas – le fait qu'une autre entreprise ait suggéré une personne spécifique ne signifie pas que c'est définitivement la bonne personne pour le poste. Des entretiens devront être réalisés, et le nouveau développeur devra s'adapter très rapidement à ce que vous aurez à lui donner – ce qui n'est pas toujours le cas.

Enfin, disons que tout se passe bien et que le travail est fait. Le développeur part et la même personne peut ne pas être disponible lorsque vous en aurez à nouveau besoin, ce qui signifie que vous devrez recommencer tout le processus.

#2 Équipes de développement externalisées

L'externalisation signifie généralement que vous passez par un processus de recherche d'une entreprise fiable et que vous lui confiez un projet, en espérant obtenir des résultats dans un délai bien défini, avec une portée et des spécifications bien définies.

Cela fonctionne mieux lorsque vous entreprenez un projet pour lequel votre équipe interne n'a pas d'expertise ou d'expérience significative, mais que vous souhaitez tout de même être impliqué sans investir dans l'embauche et/ou la formation de personnes.

Mises en garde impliquées :

  • Vous devrez vérifier les personnes ou l'entreprise avec lesquelles vous travaillerez, ce qui prend du temps et probablement de l'argent - ou vous devrez simplement prendre un gros risque.
  • Vous devrez également avoir une portée fixe et des spécifications parfaites, et probablement affecter un chef de projet à vos côtés pour surveiller et guider l'autre partie à chaque étape du processus.
  • Les choses peuvent facilement aller au sud en raison d'une mauvaise communication ou de spécifications mal écrites, et il y a des milliers de cas où cela s'est produit.

Et nous ne parlons pas du tout d'approches agiles ici - oubliez simplement cela, à moins que vous n'ayez travaillé avec les mêmes personnes maintes et maintes fois.

#3 Équipe de développement embarqué

Il s'agit d'une approche plus hybride, dans le sens où vous n'obtenez pas un seul développeur mais plutôt un groupe de personnes qui se connaissent et ont l'expérience de travailler ensemble.

Ces personnes sont ensuite « intégrées » dans votre équipe interne actuelle, en suivant vos procédures et méthodologies, et en augmentant éventuellement votre productivité globale.

Mises en garde impliquées :

Comme auparavant, vous allez introduire un « corps étranger » dans votre entreprise et vous souhaiterez qu'il soit immédiatement intégré à votre personnel existant - et nous savons, du moins par la médecine moderne, qu'un organisme - tel que votre entreprise – prend du temps à intégrer les corps étrangers, et parfois échoue.

Finalement, cela peut fonctionner mieux que les alternatives ci-dessus, mais vous devrez investir beaucoup d'efforts dans cela.

Notre suggestion : Équipe de développement en tant que service

(Ou, comme d'autres l'appellent, SDaaS - Développement de logiciels en tant que service)

Il s'agit d'une approche encore plus hybride que l'équipe de développement embarquée, et (à notre avis) la plus rentable et apportant les meilleurs résultats.

En un mot, vous obtenez une équipe de développement intégrée comme auparavant, mais cette fois vous n'avez pas vraiment à vous soucier de la taille de l'équipe ni de ses compétences en tant qu'individus - l'équipe aura initialement un représentant, généralement l'un des développeurs , qui sera chargé de "connecter" vos développeurs internes (si vous en avez), de faire toutes les communications et de mettre leurs collègues au courant.

Vous assignez du travail à cette équipe et vous payez les heures qu'elle passe à travailler.

Cela signifie que, pour une tâche ou un projet urgent, plusieurs membres de l'équipe en tant que service devraient être impliqués afin de terminer le travail le plus rapidement possible, ou qu'ils pourraient se répartir les tâches moins urgentes et avoir une personne fait chacun. Mais c'est quelque chose dont l'équipe elle-même s'occupe.

Dans les deux cas, vous obtenez la même évolutivité que vous obtiendriez avec le cloud lors de l'exécution d'un serveur Web - il est là quand vous en avez besoin, et vous n'avez pas à payer pour cela quand vous n'en avez pas.

À long terme, à mesure que l'équipe distante se familiarise de plus en plus avec les membres de votre équipe interne, leur propre expertise, vos processus et votre façon de travailler, les communications peuvent s'élargir et tous les développeurs peuvent participer.

Le besoin d'un intermédiaire a généralement disparu, et vous finissez par avoir une équipe évolutive, un peu comme une équipe intégrée, que vous pouvez gérer et utiliser selon vos besoins en fonction de votre charge de travail actuelle.

Mises en garde impliquées :

Contrairement à l'utilisation de services cloud dans un environnement informatique, il s'agit d'un processus plus graduel qui nécessite que la confiance s'établisse de part et d'autre.

Dans la plupart des cas, l'autre société se chargera du processus d'intégration, et vous n'aurez qu'à leur faciliter la vie en leur fournissant l'accès et les informations nécessaires. Parfois, cela peut prendre plus de temps que prévu, surtout si vous n'êtes pas habitué à cette façon de travailler. Mais c'est tout ce qu'il y a à faire.