Architecture

Architecture

 

L'architecture logicielle, même pour le non-spécialiste, a des conséquences très concrètes sur le développement d'une application ou d'un site :

- la productivité sur le long terme (et donc le coût)

- l'évolutivité et la maintenabilité (et donc la dépendance vis-à-vis d'un prestataire ou d'un développeur particulier)

- la qualité (et en particulier le taux de bugs sur le long terme)

- la sécurité

- les performances

C'est pourquoi, nous utilisons un certain nombre de principes architecturaux valables dans toutes les technologies sur lesquelles nous travaillons :

1- Se baser sur un "framework" pérenne et reconnu.

Cela peut être un framework technique comme le Zend Framework en PHP ou Spring en Java ; des bibliothèques plus spécifiques, comme ORMLite sur Android ou CoreData sur iPhone ; des systèmes de gestion de contenu (CMS) aisément extensibles tel Joomla ou EZPublish ; des solutions plus spécifiques sur lesquelles nous greffons des modules complémentaires comme cela peut être le cas sur les solutions e-commerce Magento ou Prestashop.

2- Ne pas laisser un développeur seul sur un projet

Les mauvaises pratiques architecturales viennent souvent de la négligence ou d'un manque de connaissance d'un développeur particulier. Disposer d'une équipe dense avec de véritables chefs de projet techniques réalisant des revues de code effectives permet d'éviter un grand nombre d'écueils techniques.

3- Envisager la technique dès l'expression du besoin

Nos chefs de projet fonctionnels savent parler technique au bon moment : le choix du type d'architecture, la priorisation des fonctionnalités et le conseil au client sont fondamentaux dès le début du projet pour éviter des échecs comme ont pu en connaître certains sites.

4- Utiliser les bonnes pratiques reconnues du métier

Même si les technologies que nous utilisons sont plutôt récentes (entre 2 et 20 ans !), il faut faire preuve d'une certaine modestie en tant que concepteur et s'appuyer sur des bonnes pratiques accumulées depuis les débuts de l'histoire de l'industrie logicielle. Ainsi, nous nous appuyons aussi bien sur les design patterns du "gang of four" (1995) et les pratiques de conception venues du manifeste des méthodes agiles (2001) que sur des principes méthodologiques hérités de Merise (1974) !