La gestion de configuration logicielle dans le développement d'applications embarquées

Couvrant le collaboratif, le prototypage rapide et la gestion de branches, la GCL répond aux enjeux du développement d'applications embarquées.

Dans le développement d'applications embarquées, la gestion des variantes devient très vite une nécessité et requiert des procédures et des outils adaptés pour ne pas pénaliser la réactivité des développeurs et de l'activité commerciale. Les logiciels de Gestion de la Configuration Logicielle (SCM ou GCL) peuvent permettre d'assurer une gestion optimale des variantes.

La GCL permet une gestion optimale des nombreuses variantes que suppose le développement d'applications embarquées. Voici en quoi :

En favorisant le développement collaboratif

Un produit fini se compose de nombreux éléments: du code source, de la documentation, des prototypes, des scénarios de tests... Tous ces éléments sont la base de ce qui est livré aux consommateurs, donc utiliser un même lieu de stockage pour l'ensemble parait sensé. Un bon outil de GCL permet de répondre aux besoins de nombreuses familles d'utilisateurs et de leur permettre une collaboration plus efficace.

En permettant une gestion des branches et des merge

La déclinaison des solutions embarquées sur les différents modèles d'une gamme suppose la création de nombreuses variantes. Dans un outil de GCL, chaque variante d'un produit suppose la création d'une branche dédiée, même si parfois les différences entre les variantes et le produit principal sont minimes. Les solutions de GCL qui utilisent la technique du "lazy copying" permettent de ne copier que les différences sans recopier ce qui est équivalent d'une branche à une autre. L'espace disque est ainsi optimisé.

En autorisant le travail collaboratif à distance

Raccourcir le laps de temps qui sépare le développement d'un produit de sa mise sur le marché

Que les équipes aient accès ou non au même réseau privé, et qu'elles travaillent ou non dans le même fuseau horaire, une bonne solution de GCL permet aux équipes de collaborer à distance. Si les équipes n'ont pas accès au même réservoir de données, la solution de GCL doit leur permettre d'accéder à des instantanés du code source et des données à échanger aussi simplement que possible.

En permettant le prototypage rapide

Le prototypage rapide permet de faire évoluer rapidement des concepts électroniques vers la production. Cependant la vitesse avec laquelle le logiciel embarqué et le firmware évoluent dans les premiers stades du prototypage peut déboucher sur des problèmes du fait du grand nombre de variantes et de versions produits en un temps limité. Les solutions de GCL règlent ce problème, et un nombre croissant de concepteurs les utilisent pour les aider dans leurs prototypages rapides.

Le rôle des solutions de GCL est d'enregistrer l'ensemble des fichiers qui ont existé dans le cadre d'un projet. Elles permettent aussi de mémoriser l'ensemble des fichiers qui ont trait à une release (ou à un build) importante du projet (les "configurations"). Elles permettent enfin de créer des branches ou de faire des merge à partir de ces configurations. Les prototypes retenus peuvent ensuite faire l'objet d'un merge avec la branche principale de développement, alors que ceux qui ne sont pas retenus peuvent être ignorés, sans pour autant être complètement oubliés, au cas où...

L'utilisation d'une solution de GCL adaptée pour la gestion des prototypes produit rapidement des effets positifs en réduisant les cycles de développement et en raccourcissant le laps de temps qui sépare le développement d'un produit et sa mise sur le marché.

Dave Robertson est Directeur des operations européennes chez Perforce