stratégies de développement d'une application

Développement d'applications : 3 stratégies de développement de votre application

05 mars 2021

Avec la transformation numérique, les entreprises ont un besoin toujours plus important d’applications métier pour faciliter et améliorer leur fonctionnement. Mais avant d’entamer la réalisation des objectifs fonctionnels, il faut produire à moindre coût l’architecture logicielle et le code purement technique nécessaires à toute nouvelle application.

Pendant longtemps, le développement logiciel est resté très artisanal : on écrivait tout le code manuellement.

Puis sont arrivés les générateurs de code ! Dans le cas d’un langage orienté objet, ils permettaient de générer le code d’une classe entière à partir du diagramme UML par exemple.

Ensuite, les plateformes low-code étaient capables de produire l’architecture et l’ensemble du code-source nécessaires pour une première version opérationnelle d’une application.

Enfin, les outils no-code promettent d’obtenir une véritable application sans avoir à écrire une seule ligne de code à la main.

Question : pourquoi choisir une production manuelle, une génération low-code ou un outil no-code ?

1 - Production manuelle

Une application informatique, c’est comme un livre… Pour raconter une histoire, il faut écrire tout le texte organisé en paragraphes et chapitres, c’est-à-dire tout le code-source organisé en méthodes, classes et fichiers.

Ce mode de production nécessite une équipe pluridisciplinaire : développeurs « front », « back », « fullstack », architectes logiciel et bases de données, …

L’appartenance à l’équipe n’est pas réservée aux profils techniques. On peut trouver aussi des ergonomes (UX), des graphistes (UI) et, s’il s‘agit d’une équipe agile, un Scrum Master ou un Product Owner.

Pourquoi tout écrire à la main

  • Pour obtenir une application répondant parfaitement aux besoins fonctionnels de l’entreprise
  • Pour réaliser une application solide sur plusieurs années
  • Pour faciliter la maintenance et l’évolution de l’application
  • Pour garder la maîtrise sécurisée totale du code-source et des données
  • Parce qu’on a le budget et les ressources humaines !!

Exemple de cas d'utilisation

La Direction Informatique d’une entreprise se voit confier la refonte de la principale application métier, celle qui est au cœur du Système d’Informations et utilisée par la quasi-totalité des collaborateurs.

L’objectif ici est de construire quelque chose de solide et durable qui engage la DSI sur plusieurs années. Généralement, pour ce genre de projet qui arrive tous les trois ou cinq ans, le budget est conséquent et confortable.

Une solution peut être de réaliser cette nouvelle application « de A à Z » afin d’en maîtriser parfaitement la construction et les évolutions pour correspondre au maximum à l’organisation et aux procédures fonctionnelles de l’entreprise.

Dans ce cas, une production manuelle de l’architecture et du code par une équipe expérimentée, si possible avec des ressources internes, est probablement la meilleure solution. Le facteur temps n’est pas primordial : la Direction Informatique préfèrera faire bien plutôt que faire vite.

Et, au-delà du mode de développement choisi, on s’assurera des chances de succès grâce à une organisation agile, avec l’implication totale de la MOA et des Métiers, et une démarche DevOps.

2 - Génération low-code

La montée en puissance du low-code vient d’un constat très simple : le développement d’applications est beaucoup trop long et beaucoup trop cher !

Car on développe tout à la main…

L’autre élément en faveur du low-code est une certaine pénurie des développeurs informatiques. Les demandes pour de nouvelles applications sont pourtant en très forte hausse alors que les ressources disponibles sont en baisse.

Selon la définition de Forrester, une plateforme low-code permet une livraison rapide des applications métier complexes avec un minimum de développement manuel et une configuration et un déploiement rapides.

Pourquoi une génération low-code

  • Pour développer plus vite et gagner en productivité
  • Pour produire plus d’applications sans augmenter la taille de l’équipe informatique
  • Pour permettre à la DSI de garder la maîtrise du parc applicatif
  • Pour se concentrer sur les aspects fonctionnels en se déchargeant du code purement technique
  • Pour améliorer la réactivité de la Direction Informatique en délivrant rapidement les bonnes applications au bon moment

Exemple de cas d'utilisation

Un département de l’entreprise a besoin d’appliquer de nouveaux traitements sur les données. Ce besoin est pressé car il permettrait de répondre à une nouvelle demande des clients. Si la Direction Informatique annonce plusieurs mois de réalisation parce qu’elle ne dispose pas de ressources suffisantes ou qu’elle ne sait pas fournir rapidement une première version de l’application, le département demandeur va renoncer, frustré. Ou, peut-être pire, va répondre à ce besoin par ses propres moyens, par exemple un fichier Excel. C’est ce qu’on appelle le « shadow IT » qui pose des problèmes, notamment de sauvegarde et de sécurité.

Avec une plateforme low-code, les équipes de la Direction Informatique sont capables de générer très rapidement le socle technique de la future application. Une solution low-code peut produire en quelques minutes la quantité de fichiers et de code-source qu’une équipe de développeurs aurait mis plusieurs semaines à écrire manuellement.

Et on peut travailler tout de suite sur le code métier et les règles fonctionnelles afin de répondre rapidement au besoin du demandeur.

3 - Le recours au no-code

La montée en puissance du no-code vient elle aussi d’un constat très simple : les utilisateurs fonctionnels ne pouvaient pas réaliser eux-mêmes les application Métier dont ils ont besoin.

D’où le problème de « shadow IT » mentionné plus haut, qui prend souvent la forme de fichiers Excel qui se « promènent » un peu partout dans l’entreprise.

La promesse du no-code est particulièrement alléchante : pas besoin de compétences techniques en développement pour créer toutes les applications dont on a besoin !

Il suffit de « dessiner » l’application voulue en assemblant des composants prêts à l’emploi.

Pourquoi aller vers le no-code

  • Pour obtenir très vite le résultat d’une idée ou la réponse à un besoin
  • Pour permettre aux profils fonctionnels de se doter de meilleurs outils
  • Pour tester une idée ou un concept avec un minimum de budget
  • Pour les applications mobiles simples
  • Pour les sociétés ne disposant pas de compétences informatiques classiques

Exemple de cas d'utilisation

Le service Marketing souhaite promouvoir un nouveau formulaire afin de connaitre davantage certaines caractéristiques des clients de l’entreprise. Plutôt qu’implémenter directement le formulaire dans les sites et applications mobiles proposés par l’entreprise, le recours à un outil no-code pour obtenir très rapidement un exemple du formulaire apparait préférable. Cette « mini-application mobile temporaire » pourra être judicieusement utilisée auprès d’un panel de clients. Une fois, le formulaire parfaitement au point, on pourra alors l’implémenter dans les applications officielles.

Finalement, quel mode de développement choisir ?

Cette question est-elle pertinente ?

On ne choisit pas a priori un moyen de déplacement. C’est en fonction du déplacement que l’on doit effectuer qu’on va choisir le moyen le plus approprié :

  • Si je dois voyager vers un autre pays, je choisis l’avion.
  • Si je dois aller acheter le pain à 500 mètres j’y vais à pied.
  • Si je pars en vacances en famille à des centaines de kilomètres, j’opte pour la voiture.

Même principe ici…

En tant que DSI, je prends en charge un nouveau projet pour une importante application métier, complexe fonctionnellement, stratégique pour l’entreprise devant répondre à des exigences de robustesse et de fiabilité pour une utilisation durant de nombreuses années, je choisis une production manuelle avec une équipe expérimentée.

En tant que DSI, je dois fournir rapidement et avec peu de ressources une petite application métier exploitant des données existantes dans le Système d’Informations, une plateforme low-code permettra d’accélérer considérablement le démarrage du projet et l’obtention d’une première version fonctionnelle.

En tant que DSI, une demande me parvient pour un développement « utilitaire » : un outil d’administration, un formulaire, un PoC pour une éventuelle future application… Je propose l’utilisation d’un outil no-code, dûment testé et approuvé par mes équipes, afin que la personne ou le service à l’origine de l’idée ou du besoin puisse le réaliser en autonomie.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *