Savez-vous ce qu’est un logiciel ?

Quel que soit votre âge et la manière dont vous êtes entrés en contact avec le monde de l’informatique, vous avez dû entendre ce terme. Vous l’associez sûrement avec un certain nombre de procédés et techniques qui définissent ce qu’est un logiciel. Si nous nous sommes attelés à la rédaction de cet article, c’est qu’il existe une grande disparité des points de vue sur ce que constitue, ou non, un logiciel aujourd’hui. 

En prenant position sur le sujet, nous n’avons pas la prétention d’établir de manière unilatérale la “bonne” définition de ce que serait un logiciel ! Mais simplement de donner notre point de vue de passionnés ! 

Envie d’en savoir plus tout de suite ? ? 

N’hésitez pas à nous contacter pour en parler directement avec nos experts !

Tout d’abord, les ordinateurs ont connu une démocratisation croissante à partir des années 80 en Occident. D’abord outil de travail à disposition d’une minorité de cadres en entreprise, il est devenu disponible pour des foyers privilégiés. Puis une nouvelle source de distraction avec l’émergence des jeux vidéo.

Il est ensuite devenu classique d’avoir un ordinateur à la maison, puis d’en avoir un dans sa poche en permanence. Désormais, il s’en porte même au poignet avec la démocratisation des montres connectées.  

Et pourtant, si la finalité  d’un logiciel semble comprise par tous, ce qu’il représente ne semble pas encore explicite pour le grand public.

Cette incompréhension, souvent partielle, est parfois totale ! Un logiciel ne doit pas être confondu avec un programme informatique, qui est une simple chaîne d’instruction exécutée telle quelle par une machine informatique. Il y a bien sûr une dimension technique au logiciel. Mais il y a également une dimension économique, structurelle, et même psychologique !

Un peu d’étymologie…

Dès les années 50, les anglo-saxons apprennent à faire la distinction entre le « hardware » la partie matérielle permanente de l’ordinateur, et le « software » qui est la partie aisément modifiable de l’ordinateur.


Si le terme français semble davantage insister sur l’aspect « logique formalisée », elle est en décalage avec l’idée que s’en font les anglo-saxons. Pire, des évolutions techniques comme la machine virtuelle ont permis de séparer encore plus fortement la conception logicielle de l’aspect matériel. Comment ? En permettant à des logiciels de simuler virtuellement des composants physiques !

Mais l’étymologie seule ne nous permet pas de comprendre pleinement ce que représente un logiciel en 2021.

La dimension économique du logiciel

Avec le temps, s’est installé un nouvel usage du mot logiciel. Il ne faut pas confondre un programme, qui désigne une chaîne d’instructions à destination de l’ordinateur, et le logiciel qui regroupe un ensemble de programmes et sous-programmes, ainsi que toutes les persistances de données et les configurations associées.

Le traitement automatique de l’information (c’est-à-dire l’informatique) est la réponse technologique à apporter aux organisations qui ont besoin, notamment, de coordonner rapidement un grand nombre d’acteurs. Comme des bureaux d’ingénieurs qui veulent rapidement simuler des phénomènes physiques complexes. Ou encore d’autres acteurs voulant accroître le rendement de leur chaîne de production. Tous ne rêvent que d’une chose : accélérer leurs procédés. 

Mais les solutions informatiques apportées n’ont de sens que si elles sont préalablement pensées pour être alignées avec le business. 

Alors, quelles sont les incitations économiques de l’entreprise ? Ou encore, quels sont les freins potentiels des collaborateurs ? Mais aussi les attentes des utilisateurs finaux ? 

Ces discussions doivent être au centre des échanges avec les développeurs. Afin qu’ils puissent s’approprier la problématique métier de chaque client. 

Dans ce cas, quel est l’objectif final d’une telle approche ? 

Finalement, les fonctionnalités livrées correspondent exactement au besoin et permettent un retour sur investissement le plus rapide possible. Fini les négociations internes pour organiser un amortissement budgétaire, les fonctionnalités économisent ou rapportent de l’argent plus rapidement. Cet avantage est l’un des principaux qui animent les logiques de transformation numérique. 

La dimension structurelle du logiciel

Les logiciels permettent d’accélérer une organisation, lui donnant un avantage compétitif certain face à ses concurrents. Une organisation capable d’aller vite est une organisation qui peut s’adapter rapidement aux demandes du marché.

Un logiciel est donc là pour accompagner les choix d’organisation et accélérer la circulation de l’information entre ses différentes composantes. Cela sera de toute manière une tendance naturelle, car comme l’énonce la loi de Conway : « les organisations qui conçoivent des systèmes […] tendent inévitablement à produire des designs qui sont des copies de la structure de communication de leur organisation. »

Cela revient à dire que par exemple, si une petite start-up se structure autour de 4 services, le logiciel pour gérer cette entreprise sera constitué de 4 composants successifs. Un logiciel sera quasi-systématiquement adapté à la structure qui le crée. 

​D’où l’importance de la compréhension du métier et des utilisateurs finaux lorsque vous faites appel à un tiers ! Retrouvez nos approches de la transformation numérique avec notre Livre Blanc sur l’Externalisation !

Mais il existe aussi un principe nommé loi de Conway inverse. Cette loi inverse suggère que si un nouveau système entre en conflit avec l’organisation existante, les équipes changeront d’organisation. Car elles seront contraintes par le nouveau système. Sauf que dans une organisation, l’informel peut très vite prendre le dessus sur le formel.


Toute organisation doit penser sa propre transformation, en s’assurant d’obtenir l’adhésion de ses membres. Dans le cas contraire, elle risque de perdre les bienfaits développés précédemment.

Une dimension psychologique

Lorsqu’un ingénieur est amené à concevoir un outil, comme par exemple une paire de ciseaux, il est amené à se poser des questions d’ergonomie. Il va étudier la forme de la main humaine. Puis adapter son outil afin que la prise soit facile et sécurisée. Il va peut-être même proposer son produit en gaucher et droitier. S’il ne le fait pas, il prend un risque considérable avec sa clientèle. 

Un individu qui interagit avec le monde, et en particulier ses outils, ressent des émotions, qu’elles soient positives ou négatives.. Si son usage est inconfortable ou absolument pas pratique, l’individu va renoncer à l’usage de cet outil. Surement au profit d’une autre solution. 

Ce problème d’acceptabilité se pose également dans le domaine du logiciel. Pour que les utilisateurs finaux puissent se l’approprier, il faut que leurs besoins mais aussi leurs processus cognitifs soient pris en compte.

C’est tout l’apport de l’UX/UI Design ! “User Experience/ User interface Design” de son nom complet, se concentre sur les émotions suscitées par l’usage ainsi que sur l’ergonomie attendue par ceux qui utiliserons le produit ou logiciel. 

De la même manière qu’un outil est pensé pour être ergonomique pour l’utilisateur, l’interface homme-machine qui va être utilisée se doit être cohérente avec la finalité poursuivie, et ne pas trahir les intentions de l’utilisateur en le dispersant. Sauf que, là où il faut se soucier de la forme de la main de l’utilisateur pour concevoir une paire de ciseaux, il faut ici se soucier de la manière de penser de l’utilisateur

Si un logiciel énerve son utilisateur, il est évident que celui-ci mettra en place toutes les stratégies possibles pour ne pas être confronté à cette frustration. Si un utilisateur trouve compliqué d’arriver à ses fins avec un logiciel, celui-ci ne sera pas ou très peu utilisé.

Ainsi chaque interface est conçue, puis testée en condition réelle, avec un recueil du retour d’expérience, afin de l’ajuster au plus près des attentes des utilisateurs finaux. Leur adhésion au logiciel en dépend.

La dimension technique du logiciel

Partons du postulat que le logiciel est l’expression de l’intention d’accélérer. Le tout adapté et contextualisé selon le métier du bénéficiaire, également grâce à des spécifications détaillées et propres à chaque besoin. 

Un des principaux problèmes pouvant apparaître est une conception verticale de ces spécifications, qui n’impliquera pas toutes les parties prenantes ! 

En mettant en concertation le rédacteur initial de la spécification et la personne chargée de son application il est possible de gagner un temps précieux ! Votre solution sera stable et pérenne plus rapidement. 

Dans beaucoup d’industries, le schéma classique de la production de valeur est vue comme sur le schéma suivant :

Schéma de création de la valeur par le logiciel pour les industriels classique
Schéma de création de la valeur par le logiciel pour les industriels classique

Les ingénieurs et les ouvriers ont des domaines d’expertise différents. Les premiers ont la responsabilité de rédiger une spécification suffisamment détaillée pour les seconds. Les ouvriers livrerons ce qu’ils auront compris des spécifications.  Seulement dans le développement logiciel, l’ouvrier est ce qu’on appelle un compilateur. C’est-à-dire que nous avons un logiciel qui produit du logiciel. Et donc le code-source du logiciel est la spécification détaillée à destination du compilateur.

C’est pour cette raison que l’organisation que l’on retrouve souvent dans notre secteur d’activité correspond au schéma suivant :

Schéma de création de la valeur dans l’informatique Schéma de création de la valeur dans l’informatique Schéma de création de la valeur dans l’informatique
Cela s’avère contre productif voire dangereux pour le succès du logiciel !

Les développeurs sont des ingénieurs qui rédigent une spécification détaillée.

Ce qui partira en production sera ce que les développeurs en auront compris. Ils doivent pouvoir exercer leur activité en étant en lien direct avec leur client. Et donc tendre vers le schéma suivant :

Schéma de création de la valeur chez Amiltone
Schéma de la création de valeur chez Amiltone

Ce changement de vision vis-à-vis des équipes de développement est souvent un bouleversement pour les organisations. Celles-ci comprennent qu’externaliser un logiciel ne veut plus dire “faire faire” mais “co-construire”. C’est-à-dire, composer une équipe de partenaires qui vont écrire ces spécifications détaillées en fonction du besoin.

Pour résumer le logiciel

  • Un logiciel est la solution technique permettant d’accélérer une entreprise, afin de la rendre plus compétitive que ses concurrents. De plus, il permet d’améliorer les conditions de travail des employés, qui peuvent alors se concentrer sur ce qui apporte véritablement de la valeur.
  • Un logiciel suit les structures de communication de l’entreprise, mais aussi les processus de réflexion de tous les utilisateurs. Tout ceci a pour but de rendre l’usage du logiciel naturel et fluide pour toute l’organisation et ses acteurs. Garantissant ainsi l’adhésion de tous.
  • Le code-source d’un logiciel est sa spécification détaillée, elle est fréquemment écrite en collaboration avec l’équipe de développement, et plus rarement en amont de celle-ci. Autrement cela revient à faire le même travail plus d’une fois, tout en perdant de l’information en route.
  • Le code-source n’est pas un édifice inamovible tel un pont ou un bâtiment ! Il suit l’évolution de l’entreprise au jour le jour, afin de l’aider à pivoter le plus rapidement possible sur un marché en constante évolution. Il permet d’apporter une série d’amélioration incrémentale permettant de continuer à accélérer l’organisation.
  • Bien pensées en amont, les futures mises à jour et améliorations seront moins coûteuses et moins risquées financièrement. Avec une gouvernance adaptée, la valeur apportée par une solution logicielle se manifeste quasiment immédiatement.