Facebook EmaiInACirclel
Développement front-end, back-end

Quelle architecture pour votre projet IT ?

Jean-Paul Lacombe
Jean-Paul Lacombe
Customer Success Manager

En tant que directeur de projets chez Pentalog (SSII), je partage mon temps entre deux grandes activités : l’avant-vente et le suivi opérationnel des projets IT qui me sont confiés. Je suis donc amené avec l’aide de nos architectes à conseiller et accompagner mes clients sur leurs choix d’architecture,  puis à suivre sa mise en place et sa bonne utilisation. Comme la plupart de mes collègues, je dispose d’une expérience passée dans le domaine du développement et de la gestion de projet, par essence très diversifiée puisque j’ai forgé mon expérience dans une SSII et côtoyé à ce titre un grand nombre de domaines / clients / technologies différentes.

L’architecture d’un projet informatique peut être définie selon ces axes principaux : les outils de développement, les logiciels et librairies tierces utilisées, le découpage en modules et la topologie des équipements

Voici quelques conseils, issus de mon expérience en tant que développeur, puis chef de projet et maintenant Directeur de projets, pour vous aider à faire le bon choix :

1)      Impliquez un architecte, surtout en début de projet IT: c’est un conseil évident et pourtant pas toujours appliqué. Je préconise un élément fort techniquement qui s’assurera que les premiers développements sont conformes à l’architecture choisie, et que le projet démarre sur un socle solide. Cette personne peut travailler pour le client ou le prestataire.

2)      Réutilisez au maximum des briques Open Source : on bénéficie gratuitement du travail réalisé par une communauté, c’est une solution qui se démocratise dans le monde de l’IT. Attention toutefois à investir suffisamment dans une étude préalable pour ne pas choisir un outil qui vous mènera dans une impasse (multiplication des branches, abandon par la communauté, basculement vers un mode payant, temps de customisation excessifs).

3)      Ne vous interdisez pas d’acheter une licence, même si le projet est basé sur des outils Open Source. L’éventail de choix est large dans le domaine du gratuit, mais parfois un investissement de quelques centaines d’euros pour une librairie payante vous économisera de longues journées de développement.

4)      Privilégiez les architectures SOA. Les Service Oriented Architectures présentent de nombreux avantages : en plus de rendre votre application ouverte et extensible, cette architecture permet de cloisonner les modules et de les faire communiquer par des protocoles standardisés. De cette façon si l’un de vos modules devient obsolète (par exemple un client web en HTML standard) il peut être complété ou redéveloppé avec une technologie plus moderne (client natif IPhone/IPad, HTML5 etc…) sans impact sur le reste du système.

5)      Réalisez des POC. N’hésitez pas à investir quelques jours de développement dans un Proof Of Concept, qui vous permettra d’éprouver l’architecture choisie et de limiter le risque de partir sur une mauvaise solution technologique. C’est également un bon moyen de montrer au client un premier aperçu de ce que sera son logiciel, et de fournir une base de travail à l’équipe de développement qui pourra démarrer plus rapidement.

6)      Attention aux technologies de développement « exotiques » : sortir des sentiers battus est séduisant, parfois efficace mais extrêmement dangereux. Il n’est pas rare de voir ce type de projet s’effondrer à cause de la difficulté à recruter des profils qui maîtrisent la technologie ou devant des obstacles posés par une technologie qui n’est pas mature. A utiliser en ayant conscience des risques que ça implique.

7)      Étendez vos recherches à l’international. Les bonnes solutions sont également à l’étranger. Dans vos recherches sur le web pour identifier de nouvelles options pour votre architecture, ne vous limitez pas à des termes français mais utilisez également des termes anglais.

A titre d’information voici le TOP 5 des technologies utilisées sur les projets IT Pentalog depuis janvier 2010 :

  1. 1. JAVA
  2. 2. Développements Embedded (regroupant différents langages)
  3. 3. PHP
  4. 4. .NET
  5. 5. Business Intelligence

Certains points méritent qu’on y revienne plus en détail, c’est ce que je ferai lors d’un prochain article.


2 Commentaires

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.