Développeuse Logiciel, c’est quoi ?

La Développeuse Logiciel est une « bricoleuse » du domaine numérique. Son atout ? Sa boîte à outils.

Qu’elle contienne des langages de programmation, des outils logiciels, des formules mathématiques ou des patrons algorithmiques. Elle doit être en constante évolution : ajout de nouveaux outils et mise à jour des anciens, l’important est de savoir quels outils sont les plus adaptés aux problèmes qui se présentent.

En tant que Développeuses, nous ne réalisons qu’une courte intervention dans la vie d’un logiciel, il est nécessaire de toujours garder à l’esprit que celui-ci possède une grande longévité et s’élabore à plusieurs. Il faut savoir faire preuve de capacités d’adaptation, d’imagination, de rigueur et d’esprit d’équipe.

Aujourd’hui, tout ce qui nous entoure est susceptible de contenir un logiciel : téléphone, ordinateur, montre, électroménager, moyens de transport…

En effet, quel que soit l’objet où l’on pose les yeux, un logiciel s’y loge probablement. Et cela nous arrange pour des questions de praticité !

La principale qualité des Développeuses est de savoir où trouver des portions de code déjà existantes afin de gagner en temps et en efficacité. Une portion de code déjà éprouvée leur permet de ne pas réinventer l’existant et surtout de profiter d’une fonctionnalité sûre.

 

Et au quotidien, la Développeuse Logiciel ?

Le développement de code informatique ne représente qu’une petite partie des attributions d’une Développeuse Logiciel.

Il existe plusieurs types de méthodes de gestion de projet :

  • Cycle en V : nous parcourons les étapes, une par une, sans revenir à l’étape précédente.
  • Méthode Agile : nous parcourons les étapes, une par une, par itération et ce, pour chacune des fonctionnalités.

Dans un premier temps, la Développeuse Logiciel doit se procurer la spécification du logiciel à développer. Une fois la spécification analysée et les informations pertinentes extraites, des documents doivent être rédigés.

La rédaction de documents de conception permet de définir les choix d’architectures et d’implémentations. En complément, la rédaction de documents de tests permet d’expliquer la procédure choisie pour tester le logiciel une fois qu’il aura été conçu.

L’utilisation de diagramme UML est commune pour clarifier, détailler et organiser une implémentation. La documentation est principalement associée à la méthode du Cycle en V. En méthode Agile, l’utilisation de commentaires explicites dans le code, comme Doxygen, ou l’utilisation de logiciel permettant une traçabilité, comme Jira, sont préférés.

Viennent ensuite les tâches de développement à proprement parler. Mais là encore, le développement ne concerne pas le logiciel dans son intégralité. La Développeuse doit s’assurer que le code logiciel fonctionne conformément à l’attendu. Il est donc très important de développer des tests, tels que des tests unitaires ou des tests d’intégration.

Ayant une grande longévité et rencontrant de nombreuses personnes au cours de sa vie, le logiciel nécessite des travaux de correction. La Développeuse devra alors investiguer et corriger les bugs rapportés par l’équipe de validation logiciel.

Un logiciel peut posséder de multiples implémentations. Cependant, pour permettre une meilleure maintenabilité, il est préférable d’uniformiser et de normaliser le code. Les normes telles que MISRA ou encore les logiciels tels que SonarQube nous aide à corriger le logiciel suivant les bonnes pratiques.

Le métier de Développeuse comporte également un volet de communication et d’entraide. Elle doit participer à des réunions, plus ou moins nombreuses, suivant la méthodologie de travail, afin de choisir les prochaines fonctionnalités à développer et de s’engager sur le temps d’exécution de celles-ci.

Les Développeuses doivent capitaliser sur leurs connaissances afin d’aider les collègues présents et futurs dans leur compréhension des procédures et des outils propres au projet. Cela évite les répétitions, la perte d’informations et permet la mise à jour et la précision d’informations par tous.