Skip to content

Simpler is better

January 14, 2010

La traduction par Google est « la simplicité est préférable ». Ça sonne mieux en anglais. J’ai dû prononcer cette phrase une bonne demi-douzaine de fois aujourd’hui! La réunion s’est faite en anglais, bien entendu. Et pourquoi autant insister?

Parce que la simplicité est la clé de tout programme informatique. Je suis persuadé, comme tant d’autres, que la méthode la plus efficace de développement est l’addition de petites fonctionnalités. Hors, dans le milieu bancaire dans lequel je travaille, on a tendance à préférer l’ancienne méthode du cycle en V. La critique principale de cette méthode est qu’elle est lourde.

Le cycle en V présente principalement la lourdeur administrative. En effet, comme tous les besoins sont intégralement définis en amont, il y a un risque d’oublis ou d’erreurs qui se verront uniquement lors de la phase de développement. Jusque là, rien de nouveau.

Ici, l’idée est d’appliquer le « simpler is better » lors de la définition des besoins fonctionnels détaillés: on implémente le cahier des charges à minima. Le principe de sécurité prévaut:

  • Moins on va développer, moins on a de risques de bug du programme.
  • Plus le programme reste simple, plus l’utilisateur aura une courbe d’apprentissage rapide.
  • Plus la spécification est simple, plus elle a des chances d’être comprise par le développeur.
  • Moins la spécification est complexe, plus on a de chances de la livrer à l’heure.
  • Moins c’est complexe, plus les tests seront simples (ou vont garantir une meilleure couverture).

En lisant les raisons pour vouloir implémenter le minimum, on s’aperçoit que je cherche simplement à me rapprocher du développement Agile. C’est assez vrai. Mais, je pense également au développement: lorsque la solution préconisée par la MOA est complexe, il y a de forts risques qu’elle ne corresponde pas, au final, au besoin réel de l’utilisateur. Par expérience, il arrive fréquemment que les analystes tentent de donner des solutions techniques là où ils devraient se limiter à exprimer un besoin. En effet, c’est au technicien de préconiser la solution la mieux adaptée (un peu comme l’architecte propose des solutions pour améliorer la fonctionnalité d’un appartement).

Dans tous les cas de figures, les solutions permettant de limiter le nombre de lignes de code par rapport à un besoin sont toujours les bienvenues.

Advertisements

From → Other

One Comment

Trackbacks & Pingbacks

  1. Calcul de nombres premiers « William Rey

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: