Innovation #1 - L'importance de l'innovation en ESN

écrit par Rémy Villain publié le vendredi 11 janvier 2019
Le secteur IT et à fortiori le travail de développeur et testeur dans une entreprise de service du numérique, est complexe. De nouveaux langages, Frameworks, méthodologies de travail naissent chaque mois, ce qui demande une veille constante. L'environnement hyper concurrentiel exacerbe encore ce phénomène. Mais comment prendre le temps? Comment se tenir informer, découvrir de nouvelles manières de travailler alors même que les indicateurs d'efficacité et de rentabilité priment bien souvent sur ceux exprimant la qualité et la créativité. Ou plus simplement comment rester créatif, apporter des solutions sans cesse mieux adaptées à nos clients, quand la pression des livrables est quotidienne. Nous pensons que l'innovation est une réponse crédible, car elle nous permet d'être à l'état de l'art, voire gagner un temps d'avance. Cette innovation peut à la fois reposer sur le produit, c'est-à-dire des nouvelles technologies au service d'un code toujours plus performant, et de processus, avec de nouvelles méthodes de travail qui nous fait gagner du temps mais permettent aussi de développer une intelligence collective dans l'entreprise et, dans l'idéal, avec les clients. 

L'innovation est exigeante

L’innovation telle que nous la pratiquons requiert alors une remise en question permanente, une ouverture d'esprit, de la pro-activité et même... du courage. C’est une remise en question car nous ne voulons pas nous ancrer dans des habitudes, sortir de sa zone de confort et se challenger les uns les autres. L’innovation nécessite aussi une ouverture d’esprit car la solution n’est pas forcement évidente, il faut être humble, faire confiance et parfois remettre en cause ses croyances et ses acquis. De la proactivité, car les solutions ne seront pas simples à appréhender, elle demanderont d’être acteur de ses choix et moteur du changement. Et enfin, du courage parce que l’innovation ne sera pas le chemin le plus simple à arpenter.

Innover est-ce un choix ou une nécessité ?

L’utilité de l’innovation en ESN est une question légitime. De notre point de vue, deux routes sont possibles. Le premier chemin, c’est l’adoption d’une stratégie passive. L’innovation est menée, a minima, on utilise une nouvelle méthodologie ou technologie uniquement lorsqu’on y est  contraint ou lorsque celle-ci est mature et éprouvée depuis longtemps (c’est à dire trop longtemps). Cette attitude, au demeurant prudente, n'en reste pas moins risquée. Le plus grand risque étant de devenir rapidement obsolète. Dans un secteur en mutation constante, l’obsolescence est synonyme de mort. La seconde route, au contraire privilégie la proactivité. Plus exigeante, cette voie nécessite d’être en veille constante, à l’écoute des signaux faibles qui vont permettre de transformer une contrainte fonctionnelle ou technique en opportunité d’évolutions et d’améliorations. Il s’agit d’être moteur du changement, d’agir plutôt que subir et d’aller de l’avant. Cette voie est exigeante :  il ne s’agit pas uniquement de se tenir au courant des nouveautés avec quelques sources d'informations en ligne, mais bien d’aller chercher l’information au travers de conférences, de meetup, de tests pratiques. Pour cela, savoir qu’une nouveauté existe ne suffit pas. Il faut l’appréhender, l’apprendre, échanger des bonnes pratiques avec d'autres professionnels, la tester si possible en application concrète. Vous l’aurez compris, nous n'avons pas choisi la facilité. Par conviction, nous privilégions la seconde option.

L'innovation, le pari de l'intelligence

Au moins trois raisons nous ont poussé à ne pas être dans la seule exécution et la recherche passive de solution technologique. Pour nous, innover est synonyme de création de valeur, permet de transformer des contraintes en opportunité et offre le moyen d'anticiper les changements sans les subir.

Créer de la valeur

L’innovation en est une des clés pour se différencier et créer de la valeur pour une entreprise. C'est aussi le moyen d'être proactif. Quand nous nous donnons les moyens de découvrir une nouvelle technologie dès sa sortie par exemple, il nous est plus facile de la proposer rapidement à l'un des nos clients. Nous lui offrons alors un avantage concurrentiel. L'innovation permet donc une différentiation de notre équipe et de ses compétences pour notre client. Pour contextualiser, prenons un exemple concret. En 2016, nous avons commencé notre premier projet avec la version 2 d'Angular, alors tout juste sortie des cartons de Google. Non contents d'utiliser ce Framework flambant neuf, nous avons cherché un outils permettant de réaliser des tests automatiques et nous avons découvert le Framework de test Protractor. Il nous a permis de capitaliser rapidement le temps à passer sur le test de nos écrans en automatisant l'ensemble des tests d'intégration. Nous avons découvert cet outil lors d'une session R&D où nous voulions experimenter de nouvelles manières de tester nos écrans. Sans cette remise en question, cette volonté de découverte, d’apprentissage et de changements nous ne l'utiliserions sans doute pas aujourd’hui. Nous serions sans doute moins qualitatif et nous délivrions moins de valeur à notre client sans ce mode de fonctionnement qui nous permet plus d'automatisation dans notre stratégie de tests.

Transformer une contrainte en opportunité

Une contrainte, bien qu'à priori un frein, peu permettre de trouver, voire de créer des solutions innovantes que nous n'avions pas imaginées auparavant. Si tant est que celle-ci soit abordée avec un esprit créatif. En effet dans nos métiers, des habitudes et des savoir-faire peuvent parfois être des œillères nous obligeant à suivre un chemin étriqué. Par exemple, dans le cadre du projet cité ci-dessus, nous avions besoin de mettre en place des fonctionnalités ergonomiques avancées que le Framework Angular ne supportait pas par défaut. La solution passive aurait pu être de trouver un moyen de les implémenter dans une technologie plus éprouvée qu'Angular et de faire cohabiter les deux. Cependant cette stratégie ne nous convenait pas. Nous avons donc décidé de créer nous même une librairie, que nous avons publié nous permettant ainsi de partager notre savoir créer. Il s'agit de ng2-gridstack. Pour un autre projet, nous devions réaliser une application mobile, mais le délai était très court et le budget serré. À l'époque, nous n'avions réalisé que des applications avec Xamarin. Et nous savions que nous n'étions pas capables de tenir le délai. Nous nous sommes donc lancer dans l'apprentissage d'une technologie complètement différente: IONIC. Celle-ci nous a permis de tenir les délais car les temps de développements pour des écrans similaires sont sans commune mesure avec Xamarin, qui par ailleurs possède ses qualités propres. Nous en reparlerons dans des articles futurs.

Anticiper et ne pas être à la traîne

L’évolution du secteur est tellement rapide qu’il faut sans cesse être capable de repositionner le curseur permettant d’établir le bon moment (ni trop tôt ni trop tard) pour investir dans un nouveau langage, une nouvelle méthodologie de tests ou un nouvel outil de travail. Un test peut prendre alors prendre la forme d’un proof of concept ou POC comme nous le verrons dans le second article de cette série. À l'instar de la recherche fondamentale, l'innovation ne nous permet pas de savoir à l'avance ce que nous allons pouvoir en retirer. Mais nous savons que nous allons en retirer quelque chose. Certains tests ne seront pas concluants, certaines voies seront sans issues mais l'arbre des possibilités ne pourra que pousser si on l'arrose avec de la créativité et de l'ouverture d'esprit.

Pour aller plus loin

Grâce à ce premier éclairage, on sent bien que l’innovation est l'un des moteurs qui va nous permettre d’être à l'avant garde et sentir les évolutions et changements à venir. Si ce qu'on vous a raconté jusqu’à présent vous parle un peu, si vous commencez à vous poser pas mal de questions alors tenez vous prêts, d'autres articles sont en cours de rédaction sur le sujet.