17
Refonte du module Règlement/Livraison Soutenance finale

Refonte du module Règlement/Livraison

Embed Size (px)

DESCRIPTION

Soutenance finale. Refonte du module Règlement/Livraison. Migration technologique d'un programme Finance de marché Projet ambitieux du fait de son importance Ma démarche a aussi donné de l'intérêt au projet Refonte en profondeur Utilisation de nouveaux outils Implication envers le client - PowerPoint PPT Presentation

Citation preview

Refonte du module Règlement/Livraison

Soutenance finale

Page 2

Migration technologique d'un programme Finance de marché Projet ambitieux du fait de son importance Ma démarche a aussi donné de l'intérêt au projet

Refonte en profondeur Utilisation de nouveaux outils Implication envers le client

Mes premiers pas en tant que « chef de projet » Ma démarche Mes difficultés Mes erreurs Mes réussites? Les leçon tirées

Page 3

BNP-Paribas-Arbitrage

Société en nom collectif au capital de 185 millions d'euros

Filiale de BNP-Paribas s'occupant de l'arbitrage Arbitrage: ensemble d'opération permettant de réaliser un

bénéfice sans risque Modèle APT de S. Ross Exemple

- Prêt-emprunt de titre Divisée en 2 pôles

Pôle fonctionnel Pôle logiciel

Page 4

Prêt-emprunt de titre

Opération qui consiste à prêter du titre contre du cash ou d'autres titres

Notions: Date de valeur, collatéral, Appel de marge, Opération sur titre

Notions de gestion: Instruction, Detail, Netting

Page 5

Problématique

Bolivar, logiciel de trading Front-to-Back De la négociation au paiement Logiciel très complexe:

- Communication interne (intermodule)- Communication externe (SWIFT, Equilend)

Depuis 2002, passage en technologie 3-tiers- Déploiement du logiciel sur différentes places financières

(New York, Hong Kong, Tokyo...)- Soulagement de la base de données- Accroître la maintenabilité

Organisation de l'équipe- IT (MOE)- BAPI (MOA)

Page 6

Problématique

Le module de Règlement-Livraison Génération des flux Opérations sur les instructions (Validation, suppression,

netting) Transfert des titres et du cash Comptabilité

Migration du module de Règlement/Livraison vers Java/Weblogic

Le rendre plus rapide et plus fiable (le back-office perd actuellement 1 jour-homme/jour à afficher les propositions)

L'adapter en technologie 3-tiers. Améliorer l'ergonomie des écrans.

Page 7

Moyens

Spécification 1 MOA pour les dialogues avec les utilisateurs Anciennes spécifications du module Documentations du module Accès au code source du module

Développement Java Développement avec l'IDE Eclipse et partage du code sous

CVS Serveur Weblogic pour le développement et base de test Base de non-regression Outils de test Mercury et Eclipse (JUnit), Confluence pour la

gestion de documentation

Page 8

Spécifications

A partir de l'existant Anciennes spécifications Documentation Code source

Introduction du changement Analyse du module Réunion avec le client afin de déterminer leurs nouveaux

besoins Proposition à l'équipe BAPI

Page 9

Analyse

Migration entre technologies très différentes SQL (langage de requête) vers Java(langage objet) Visual Basic (langage procédural) vers Java(langage objet)

Choix techniques Batch

- Centraliser la génération des propositions- Répartir l'intelligence- Optimiser les accès aux services- Gestion des cas particuliers

Nécessité de s'adapter aux Patterns utilisés MVC State Pattern Frameworks: framework graphique, Spring Organisation en service encapsulant les accès en base

Page 10

Études effectuées

Gestion des cas particulier: étude des moteurs d'inférence

Besoins- Séparer la gestion des cas particulier du fonctionnement

normal- Code non compilé pour livraison simplifiée- Libre- Rapidité d'éxecution

Intégration de Drools à mon batch- A tous les niveaux de remplissage des champs, appel au

moteur d'inférence Établir les bonnes pratiques pour les tests de

non-regression Indispensable à la validation du module R/L Étude des outils de Mercury et réunion avec des

spécialistes Établissement des bonnes pratiques IT et BAPI

Page 11

Développement

Développement en J2EE avec Spring Échange avec les autres développeurs Java,

perfectionnement dans cette technologie:- Optimisation de code (List, appels de fonctions, Garbage

Collector...)- Code modulaire afin d'accroître la maintenabilité (utilisation des

Interfaces)- Bonnes pratiques quant à l'utilisation du framework graphique

Swing (pas d'héritage mais builder, éviter les fuites de mémoire)

Implémentation du pattern MVC- Rendre indépendant le modèle, l'affichage et les actions de

l'utilisateur Utilisation de frameworks existants

- Apprendre à utiliser les frameworks (Documentation, Javadoc, tutoriels)

Utilisation d'outils de gestion de configuration (Maven) et de déploiement

Page 12

Tests

A partir des spécifications, élaboration des plans de tests

Tests différents selon les parties car but différents- Batchs- Client

Utilisation de deux bases de données en parallèle pour les tests de batchs (Système de base de non-régression)

Implémentation et exécution des tests du client: utilisation des outils Quality Center et QuickTest Pro de Mercury

Page 13

Gestion de projet

Détermination de mes tâches Évaluation des tâches à faire Évaluation de la charge de travail

- Difficultés et tendance à la surévaluation Gestion de l'avancement Utilisation de l'outi Jira

Détermination des tâches des autres développeurs

Besoin de développements pour mon projet- Spécifications des besoins et planification

Page 14

Gestion de projet

Organisation du développement Pour mon stage

- But: toucher au plus de chose possible afin d'acquérir de l'expérience

Après le stage- Évaluation de la priorité: gain de productivité au back-office et

des moyens d'atteindre cette priorité- Livraison modulaire de façon à répondre au besoin des

utilisateurs le plus vite possible tout en laissant le temps au Bapi d'effectuer un vrai travail de spécification

Choix du cycle de développement Cycle incrémental

- Livraison des batchs puis du client Cycle en V pour le client Cycle incrémental pour les batchs

- On livre flux par flux

Page 15

Gestion de projet

Organisation du changement Changement progressif pour ne pas brusquer les

utilisateurs- Livraison des batchs- Livraison du client

Livra

Page 16

Critiques

Stratégie de test des batchs Non-garante du respect des spécifications et de la non-

regression

Page 17

Conclusion

Objectifs de projet atteint Augmentation de la vitesse d'affichage des flux passant de

plus d'une minutes à moins de 10 secondes Utilisation d'un batch Java soulageant la base de données Passage en technologie 3-tiers réussi

Bilan Démonstration de ma capacité à gérer un projet

- Objectifs atteints en temps voulus Apprentissage du métier d'ingénieur

- Organisation et animation de réunions- Explications techniques

Formation à des méthodes et outils utilisés dans l'industrie (Pattern MVC, programmation orientée aspect, logiciel de test, moteur d'inférences...)

Niveau technique bon, améliorer l'humain