La Power Platform de Microsoft et notamment Power Apps promet de réaliser facilement des applications « low code ». Le slogan de Microsoft sur leur outil est « Aujourd’hui, tout le monde peut créer et partager des applications ‘’low code’’ avec Microsoft Power Apps ». Au cours de différents projets, j’ai pu identifier certaines forces et faiblesses de l’outil. Parmi les forces, on peut entre autres noter :
- Pas de perte de temps à créer des infrastructures (base de données, serveurs web, etc…) comme dans un projet de développement classique,
- Prise en main de l’outil et développement de fonctionnalités hyper rapides,
- Possibilité de faire de la correction en direct pendant une démonstration.
Et côté faiblesses :
- Impossibilité de développer à plusieurs sur une même application en même temps,
- Difficulté de maintenir une application complexe.
Fort de ce constat, je trouve que l’outil est particulièrement adapté aux méthodes agiles, je vous détaille pourquoi en reprenant les 4 valeurs du Manifeste agile.
Les individus et leurs interactions plus que les processus et les outils
L’idée de Microsoft, c’est de permettre aux utilisateurs finaux de pouvoir créer leurs propres applications facilement. Qui de mieux que l’utilisateur final pour définir ce dont il a besoin ? Dans les faits, on s’aperçoit que ce n’est pas si simple que ça. En effet, quelques éléments peuvent apporter de la complexité technique au produit (interaction avec d’autres outils du SI, subtilité de certains composants). Une combinaison qui, je trouve, marche bien, est de créer les applications de concert entre utilisateur final et développeur. Cela peut se traduire de plusieurs manières, le développeur crée et l’utilisateur final teste. Ou encore l’utilisateur final crée et le développeur apporte un appui technique sur les blocages rencontrés. En tous cas jouer la complémentarité, en équipe utilisateur + développeur.
Un logiciel opérationnel plus qu’une documentation exhaustive
Le gros avantage de Power Apps selon moi, c’est la rapidité avec laquelle on peut créer des fonctionnalités et les mettre à disposition des utilisateurs. Cela permet d’effectuer des itérations très courtes ou sprint (jusqu’à la journée) et d’avoir de manière régulière un logiciel fonctionnel.
Cette rapidité est accentuée par le fait que la dette technique est très faible. La plupart des connecteurs sont déjà préconfigurés, le plate-forme Power Apps est prête à l’emploi. On est en environnement cloud, il n’y a pas besoin de passer du temps à créer d’infrastructure et tout paramétrer (base de données, serveur web, temps d’installation). Le cloud permet de se concentrer sur l’essentiel : le métier ; et de créer de la valeur pour le celui-ci de manière aussi frugale que possible (approche agile Lean).
La collaboration avec les clients plus que la négociation contractuelle
Une autre possibilité de Power Apps que j’utilise très régulièrement, c’est la démonstration directement depuis le studio de développement. Le succès de Teams et des autres outils de visioconférence amplifie cette pratique. Cela permet de récolter le feedback des utilisateurs et de faire des adaptations en direct en quelques secondes. Effet waouh garanti !
L’adaptation au changement plus que le suivi d’un plan
La simplicité de l’outil permet une adaptation au changement aisée. Pas besoin de semaines de formation ou de gros transfert de compétences pour être autonome sur Power Apps. Pas besoin de connaissance d’un langage de programmation spécifique. Le risque lié à un départ ou changement de développeur est donc assez contenu.
Les changements de fonctionnalité et des besoins en cours de route sont possibles et même bienvenus s’ils permettent d’augmenter la valeur créée pour le métier (on développe les produits pour les utilisateurs métiers, et pas juste pour se faire plaisir entre informaticiens). Power Apps permet l’expérimentation lorsqu’elle est utile au produit / au projet ; il permet de prototyper à moindre coût et rapidement (par exemple dans des démarches d’innovation Design Thinking ou pour un Minimum Viable Product en Lean Startup). En outre, ce prototypage peut se faire sur des applications déjà existantes sans impacter les utilisateurs. Ceux-ci ne disposeront de l’évolution que lorsque le développeur publiera sa version.
En conclusion, Power Apps est un outil pertinent pour les méthodes agiles
Power Apps s’adapte donc très bien aux approches agiles. Attention cependant, il faut utiliser l’outil comme il faut pour éviter les dérives (applications trop complexes notamment). Des bonnes pratiques restent à définir et mettre en place dans l’entreprise pour réduire ces risques, sans brider sa puissance et sa souplesse pour autant.
Vous avez une question concernant la Power Platform ?