Section 3 : Stratégies pour la création d'un écosystème du logiciel libre #
Faire preuve de leadership en matière de logiciels libres #
Un leadership fort est essentiel dans toute organisation – en particulier dans le contexte gouvernemental – pour définir les politiques et renforcer les capacités qui garantiront le succès de l’adoption des logiciels libres. Si vous suivez ce cours, vous êtes en excellente position pour faire preuve d’un tel leadership.
Le renforcement des capacités afin d’appuyer l’adoption des logiciels libres peut commencer bien avant le début d’un processus d’acquisition ou de développement. Envisagez la possibilité d’organiser régulièrement, à l’échelle de l’organisation, des ateliers sur les logiciels libres, la stratégie informatique ou l’innovation en matière d’approvisionnement afin de démystifier ces sujets pour tous. Mettez l’accent sur les possibilités d’acquérir de meilleurs produits et services, la simplicité, l’efficacité et la créativité. Vous serez surpris du nombre de personnes qui feront preuve d’enthousiasme et qui voudront participer.
Réduisez les obstacles à l’adoption de logiciels libres au sein de votre organisation en donnant aux équipes qui souhaiter utiliser des logiciels libres les autorisations dont elles ont besoin pour le faire, et en simplifiant les processus pour leur permettre de miser sur la recherche et l’adaptation des logiciels en fonction des besoins de leurs utilisateurs.[^13]
Constituer une équipe de taille adéquate #
Les gouvernements – en particulier dans les petites et moyennes administrations – n’ont pas nécessairement besoin de disposer de développeurs de logiciels au sein de leur effectif. Cependant, pour obtenir et gérer efficacement les actifs numériques, ils devraient :
Veiller à ce qu’un large éventail de membres du personnel possède une compréhension de base du fonctionnement de l’acquisition, du développement et de la mise à niveau des logiciels.
Appuyer les groupes de travail internes et les champions.
Se joindre à des réseaux avec des administrations comparables et des collectivités de logiciels libres pour partager les défis, les occasions, les capacités, les ressources et les processus.
Dans le cas des petites administrations ou des petits organismes, la personne responsable de la stratégie technologique de l’organisation est probablement la mieux placée pour superviser l’adoption des logiciels libres.[^14] Il est également important de noter qu’un membre du personnel peut jouer plusieurs rôles tout au long du processus. Ainsi, un spécialiste en informatique peut également être à la fois responsable du produit et utilisateur final.
Il faut toutefois éviter de compter sur des « champions » passionnés qui se chargeraient d’une grande part du travail sur les logiciels libres en plus de leur travail habituel. Les logiciels libres nécessitent un engagement actif. Or, cet engagement peut disparaître si un champion clé s’épuise, se heurte à un trop grand nombre d’obstacles ou quitte l’organisation. Si vous êtes encore en train de suivre ce cours, ce champion pourrait être vous. On doit préconiser un soutien systématique et à long terme des logiciels libres. Le retour sur investissement est important, d’autant plus que de plus en plus de produits logiciels sont adoptés et que les processus d’acquisition, de mise en œuvre et de mise à niveau sont solidifiés.
Dans le cas des grandes administrations ou des grands organismes disposant d’une capacité interne importante, la mise en place d’un bureau ou d’une équipe centralisée est un bon pas vers l’institutionnalisation des logiciels libres.[^15]
Attirer les talents en instaurant une culture favorable aux logiciels libres #
Il existe plusieurs raisons pour lesquelles il est plus facile de recruter et de retenir des professionnels de l’informatique talentueux dans une organisation qui privilégie l’utilisation de logiciels libres.[^16]
Les logiciels libres sont largement utilisés par les entreprises, du développement à la production. Cela signifie que les talents misent sur le développement de leur capacité à les utiliser, et qu’ils cherchent des occasions d’améliorer leurs connaissances professionnelles pour progresser dans leur carrière.
En contribuant à des projets de logiciels libres, les employés font partie d’un « réseau de confiance » public et étoffent leur curriculum vitae.
Certains déclarent que le fait de travailler avec des logiciels libres améliore leur satisfaction au travail parce qu’ils contribuent à un projet communautaire de grande envergure (corrections du code source, rapports sur les bogues, mises à jour de la documentation, etc.).
Les logiciels libres offrent des possibilités d’apprentissage, car les contributeurs ont accès à « tout ce qui se trouve sous le capot » et peuvent apprendre des développeurs plus expérimentés).
Créer un rôle de responsable du produit #
Le responsable du produit est la figure centrale d’un projet de logiciel libre, qu’il s’agisse d’identifier le besoin en logiciel, de gérer un marché ou de développer en interne. Cette personne possède des compétences en matière d’analyse, de recherche sur l’utilisateur et de réflexion sur la conception, et guide le processus logiciel, en fournissant un point de contact unique et clair pour les fournisseurs – ou pour les collègues de l’ensemble de l’organisation. Le responsable du produit établit des liens avec toutes les unités opérationnelles existantes, et s’intègre à un Service (utilisateurs finaux) au besoin, pour effectuer une recherche axée sur la découverte.[^17]
Lorsque vous créez un nouveau logiciel, le responsable du produit est une personne qui comprend votre organisation et le problème que vous essayez de résoudre, et qui pourra défendre le produit que vous allez finir par créer ensemble. Le responsable sera chargé d’établir et de respecter la vision à long terme du produit, de mettre en œuvre une stratégie et d’orienter son évolution, en fonction des recherches menées auprès des utilisateurs.[^18]
Si votre organisation n’a pas encore de rôle de responsable ou de gestionnaire de produit, envisagez d’en créer un (si vous êtes en mesure d’appuyer correctement un tel rôle) ou de plaider pour un élargissement (rémunéré) de vos responsabilités afin d’inclure la responsabilité du produit.
Faire preuve de transparence et rester en contact avec les utilisateurs #
Le fait de travailler dans un environnement ouvert centré sur l’utilisateur final constitue l’un des principes clés et l’une des bonnes pratiques reconnues dans le cas des logiciels contemporains. C’est particulièrement vrai dans le cas des logiciels libres développés selon la méthode agile (ce qui constitue, en soi, une bonne pratique). Le fait de travailler de manière ouverte signifie publier publiquement son travail sur des projets logiciels, y compris les projets existants, les progrès futurs et les autres produits du travail.[^19] Pour bien concevoir et mettre en œuvre un logiciel, vous devez connaître votre utilisateur final et le solliciter en permanence de trois manières principales :
Les premières recherches sur les utilisateurs. Si vous concevez un nouveau logiciel ou rédigez un appel d’offres pour acquérir un logiciel nouveau, adapté ou existant, le point de départ est l’utilisateur. Dans chacun de ces scénarios, la première étape de votre processus consistera en une recherche axée sur la découverte auprès de l’utilisateur final, afin d’identifier ses besoins et ses difficultés. C’est également le moment de prendre en compte les besoins d’accessibilité des différents groupes d’utilisateurs et de les intégrer dès le départ.[^20] Les « scénarios utilisateurs », comme on les appelle, deviennent des descriptions des fonctionnalités du logiciel. Ils guident le développement du produit et l’évaluation du résultat final.
Évaluation du produit. Au cours d’un processus de développement ou d’acquisition, l’utilisateur final doit être sollicité pour l’évaluation des maquettes et des premières ébauches. Ainsi, votre logiciel restera proche des utilisations et des besoins réels. Le personnel de première ligne peut donner son avis sur la meilleure façon d’intégrer le logiciel à son travail, et devenir autonome dans l’utilisation et la mise à niveau du logiciel au fil du temps.
Adaptation et mise à niveau permanentes. En particulier dans le cas d’un logiciel libre, le logiciel sera adapté et maintenu au fil du temps. De nouvelles fonctionnalités et la conformité peuvent être ajoutées au fur et à mesure de l’évolution des normes, des politiques et des besoins des utilisateurs finaux. Les utilisateurs doivent être habilités à faire des suggestions, à examiner les fonctionnalités potentielles, à identifier les bogues et, s’ils ont la compétence requise pour ce faire, à contribuer au code proprement dit.