Comment le SaaS transforme le développement logiciel
Au début d’Internet, il n’y avait pas beaucoup d’applications Internet. Au lieu de cela, les applications ont été massivement écrites pour les systèmes d’exploitation Windows, Linux et Macintosh. La livraison de logiciels signifiait souvent copier un binaire sur un serveur ou créer un programme d’installation Windows à écran bleu et le mettre à disposition sur un CD-ROM pour le vendre dans des magasins physiques. (Je me souviens quand vous deviez payer un supplément pour que votre produit soit livré sur 25 disquettes au lieu de ce CD-ROM.)
Les versions ont été faites très rarement, juste une fois par an ou même plus longtemps. Les cycles de développement étaient mesurés en semaines au mieux, et le temps entre la découverte d’un bogue et la livraison d’un correctif était souvent mesuré en mois. Les versions étaient monolithiques. Une version devait être aussi proche que possible de la perfection, car les opportunités de fournir des corrections de bogues étaient peu fréquentes et difficiles à gérer.
Les choses évoluent un peu plus vite aujourd’hui, en grande partie grâce aux applications logicielles en tant que service (SaaS), qui représentent une part importante du développement effectué aujourd’hui. Les applications SaaS ont généralement une API back-end basée sur JSON qui communique avec un navigateur quelconque. Ils peuvent également communiquer avec des applications natives sur les téléphones Apple et Android, mais de plus en plus, l’appareil sur lequel une application s’exécute devient sans objet.
Quel que soit le frontal, l’ensemble de l’approche est un changement radical par rapport à l’application Windows ou Mac classiquement distribuée. Les applications SaaS peuvent être réparées, mises à jour et déployées en quelques minutes au lieu de plusieurs mois. SaaS a fondamentalement changé la façon dont les logiciels sont développés et livrés.
Alors pourquoi les applications SaaS sont-elles devenues si désirables et couronnées de succès ?
Il y a quatre raisons que je peux voir:
- Les équipes de développement contrôlent toute l’exécution du code.
- Le code s’exécute dans un environnement strictement défini et hautement contrôlé.
- La livraison peut être immédiate et fréquente.
- Les équipes peuvent observer comment leurs clients utilisent le logiciel.
Tous vos codes nous appartiennent
Dans le monde client/serveur, nous avons écrit et compilé du code à l’intérieur de l’entreprise, mais nous avons ensuite publié ce code dans la nature, où il a été exécuté sur qui sait quelles machines, systèmes d’exploitation et configurations. Bien sûr, tout fonctionnait sur Windows et sur Mac, mais ces machines étaient toutes différentes et nous n’avions que peu de contrôle sur la manière dont le code était exécuté ou sur la configuration de l’application. Si vous disposiez de nombreux paramètres d’application, les utilisateurs pourraient configurer l’application d’une manière que vous n’auriez jamais envisagée ni même crue possible.
Avec l’avènement du SaaS, aucun code n’est diffusé dans la nature. Le back-end d’une application SaaS s’exécute totalement sous notre contrôle et dans des environnements que nous configurons, réglementons et même modifions selon les besoins. Le code frontal réside également sur nos serveurs, livré sur demande et exécuté dans un nombre limité de navigateurs Web.
Un environnement strictement défini
Oui, il existe de nombreux navigateurs, mais le nombre est limité, et les navigateurs sont pour la plupart un environnement connu et testable. Les applications SaaS ne rencontrent qu’un nombre limité d’environnements d’exécution, ce qui permet aux équipes de développement d’effectuer un travail de test plus approfondi qu’elles ne le pourraient dans le modèle de distribution classique.
Des problèmes existent toujours avec la variété des téléphones Android, mais de plus en plus, les développeurs proposent leur application dans des solutions basées sur un navigateur, ce qui réduit les inquiétudes concernant la multitude d’appareils physiques différents exécutant de nombreuses versions différentes de votre logiciel.
Et maintenant qu’Internet Explorer est enfin sorti de notre misère, les navigateurs restants font un assez bon travail pour mettre en œuvre les normes qui facilitent le développement d’applications Web au quotidien.
Livraison immédiate et fréquente
Les applications SaaS mettent fin à la peur de livrer un bogue inconnu et époustouflant aux clients, sans aucun moyen de le corriger pendant des semaines ou des mois. L’époque de la livraison d’un correctif à un produit installé est révolue. Au lieu de cela, si un bogue catastrophique se fraye un chemin dans le pipeline de développement et dans la production, vous pouvez le savoir dès qu’il se produit. Vous pouvez prendre des mesures immédiates pour revenir à un bon état connu ou désactiver un indicateur de fonctionnalité pratiquement avant même que l’un de vos clients ne le remarque. Souvent, vous pouvez corriger le bogue et déployer le correctif en quelques minutes au lieu de plusieurs mois.
Et ce ne sont pas que des bugs. Vous n’avez plus besoin de conserver les nouvelles fonctionnalités en inventaire, en attendant la prochaine version majeure. Auparavant, si vous construisiez une nouvelle fonctionnalité dans les premières semaines suivant une version majeure, cette fonctionnalité devait attendre potentiellement des mois avant d’être mise à la disposition des clients. Désormais, une application SaaS peut fournir une nouvelle fonctionnalité immédiatement aux clients chaque fois que l’équipe déclare qu’elle est prête.
Totalement observable
Étant donné qu’une application SasS s’exécute dans un ensemble limité de navigateurs, il est beaucoup plus facile d’observer ce qui se passe dans l’environnement d’exécution. Des outils comme Datadog et Dynatrace vous permettent d’observer et de suivre tout ce qui se passe dans votre application. La surveillance des erreurs avec des outils comme Rollbar peut signaler les problèmes et les problèmes du client au fur et à mesure qu’ils surviennent, réduisant considérablement votre temps moyen de prise de conscience.
L’observabilité devient ainsi, en effet, une chose en temps réel plutôt que quelque chose qui se produit indirectement lorsque les clients signalent des problèmes. Les applications s’exécutent sur des appareils connectés à Internet, qu’il s’agisse d’un ordinateur avec un navigateur ou d’un appareil mobile, et peuvent donc facilement signaler les problèmes, comment l’application est utilisée et ce que l’application fait.
Connaissez votre client
Dans le monde client/serveur, les éditeurs de logiciels traditionnels avaient du mal à savoir qui étaient leurs clients, et encore moins ce qu’ils faisaient avec le logiciel et à quelle fréquence ils l’utilisaient. Vous pourriez littéralement acheter un logiciel, l’installer et l’utiliser sans que personne d’autre ne sache que vous le faisiez.
Les applications SaaS nous permettent de voir à peu près tout ce que nos clients font avec le logiciel. Leurs données sont stockées sur nos serveurs, et nous pouvons voir ce qu’ils font maintenant et l’historique de ce qu’ils ont fait dans le passé. Ce n’est pas Big Brother qui regarde, ou une menace pour la vie privée des clients. Les applications SaaS ne prennent pas l’habitude de stocker des informations personnellement identifiables. Au contraire, la surveillance du comportement des clients permet aux entreprises SaaS de s’associer plus étroitement avec les clients et de travailler pour les aider à voir la valeur réelle de nos produits en examinant leurs habitudes d’utilisation et leurs données.
En conséquence, nous pouvons agréger l’activité des clients et concentrer le développement dans les zones à forte utilisation. Nous pouvons voir comment les clients utilisent et n’utilisent pas le produit. Nous pouvons les aider à mieux utiliser le produit. Nous pouvons indiquer où ils utilisent les meilleures pratiques et où ils ne le font pas. Nous pouvons adapter nos efforts aux clients qui ont besoin d’aide et passer notre temps de manière plus productive.
Savoir qui sont vos clients et comment ils utilisent votre produit est une information précieuse, et les applications SaaS vous permettent de le faire. Cela conduit à de meilleurs résultats pour votre entreprise et vos clients. SaaS n’est pas seulement un meilleur moyen de fournir des logiciels, mais un moyen de créer des logiciels qui répondent mieux aux besoins de vos clients.
Copyright © 2022 IDG Communications, Inc.