Étrangement, l'assistance à maîtrise d'ouvrage est assez inconnue du monde de l'informatique industrielle. Traditionnellement, lorsqu'une entreprise ne maîtrise pas une technologie, elle sous-traite en régie le maître d'oeuvre, c'est-à-dire le chef de projet ; la maîtrise d'ouvrage n'est, sinon, pas assez qualifiée.

Ceci est une grave erreur pour des raisons de plusieurs ordres :

  • juridiques :
    • en droit des contrats, le maître d'ouvrage doit appartenir à la société donneuse d'ordre, qui reste totalement responsable et ne peut sinon engager la société en aucune mesure (par exemple en donnant un ordre ou en émettant un souhait direct à un sous-traitant),
    • en droit du travail, le maître d'oeuvre en régie ne peut donner, légalement, le moindre ordre à une équipe extérieure "intégrée" de prestataires (aussi en régie), puisque le lien de subordination n'existe pas,
    • en droit de la propriété intellectuelle, les prestations du maître d'oeuvre n'appartiennent pas, a priori, à la société qui use de ses services en tant que prestataire (ce qui comprend les différents documents comme les spécifications ou même le code qu'il pourrait produire) ;
  • manageriales :
    • une direction de projet extérieure ne capitalise pas son expérience dans la société sous-traitante, qui reste toujours aussi étrangère à ce qui va constituer la base de ses produits,
    • le départ de la tête de projet signe une rupture de la disposition des connaissances, ce qui menace le projet dans son futur, tant pour sa maintenance que pour ses évolutions.

1/ cahier des charges

Dans le cadre d'une sous-traitance, la rédaction du cahier des charges est absolument essentielle : l'engagement contractuel aura pour référence absolue ce document. Un point oublié, et c'est le dérapage assuré de budget et/ou de temps de développement.

2/ questions contractuelles

Les questions de propriété intellectuelle sont très souvent proprement ignorées. Pourtant, une erreur sur l'interprétation d'une licence, et c'est un risque de procès qui se profile. Si un projet peut s'en retrouver menacé, dans le meilleur des cas, ce sera simplement extrêmement coûteux.

Dans le cadre d'une sous-traitance, la cession de la propriété intellectuelle doit aussi être correctement gérée. L'article 131-1 du Code de la propriété intellectuelle interdit la cession globale des oeuvres futures : la cession doit intervenir a posteriori sur un périmètre tout à fait défini.

Le forfait, en obligation de résultat, reposant sur un cahier des charges, doit être parfaitement mis au point pour répondre aux spécificités des contrats du monde informatique.
La régie est bien souvent mal utilisée : la plupart du temps, la mauvaise définition contractuelle relève simplement du délit de marchandage (30.000 € d'amende, 2 ans de prison, pour les deux parties du contrat). L'ingénieur en régie peut alors tout à fait demander la requalification de son contrat de travail pour faire reconnaître le lien de subordination chez le donneur d'ordre.

Du côté du sous-traitant, l'éviction fait peser sur la société une partie des risques juridiques concernant la propriété intellectuelle. Linacs peut donc aussi intervenir sur ces mêmes sujets du côté de la maîtrise d'oeuvre.

3/ mise en place de sous-traitance

Outre les problématiques contractuelles, il est important de partager correctement une vision du projet avec le sous-traitant. Cela implique un travail relationnel et un suivi resserré lors du lancement du projet.

Linacs propose aussi des partenariats avec un certain nombre de sociétés ou d'indépendants de confiance. C'est ce que l'on appelle l'open innovation.

4/ définition des jalons, suivi du calendrier

Un projet d'informatique embarquée, et plus spécifiquement lorsqu'il fait intervenir des solutions libres, doit être mené selon la méthode agile consistant à livrer fréquemment des étapes fonctionnelles du projet. La définition d'un calendrier précis (par exemple sous forme de diagramme de Gantt) est essentielle pour s'assurer de la bonne marche du projet, prévoir les glissements et agir de manière proactive.

5/ méthodologie Agile

La méthodologie Agile et le Lean sont encore largement méconnus du monde du logiciel embarqué. L'augmentation de la complexité des projets, faisant intervenir un grand nombre d'acteurs, travaillant sur des millions de lignes de code, rend désormais inconcevable l'économie d'une véritable organisation optimisée, en accord avec des vertus cardinales simultanément respectueuses des collaborateurs et de leur travail.

Linux embarqué s'adapte aux méthodes scrub, extreme programming, et plus largement Agile. Certains enseignements du Lean sont aussi des vecteurs d'amélioration dans la gouvernance du projet. Linacs aide à la mise en place de cet environnement dynamique et efficace.

6/ vérification des livrables

Les livraisons pour un projet peuvent s'avérer nombreuses, surtout lorsque celui-ci est complexe et que le projet utilise une méthode scrub (intégration continue et livraisons incrémentales fréquentes). La vérification de la qualité implique la maîtrise d'un savoir faire d'audit, tandis que la mise en place de tests (automatisés ou par cahier à dérouler) représente un enjeu directement lié à la satisfaction du client.