Développement logiciel
Le développement d’un logiciel requiert une équipe regroupant différentes compétences au delà de l’écriture du code ET une organisation permettant à ces compétences de s’exercer dans les conditions optimales.
La définition de cette organisation, des rôles nécessaires qu’ils soient internes ou externes, puis le recrutement des personnes pouvant tenir ces rôles est une étape primordiale au succès de cette équipe.
Un de mes clients, une société de conception, déploiement et maintien d’infrastructures informatiques, est actuellement dans cette première phase. Cette société a identifié un manque dans l’offre logicielle actuelle et a choisi d’investir pour le combler. Le nouveau logiciel sera commercialisé et permettra à son concepteur d’améliorer son offre de service à ces clients et de conquérir de nouveaux marchés.
Ce logiciel est de nature à révolutionner la gestion d’infrastructures informatiques.
Le logiciel sera disponible pour une installation locale à l’infrastructure du client ou sous forme de service hébergé.
La volonté est de donner une bonne visibilité aux clients utilisateurs du logiciel en leur donnant la possibilité d’intervenir sur le plan de développement du produit dont les versions se succèderont tous les trimestres.
Quatre rôles
Le stade actuel de la réflexion a permis d’identifier les rôles suivants :
- le responsable produit : il est le porteur de la vision du produit qu’il décline avec les utilisateurs, les clients et l’équipe de développement en fonctionnalités. Le responsable produit ordonne ces fonctionnalités suivant le bénéfice qu’elles apporteront dans un plan de développement. Il interagit de façon continue avec l’équipe de développement au cours des cycles qui intègrent préparation, conception, développement, validation et déploiement. Il anime le support à l’utilisation et à la vente du produit.
- le responsable technique : il anime les choix technologiques et les choix méthodologiques, il permet à l’équipe d’améliorer continuellement ses pratiques d’ingénierie logicielle, il est attaché à la qualité construite dans le produit qu’il préfère aux tests en bout de chaine, il est aussi codeur.
- les codeurs (développeurs) : les codeurs codent… en utilisant et contribuant à des composants sous licence libre, ils pratiquent le pair programming et des pratiques d’ingénierie avancées, ils évaluent, conçoivent, développent, démontrent les fonctionnalités en lien avec le responsable produit, ils contribuent aux choix technologiques et méthodologiques en lien avec le responsable technique.
- les designers / ergonomes : ils conçoivent et mettent en oeuvre les interfaces des logiciels constitutifs du produit, ils s’attachent à ce que les utilisateurs puissent avoir une utilisation aussi simple, rapide et intuitive que possible et à constamment améliorer l’expérience des utilisateurs.
L’ensemble de l’équipe reporte à un manager qui sera l’un des associés fondateurs. L’équipe pourra faire appel à des ressources externes pour l’aider à améliorer de façon continue ses pratiques ou son organisation.
Les questions
Que pensez-vous de cette organisation ? Quels sont les rôles à étoffer, enrichir, redéfinir, à ajouter afin que l’équipe soit plus efficiente ? Que faut-il pour que ce soit parfait ?
Vous voyez-vous tenir un de ces rôles ? Voyez-vous un de vos collègues ?
Discutons-en grâce aux commentaires ouverts de cet article ou par messagerie à votre convenance.




Le fait que le responsable technique soit aussi responsable de la méthodologie, ne risque-t-il pas de créer certaines difficultés au niveau du management de l’équipe, car ce dernier serait trop impliqué ?
- Difficulté à prendre du recul notamment dans le cadre de l’amélioration continue.
- Trop engagé notamment dans le cadre d’une rétrospective.
Une personne extérieure au projet, ne serait-elle pas plus efficace grâce un point de vue extérieur à l’organisation ?