De la simplicité ... bordel!

02/03/2009
conception
Afin de rebondir sur le dernier article du blog de octo, je vais prendre quelques mots pour défendre l'importance de la simplicité dans la construction d'un projet (informatique ou non).

Quand je parle de simplicité, c'est à la fois en terme de périmètre de fonctionnalités (iPod a conquis le marché en ayant moins de la moitié des fonctionnalités des autres baladeurs), d'interface (Google versus MSN) et d'implémentation (programmation élégante à base de patron connus - design patterns).

La simplicité en terme de fonctionnalités me rappelle l'histoire, du photocopieur low cost chez Canon. A force d'échec en essayant de simplifier les tambours des photocopieurs du marché (un travail non naturel pour des ingénieurs), les équipes sont parties d'une canette pour la transformer en tambour*. Le cadrage initial d'un projet est donc important afin de réduire le périmètre de fonctionnalités. Ce constat est renforcé par le fait que 1) plus le projet est gros moins il a de chance d'arriver dans les délais prévus ou même à son terme, 2) il est est préférable d'avoir 50% des fonctionnalités qui marche bien que 100% des fonctionnalités qui fonctionne à 50%**.

La simplicité en terme d'interface est ce sur quoi je m'attache pour la v2 de fermiers d'à côté. En effet, essayer de montrer un maximum de choses avec un maximum d'animation n'est pas vraiment la meilleure approche, surtout dans le web. Un site en flash comme celui de Nike + m'énerve de plus en plus, c'est lent, pas très pratique mais c'est agréable à regarder (ca fait wow comme ... Vista). Au contraire, partir d'une interface dépouillée, claire, peu agressive et surtout rapide à charger est nettement plus agréable pour l'utilisateur (les sites de Google et Amazon sont des exemples de réussite).

La simplicité en terme d'implémentation est souvent mis en avant par les sociétés chez qui je travaille avec Logica Management Consulting . Tout le monde a peur de l'usine à gaz dans un monde de l'informatique qui est à une époque de pré industrialisation des métiers (même si j'ai des doutes sur l'industralisation d'un métier créatif que ce les ingénieurs et les développeurs ... j'y reviendrai un jour). Ce point peut se résoudre en 2 aspects, 1) l'utilisation de patrons d'architecture (EIP) et de de patrons de de développement (Design patterns) 2) l'amélioration continue pour simplifier et améliorer avec le temps les entrailles d'un projet informatiques (...le code). Le problème est que sur les projets informatique effectués par des prestataires, on recherche des intervenants de moins en moins chère en particulier dans la phase de maintenance (post mise en production), donc soit peu expérimenté ou soit moins compétent.

* La connaissance créatrice
** Getting real de 37 signals
Google+
LinkedIn
comments powered by Disqus