Stratégie pour devenir une « usine à applications » : comment une petite équipe de créateurs peut créer des solutions d'entreprise alliant évolutivité et rapidité

Hyper Agilité
This is some text inside of a div block.
Sylvain Hamel • Vice-président
7/8/2024
Temps de lecture : 10 minutes

Lorsqu’on hésite entre créer une solution soi-même ou se la procurer ailleurs, la première option comporte les plus grandes incertitudes.

• Combien cela coûtera-t-il?

• Combien de temps faudra-t-il?

• Disposons-nous des ressources et des compétences nécessaires?

• Pouvons-nous assurer la maintenance de la solution?

Confrontés à ces questions pratiques, les services informatiques soutiennent souvent les projets de développement personnalisés avec lenteur lorsque leur nature n’est pas ‘critique’.

Ce qui leur manque pour remédier à cela : les solutions low-code modernes qui éliminent le risque associé à la décision de « concevoir » des solutions personnalisées ‘faites maison’.

Les solutions low-code modernes sont faciles à déployer et à apprendre.

Avec ce type de plateforme d'applications d'entreprise, les individus ou les petites équipes travaillant en mode ‘usine à applications’ peuvent fournir des logiciels de qualité d’entreprise avec de courts délais qui se mesurent en semaines ou en mois plutôt qu'en trimestres et en années.

Tout est une question d’optimisation en termes d'agilitél'agilité du projet à s'adapter tout au long du processus de création du logiciel, et l’agilité de l'entreprise à saisir toutes les occasions à la volée dès qu'elles se présentent.

Une usine à applications suit le rythme du changement à l’aide d'une transformation numérique rapide, ce qui rehausse la valeur de l'informatique en tant que partenaire de confiance dans l'ensemble de l'organisation.

L’écart de maturité

Chaque solution logicielle, même les plus ‘petites’, exige le même niveau d'excellence que les solutions principales sur lesquelles se reposent une organisation.

Commençons par comprendre l'écart de maturité entre les logiciels achetés sous licence, et l'effort de développement interne.

Les solutions d’entreprises sont classables en trois grandes catégories :

1. Celles qui sont critiques et essentielles à la mission des entreprises : elles sont élaborées par des équipes de développeurs professionnels spécialisés fournissant une assistance tout au long du cycle de vie.

2. Les solutions en mode SaaS : nous parlons ici d’offres standardisées de portée souvent départementale, proposant une connectivité API pour étendre leur portée.

3. Tout le reste : les solutions improvisées, mal adaptées, utilisant Trello, Access, Excel, SharePoint et d'autres outils d’usage généralisé et impliquant :

- Des projets personnalisés qui ne s'intègrent pas facilement aux environnements de base ou aux environnements SaaS.

- Des flux de travail créés par des employés sans ressources et dépourvus de normes de développement formelles.

- Une accumulation importante et croissante d'éléments sur la liste de souhaits, de projets inachevés et d'idées de marathon de programmation.

- De nouvelles exigences commerciales non encadrées par les solutions principales qui jouent un rôle critique dans le fonctionnement des organisations.

Cette troisième catégorie est importante pour maintenir une efficacité opérationnelle. Elle permet de trouver des moyens d'économiser du temps et de l'argent. Elle aide à mieux satisfaire les clients en répondant rapidement à leurs demandes.

Elles offrent aussi une belle expérience utilisateur puis qu’avec elles, les employés profitent d’applications attrayantes, intéressantes, hautement qualitatives et bien supportées. Elles sont un bon moyen de trouver une réponse adaptée aux nouvelles occasions et aux nouvelles idées, via de nouveaux canaux, de manière adaptée.

Pourtant, les organismes de réglementation attendent des entreprises un maintien élevé et constant de la maturité de leurs systèmes pour l'ensemble de leurs solutions.

En d’autres mots, cette troisième catégorie « Tout le reste » doit bénéficier d’une connectivité, de résilience et de sécurité à des niveaux appropriés.

Pour les organisations habituées à des solutions improvisées, cela représente un vrai nouveau défi.

« Notre service informatique ne fait pas ça. »

Les logiciels personnalisés n'ont plus la cote.

Ceci est partiellement lié aux vagues successives de nouvelles réglementations concernant la protection de la vie privée et des renseignements permettant d'identifier une personne.

La sécurité de l'information et la gestion des violations ont accru les exigences de conformité de telle sorte qu'il est devenu difficile de justifier des projets de moindre envergure.

Les systèmes critiques et les solutions SaaS tierces ont des processus de gouvernance informatique matures intégrant la gestion du cycle de vie des applications (ALM), l’intégration et la livraison en continu (CI/CD), et enfin, la gestion des données d'entreprise. Les petits projets peuvent difficilement s'inscrire dans ces cadres.

Du fait de cette prudence, les services TI investissent beaucoup dans leurs relations extérieures avec leurs fournisseurs, leurs prestataires de services et leurs partenaires.

On peut aussi arriver à un degré plus extrême : le service informatique peut perdre toutes les compétences nécessaires à la création de solutions destinées à différents métiers pour leurs services internes.

 

Comment un projet de trois mois ou de trois semaines s'inscrit-il dans ce type d'organisation?

En général, il ne trouve pas sa place. La réponse devient alors: « Notre service informatique ne peut pas accomplir cela. »

Les coûts de conformité et de gouvernance sont répercutés sur l'entreprise en amont. Il devient alors difficile de justifier le bien fondé de projets personnalisés à petite échelle.

Les services informatiques refusent aussi des projets de développement avec facilité si leurs risques compromettent certains avantages opérationnels et stratégiques.

Plutôt que de créer des solutions internes, les organisations favoriseront n'importe quelle autre approche, même si elle est imparfaite.

Une approche courante consiste à uniquement créer des solutions dans des environnements existants, en utilisant les cadres de gouvernance et de conformité d'un fournisseur.

Le risque couru est celle d'une personnalisation excessive. Et si vous étendez une solution au-delà de ses limites fonctionnelles, d’importantes contraintes peuvent se dresser contre vous lors d’une mise à jour vers une nouvelle version par exemple.

De plus, cette approche rend la migration vers une nouvelle solution plus difficile et coûteuse, tout en entraînant un manque de flexibilité et une dépendance excessive aux fournisseurs.

Une autre manière de faire consiste à s'appuyer sur le développement citoyen en permettant aux utilisateurs finaux de créer leurs propres solutions en utilisant leurs connaissances en processus d’affaires d'entreprise.

Les plateformes low-code disponibles pour les développeurs citoyens s'améliorent. Mais les risques d'erreurs de conception sont importants sans accompagnement.

Les professionnels de l'informatique qui se sentent souvent limités par les particularités des environnements low-code ont aussi besoin d’être accompagnés.

 

C’est pourquoi il existe une meilleure solution.

Il est temps de reconsidérer le rôle des services informatiques et de les considérer en réels partenaires d’affaires pouvant rapidement fournir des solutions d'entreprise personnalisées.

Plan pour une usine à applications

Que faut-il comprendre du mot « usine »?

·     Votre potentiel d'évolutivité permet de répondre aux demandes clients de manière optimale.

·     Votre prévisibilité aux normes de qualité atteint un niveau de fiabilité de 99,999 %.

·      Vous avez la flexibilité de créer ce que le client souhaite avec une précision sans pareil.

Oui, une usine à applications, c'est tout cela : l'évolutivité, la prévisibilité et une flexibilité au service des utilisateurs professionnels de votre organisation.

L’évolutivité : rationalisez le processus de création d'applications professionnelles qui offrent une expérience utilisateur vraiment excellente.

La prévisibilité : tout ce que vous construisez fonctionne comme prévu, avec la conformité et la gouvernance requises.

La flexibilité : vous pouvez créer tout ce que vous modélisez. Quelle que soit la taille de l’application, peu importe le domaine qu’elle sert.

Bien entendu, si vous cherchez à créer quelque chose de très technique comme des systèmes intégrés en temps réel ou des systèmes de contrôle spécialisés, l'approche low-code n'est peut-être pas faite pour vous.

Tous les projets ne sont pas adaptés aux plateformes d'application low-code. Mais pour ceux qui le sont, une usine à applications crée des conditions idéales pour une mise en œuvre réussie.

Voici les trois éléments nécessaires à la mise en place d'une usine à applications au sein de votre organisation :

1. Des créateurs de solutions

2. Une plateforme low-code de niveau entreprise

3. Un énoncé de mission

1. Les créateurs de solutions possèdent des compétences transversales dans des domaines complémentaires :

- L’analyse opérationnelle : ils effectuent la modélisation des données et des processus grâce à une connaissance approfondie d'un domaine d'activité.

La consultation fonctionnelle : ils traduisent les modèles en logiciels fonctionnels incluant des menus, des écrans, des rapports, des listes et des tableaux de bord.

- La gestion de projet : ils communiquent les attentes des clients, suivent les pratiques de développement agile et s’assurent de répondre aux attentes de rapidité d'exécution.

Programmation : ils améliorent les fonctionnalités avec du code personnalisé si nécessaire, pour créer une recette secrète qui vous est propre. C’est ce codage représentant 10 % des efforts de développement qui distingue votre solution de celle de vos concurrents.

Il est important de noter que hors de ce contexte low-code, chacune de ces missions est occupée par une personne différente.

Dans une usine à applications, la même personne peut tout faire.

Une équipe de deux personnes peut très bien se partager les responsabilités.

(Nous recommandons aussi de faire appel à un expert UI/UX comme ressource partagée entre les différents projets)

2. Une solution d’entreprise low-code nouvelle génération transforme le concept de d’usine à applications en réalité.

Votre objectif est de permettre aux créateurs de solutions de traduire les exigences des clients en applications d’affaires avec le moins d'obstacles possible.

Lors de la sélection d'une solution low-code pour une usine à applications, l'exigence principale est la facilité d'adoption.

Vos créateurs de solutions auront un large éventail de rôles et de tâches alors vous souhaitez qu'ils changent de contexte le plus facilement possible.

Une plateforme low-code doit les aider à suivre l'ensemble du processus, de la consultation initiale à la mise en service.

Vous aurez également besoin d'une solution de niveau ‘entreprise’ pour adopter une approche standard en matière de conformité, de gouvernance et de support, ce qui répond à la principale préoccupation liée à la création d'applications d'entreprise métiers.

La prochaine génération de plateformes low-code pourrait vous surprendre.

Bien que le mouvement low-code ait progressé au cours de la dernière décennie, un grand nombre des principales plateformes low-code actuelles sont devenues obsolètes sur plusieurs points importants.

Les plateformes low-code modernes offrent un éventail impressionnant de possibilités.

Comment choisir une solution low-code pour une usine à applications?
Voici sept caractéristiques d'une plateforme low-code de prochaine génération pour une usine à applications:
1. Conception axée sur le domaine. Passez directement d'un modèle de domaine à un code exécutable sans avoir besoin de documents et de diagrammes inutiles. Dans le cadre de la conception axée sur le domaine, le document est le programme.
2. Commencer par les cas d'utilisation. Au lieu de créer des applications à partir de CRUD (Create, Read, Update, and Delete, c.-à-d. réer, Lire, Mettre à jour et Supprimer), pensez à des verbes qui reflètent des actions d’affaires (p. ex. Approuver/Rejeter, Transférer/Suspendre/Résoudre). En vous concentrant sur les actions que les utilisateurs font dans l'application, vous alignerez rapidement les actions sur les rôles, les autorisations et les API.
3. Architecture événementielle avec API ouvertes. Lorsque quelque chose d'important se produit (p. ex.« Commande approuvée »), vous devez envoyer des notifications et déclencher des actions dans d'autres systèmes. Avec une architecture événementielle, vous définirez des déclencheurs basés sur des actions commerciales de haut niveau, plutôt que sur des changements de champ de bas niveau (comme c'était le cas avec les générations précédentes de plateformes low code). Il est ainsi plus facile de comprendre, plus rapide de créer des solutions et plus accessible pour les autres développeurs qui utilisent vos API ouvertes.
4. Majoritairement sans code mais aussi adapté à la programmation sans aucune limite si nécessaire. L'approche priorisant le développement « majoritairement sans code » traduit une conception axée sur le domaine, les actions d’affaires et les événements (n° 1 à n° 3) directement en applications fonctionnelles qui peuvent être facilement améliorées à l'aide de composants sans code. La convivialité du code permet aux développeurs d'accéder à des langages de développement établis (p. ex. JavaScript/Node.js) pour créer de nouveaux actifs de code à encapsuler comme des blocs de construction sans code pour les réutiliser dans de futures applications.
5. Environnement de création d'applications intégré. Réduisez ou éliminez le changement de contexte entre les différents environnements pour l'interface utilisateur, le codage, le contrôle du code source, la gestion des bases de données et les pipelines CI/CD. Cela permet à une petite équipe de rester sur la bonne voie sans avoir à apprendre et réapprendre différentes interfaces.
6. Des applications au pixel près. Vos utilisateurs finaux méritent des expériences Web et mobiles attrayantes, où la marque est magnifiquement représentée, qui ressemblent à leurs applications préférées. Libérez la créativité de vos créateurs de solutions en leur donnant la possibilité de créer des applications au pixel près qui améliorent l'expérience de l'utilisateur, s'alignent sur la marque de l'entreprise et dégagent une image de qualité sous tous ses aspects.
7. Les millisecondes comptent toujours. La performance des applications n'est pas seulement essentielle pour les utilisateurs finaux d'une application finale, mais c'est aussi un aspect perceptuel clé de la réussite des projets conçus, approuvés, construits et déployés. Dans le contexte d'une usine à applications, il n'y a pas à présenter des excuses pour une démo lente ou des différences notables entre la phase d'essai et le déploiement. Vous souhaitez des performances rapides comme l'éclair, sans retards ni décalage.

L’énoncé de mission est un élément essentiel d'une usine à applications.

Elle définit ses objectifs, ses attentes et ses critères de réussite.

En voici un exemple :

* Notre objectif : créer une usine à applications en tant que ressource permanente fiable pour élaborer des solutions d'entreprise flexibles et conformes à un niveau professionnel.

* Nos attentes : notre équipe principale d'analystes d’affaires, de consultants fonctionnels et de programmeurs fournira un soutien consultatif de la plus haute qualité aux parties prenantes de l'entreprise sur des projets de développement personnalisés d'une durée de trois semaines à trois mois.

* Notre promesse : nous faciliterons la tâche de nos clients dans chaque unité opérationnelle en centrant la conversation sur les problèmes de l'entreprise. Vous pouvez nous confier les aspects techniques.

==

Nos critères de réussite :

• Réponse rapide aux exigences des entreprises grâce à des solutions personnalisées low code.

• Satisfaction des parties prenantes lors de la traduction des exigences commerciales en applications complètes;

• Réutilisation pour élargir le champ d'application à de nouveaux cas d'utilisation.

L’usine du « oui »

À vos marques, prêts, créez

L'usine à applications offre aux services informatiques un moyen viable de fournir des solutions d'entreprise personnalisées avec des délais rapides.

Une usine à applications peut faire une énorme différence simplement en se concentrant sur des projets d’affaires importants qui étaient auparavant ignorés ou mis de côté.

Au lieu de devoir toujours dire « non » ou plutôt que de mettre les unités opérationnelles dans une longue file d'attente pour le développement, une petite équipe dédiée peut grandement contribuer à restaurer la confiance dans l'informatique en tant que fournisseur de solutions.

En réussissant à résoudre des problèmes métiers réels, l'usine à applications est une fondation adaptée au perfectionnement des talents au sein du service informatique, et offre une croissance et une compétitivité à l'ensemble de l'entreprise.

Et lorsque quelqu'un dans l'entreprise vous demandera si vous pouvez créer une solution pour lui, vous serez prêt à répondre avec un« oui » clair et confiant.

À propos de DAZZM

DAZZM est une plateforme de services gérés à 360 degrés en mode cloud, et répond à un modèle favorisant le développement sans code. Elle garantit que votre investissement informatique quotidien génère des retours financiers à court terme.

De la rapidité, de l’agilité, de la créativité sans limite

Gérez la transformation numérique de toute votre organisation. Modernisez vos processus de développement et de déploiement. Créez de belles applications.