Article

KISS : "Keep it Simple, Stupid"

Le principe Kiss pour “Keep it Simple, Stupid” est un principe de conception qui signifie qu’il faut favoriser la simplicité dans la conception et éviter toute complexité inutile. Ce concept est applicable dans de nombreux domaines et nous allons, dans cet article, vous expliquer pourquoi nous vous conseillons de l’utiliser dans le développement informatique.

KISS : “Keep it Simple, Stupid” :

Le principe Kiss pour “Keep it Simple, Stupid” est un principe de conception qui signifie qu’il faut favoriser la simplicité dans la conception et éviter toute complexité inutile.

Ce concept est applicable dans de nombreux domaines et nous allons, dans cet article, vous expliquer pourquoi nous vous conseillons de l’utiliser dans le développement informatique.

Chez Deuse, nous appliquons le principe KISS car nous pensons qu’il permet de développer les meilleures solutions possibles.

KISS VS Over Engineering :

Ce principe est opposé à ce que l’on appelle l’over engineering : le fait de concevoir un produit pour qu’il soit plus robuste ou qu’il ait plus de fonctionnalités que nécessaire pour son utilisation de base et qui rend son processus inutilement complexe ou inefficace.

L’over engineering est généralement utilisée pour “le cas où”, c’est-à-dire, on ajoute des fonctionnalités dont on pourrait peut-être avoir besoin dans le futur mais sans certitude.

illustration de l'over-engineering

Elle est parfois nécessaire mais est souvent perçue comme du gaspillage de temps ou d’argent. Elle diminue la productivité des développeurs car ils doivent construire et maintenir plus de fonctionnalités que prévu qui ne seront peut-être pas utilisées.

Certains développeurs utilisent aussi l’over engineering pour résoudre un problème complexe car ils pensent que la solution est, elle aussi, complexe.

Nous allons voir comment le principe KISS peut les aider à résoudre des problèmes rapidement tout en maintenant un code simple et compréhensible.

Le principe KISS pour trouver votre place sur le marché :

Ne rivalisez pas avec les fonctionnalités :

On a tendance à croire que pour qu’un produit plaise, il doit posséder de nombreuses fonctionnalités. Mais, de manière générale, nous utilisons un produit pour seulement quelques fonctions, pas besoin d’en avoir beaucoup. Développer un produit simple avec quelques fonctionnalités vous permettra de convaincre plus d’utilisateurs.

De plus, plus vous ajoutez des fonctionnalités à votre produit et plus vous augmentez sa complexité ce qui peut rendre son utilisation difficile pour les nouveaux utilisateurs.

Selon Andrew Chen (associé général chez Andreessen Horowitz et conseiller et investisseur pour des startup technologiques), il ne faut surtout pas rivaliser avec les fonctionnalités. Si le concept de base de votre produit ne marche pas, retravaillez-le plutôt que d’ajouter de nouvelles fonctionnalités.

illustration product market fit

Un positionnement différent :

Ce qui importe, c’est de lancer un produit concurrent de par sa position fondamentalement différente sur le marché et non pas par rapport au nombre de fonctionnalités qu’il possède.

Par exemple, si le marché est saturé par des logiciels de comptabilité pour PME, créez un logiciel pour les grands groupes.

Evidemment, toute nouvelle fonctionnalité n’est pas forcément mauvaise mais, elle doit soutenir votre positionnement différent.

Andrew Chen précise que s’il y a déjà un leader sur votre marché, vous ne pourrez pas le détrôner simplement en ajoutant quelques fonctionnalités à celles déjà existantes.

Pour ça, il faudrait que vous développiez un produit complet dès son lancement, ce qui est très difficile à réaliser. Généralement, on lance un produit et en fonction des réactions des utilisateurs, on améliore le produit progresivement.

Le mieux est de partir sur un produit simple avec un positionnement de marché différent.

Il faut que votre produit soit différent, pas forcément mieux, que ceux de vos concurrents.

Le principe KISS pour développer un produit attrayant et intuitif :

Il faut intégrer le principe KISS à chaque étape de la conception de votre produit : son concept de base, son fonctionnement, son design, sa construction, etc. Tout doit être pensé simplement.

Une structure claire :

Pour qu’un produit marche, il faut qu’il soit compréhensible pour les utilisateurs afin qu’ils sachent toujours ce qu’ils doivent faire.

Chaque page de votre produit doit être aussi simple et aussi claire que possible. Si vos pages proposent trop d’options et détournent vos utilisateurs de l’objectif principal, vous perdrez vos utilisateurs qui n’aiment, généralement, pas chercher comment fonctionne un produit.

Développer un produit simple le rendra intuitif ce qui plaira aux utilisateurs.

illustration de wireframes

Des flux optimisés :

Avoir des flux optimisés permet aussi de convaincre vos utilisateurs de rester sur votre produit. A chaque étape, vous perdez des utilisateurs, il est conseillé de réduire le nombre d’étape pour engendrer plus de conversions. Vous devez simplifier la vie de vos utilisateurs.

Exemple : le flux d’inscription : faire au plus simple et le réduire au maximum pour ne pas décourager vos utilisateurs, proposer par exemple de s’inscrire avec Facebook.

Un flux mal optimisé peut générer une mauvaise expérience utilisateur. Il faut privilégier le haut de vos funnels et non ajouter des fonctionnalités supplémentaires dans le bas car elles n’amélioreront pas votre produit.

Le principe KISS pour vendre plus facilement votre produit :

En plus d’être mieux conçus, les produits simples sont également plus faciles à commercialiser. La technologie, de manière générale, n’est pas toujours comprise du grand public et pour chaque produit, il a le choix entre des dizaines d’options similaires. Donc, si vous livrez votre produit de manière simple, vous aurez plus de chance de réussir.

Plus un produit est facile à expliquer et plus c’est facile de le vendre. Albert Einstein disait : “Si vous ne pouvez pas l’expliquer, vous ne le comprenez pas assez bien”. C’était déjà un peu une mise en application du principe KISS.

L’UX des produits (l’expérience utilisateur) et le marketing sont liés : les éléments qui font qu’un produit est bien conçu font généralement qu’il est plus facile à vendre.

Par exemple, supprimer des fonctionnalités inutiles, avoir une hiérarchie visuelle claire et des call-to-action sont des techniques qui permettent de créer des produits simples, à la fois bien optimisés (UX) et attrayants (marketing).

Exemple de KISS vs Over Engineering :

Illustration du principe KISS : Immoweb :

Le concept d’Immoweb est très simple : vous pouvez louer, acheter ou vendre des biens immobiliers. Il y a des filtres et quelques options pour vous aider dans vos recherches et vos publications mais globalement, ce sont les trois fonctionnalités principales de cette solution.

Il y a très peu de fonctionnalités inutiles. Vu le succès d’Immoweb, c’est un très bon exemple de l’utilisation du principe KISS, simple et efficace.

Un smartphone avec un écran de l'application immoweb

Facebook, un nombre incalculable de fonctionnalités :

Facebook est un bon exemple d’over engineering même si dans ce cas, ça lui réussi.

Facebook compte énormément de fonctionnalités : Messenger, Marketplace, Gaming, des stories, des lives, … Evidemment, ils n’ont pas tout sorti d’un coup, ces ajouts se sont fait progressivement.

Cette conception ne serait pas envisageable pour un nouveau produit car avec autant de fonctionnalités, l’attention des utilisateurs peut facilement se perdre. Ce serait un produit bien trop complexe pour un lancement. Facebook peut se le permettre mais, dites-vous que c’est une exception et qu’il vaut mieux partir sur un produit simple pour réussir.

Le principe KISS pour un développement de qualité :

Utiliser le principe KISS facilite grandement le développement de votre produit. Avec ce principe, les développeurs doivent toujours faire au plus simple, aller à l’essentiel et limiter le code car cela améliore sa compréhension.

Un code compréhensible permet, entre autres, d’ajouter plus facilement des fonctionnalités mais aussi de trouver et de résoudre les problèmes éventuels plus rapidement.

Ce principe préconise de diviser les tâches en sous-tâches et de décomposer les problèmes complexes en de nombreux petits problèmes qui seront alors plus faciles et plus rapides à résoudre.

illustration d'un travail divisé en plusieurs tâches

Le fait de diviser et de simplifier ainsi le code réduit le temps de développement et donc votre budget initial.

Grâce à ce principe, les développeurs peuvent construire des systèmes plus importants sans que cela ne devienne des machines impossibles à maintenir.

Complexité ne veut pas dire robustesse. Ce n’est pas parce que le code de votre solution est long et compliqué qu’elle sera plus performante et plus robuste.

Un code complexe vous garantit juste un budget plus élevé car le développement prendra plus de temps ainsi qu’une maintenance plus compliquée.

Le principe KISS pour une maintenance efficace et une réduction de la dette technique :

La maintenance :

Il y a deux sortes de maintenance : la maintenance corrective qui consiste à corriger les bugs informatiques et la maintenance évolutive, c’est-à-dire, l’ajout de nouvelles fonctionnaliés.

Comme nous avons déjà vu, le principe KISS permet de repérer et résoudre plus rapidement les problèmes. La maintenance corrective est donc grandement facilitée avec ce principe.

Une solution informatique évolue sans cesse pour répondre aux nouvelles exigences. Pour ce faire, les développeurs doivent retourner dans le code source et le remanier pour qu’il correspondent à ces nouvelles demandes.

illustration du symbole maintenance

Une tâche compliquée à réaliser si l’équipe a utilisé l’over engineering. Avec les années, il faudra de plus en plus de temps pour comprendre le code et y apporter des modifications.

Par contre, si l’équipe de développement a procédé avec le principe KISS, la maintenance évolutive est facilement assurée.

La dette technique :

En développement informatique, il existe une dette technique qui comprend les failles, les erreurs et les défauts présents dans le code. Ce sont aussi les parties du code qui sont obselètes ou encore toutes les complexités inutiles.

En appliquant le principe KISS, vous réduirez grandement cette dette technique, votre code étant normalement suffisamment simple et compréhensible.

Si jamais vous accumulez tout de même une dette technique, vous serez en mesure de la réguler assez facilement puisque les bugs seront aisément identifiés.

Le principe KISS pour une adaptation aux changements optimale :

Lorsque vous lancez un produit sur le marché et que vous souhaitez mesurer sa performance, vous pouvez faire des tests A/B : proposer deux versions d’une même page à des utilisateurs différents et évaluer les résultats. Vous saurez alors si vous devez ou non apporter des modifications à votre produit.

Souvent, au début, vous n’avez pas assez d’utilisateurs pour que les résultats soient statistiquement significatifs.

deux versions d'un même écran

Développer un produit simple où presque tous les utilisateurs passent par les mêmes flux (d’inscription par exemple) est alors très utile car vous aurez des résultats utilisables plus rapidement que si vous aviez un produit avec de nombreuses fonctionnalités qui ne seraient utilisées que par un faible pourcentage de personnes. Appliquer le concept KISS vous permet d’agir plus vite.

Si le principe KISS est appliqué à tous les niveaux de la conception de votre produit, vous pourrez plus facilement apporter des changements et pivoter votre projet si besoin.

Votre base de code sera plus flexible, plus facile à modifier et à remanier en fonction de nouvelles exigences et de vos souhaits.

Conclusion :

Le principe KISS est utile à tous les niveaux de la conception d’un produit.

Appliquer ce principe vous permettra de :

  • Trouver plus facilement votre place sur le marché
  • Commercialiser plus facilement votre produit
  • Développer un produit attrayant
  • Développer un produit intuitif avec une meilleure expérience utilisateur
  • Développer un produit plus robuste
  • Réduire votre dette technique
  • Assurer une maintenance optimale et ainsi garantir l’évolution de votre produit

Un article rédigé par Maxime Deuse

Owner DEUSE

Commentaires