Interview de Dimitri Ashikhmin, FWA

Dimitri ASHIKHMIN parle de la mise en place d'un moteur de règles dans les projets développés par FWA

Quels sont vos derniers projets ?

Nous travaillons sur une soixantaine de projets par an. Les deux tiers sont des applications existantes qui demandent des prestations de maintenance et évolutions. Le tiers restant est constitué de nouveaux projets. Nous gardons notre cap sur les projets d'informatique de gestion, avec une orientation vers le monde collaboratif, la mobilité et la gestion commerciale.

Parmi nos derniers projets, nous pouvons citer une application de visualisation des contacts pour les Windows phone 7, un système de gestion documentaire nommé Dispodoc, une application de consolidation des statistiques des accidents de travail …

Quels sont vos outils de développement et de gestion de projet ?

Nous utilisons la méthode classique de gestion de projet basée sur les spécifications, le maquettage, le développement, la livraison et la maintenance des logiciels. Notre approche est différente dans la phase de spécification car nous attachons plus d'importance aux écrans de consultation et à leur enchainement, plutôt qu'aux objets, leurs propriétés associées et à la structure de base de données. Ces derniers découlent naturellement lorsque l'interface de l'application est bien construite.

Avant la phase de construction des maquettes, nous utilisons le formalisme UML pour identifier les différents cas d'utilisation. Nous rédigeons les spécifications dans Microsoft Word. Les maquettes sont réalisées avec Balsamiq Mockups. Le développement est réalisé à l'aide de Visual Studio 2010. Les bases de données sont multiples. Tout le code source est géré dans SVN. Le support et les évolutions sont tracés dans un outil de support.

Quelles sont les difficultés de réalisation des applications que vous rencontrez ?

- Pour une application de calcul de rémunération variable, il s'agit de rendre souples les règles de calcul des primes.
- Pour une application de proposition commerciale complexe : calculer le meilleur tarif selon les conditions d'exécution du contrat.
- Pour une application de gestion des documents : rendre le formulaire de qualification adapté au contexte du document.

Cette problématique d'externalisation n'est pas nouvelle. Elle nous poursuit depuis de nombreuses années. Nous avons essayé plusieurs méthodes d'externalisation des règles métier : base de données, fichiers XML, fichiers de code applicatif compilables à la volée…

Quelle solution avez-vous trouvé à ce problème ?

Depuis deux ans, nous avons mis en place un moteur de règles performant qui nous permet d'externaliser toute logique complexe du code applicatif. Ainsi, les nombreuses applications avec une logique très complexe sont devenues faciles à croquer. Le code applicatif reste simple, les règles de gestion sont paramétrées dans des fichiers modèles.

Le grand avantage que nous y avons trouvé est de faire participer notre client à la conception, la réalisation et les tests des fichiers modèles. Notre approche permet de tester les modèles sans les intégrer dans l'application. Et inversement, l'application peut toujours nous fournir le modèle avec les valeurs en cours d'exécution pour nous éclairer sur les résultats obtenus. Nous en sommes extrêmement fiers. D'ailleurs, nous avons présenté ce développement à l'Etat comme faisant partie de notre activité R&D dans le cadre du CIR (Crédit Impôt Recherche).

Quelles sont les applications concrètes de votre moteur de règles ?

Les débouchés sont multiples. Aujourd'hui, nous avons couvert le domaine du calcul des offres tarifaires complexes, de la rémunération variable, de la création des formulaires dynamiques de qualification, de la gestion dynamique des flux décisionnels, du tracking complexe des documents...

Demain, nous irons vers des objectifs plus ambitieux comme la gestion des guides de choix mobiles, la gestion de conformité dans les entreprises, le suivi des événements financiers et de gestion et d'autres domaines.

Une fois que l'application est en production, comment évoluent les règles ?

Elles peuvent évoluer avec ou sans notre accompagnement. Un de nos clients fait évoluer son système de rémunération variable sans nous solliciter. Il a même transformé le fichier modèle en outil de simulation de la rémunération afin de laisser les commerciaux programmer leur bonus en fonction de leurs résultats budgétés.

Certains clients nous confient la gestion des évolutions des règles avec l'assurance du respect de la cohérence de l'ensemble des règles entre plusieurs domaines d'activité, pays, cultures.

Nous créons des modèles suffisamment ouverts pour améliorer la logique des règles sans changer de code applicatif, ce qui rend le processus de maintenance et évolutions bien plus économique pour nos clients.

Avez-vous plus d'information sur ce sujet ?

Vous pouvez consulter les témoignages de nos clients dans la partie "Témoignages" de ce site.

Nous restons bien sûr ouverts à la discussion avec nos clients et prospects.

Retour aux témoignages