27
Analyse, conception et implantation d’un logiciel de CRM pour la soci ´ et ´ e AdaCore Audran Le Baron Tuteur scientifique : Laurent Pautet Directeur de stage : Franco Gasperoni 15 f´ evrier 2004

Analyse, conception et implantation d'un logiciel de CRM ... · projet et la conception d’un logiciel de CRM adapt´e a AdaCore, puis d’en r´ealiser une maquette et enfin d’en

  • Upload
    hathien

  • View
    227

  • Download
    1

Embed Size (px)

Citation preview

Page 1: Analyse, conception et implantation d'un logiciel de CRM ... · projet et la conception d’un logiciel de CRM adapt´e a AdaCore, puis d’en r´ealiser une maquette et enfin d’en

Analyse, conception et implantation d’unlogiciel de CRM pour la societe AdaCore

Audran Le Baron

Tuteur scientifique : Laurent Pautet

Directeur de stage : Franco Gasperoni

15 fevrier 2004

Page 2: Analyse, conception et implantation d'un logiciel de CRM ... · projet et la conception d’un logiciel de CRM adapt´e a AdaCore, puis d’en r´ealiser une maquette et enfin d’en

Table des matieres

Table des matieres

1 Presentation d’AdaCore et du projet de CRM 3

1.1 AdaCore . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.2 L’Offre commerciale d’AdaCore . . . . . . . . . . . . . . . . . 4

1.3 Le Projet de CRM . . . . . . . . . . . . . . . . . . . . . . . . 5

2 Analyse du projet de CRM 6

2.1 Les Techniques de modelisation . . . . . . . . . . . . . . . . . 6

2.2 Le Travail d’enquete . . . . . . . . . . . . . . . . . . . . . . . 7

2.3 Interets de la modelisation . . . . . . . . . . . . . . . . . . . . 7

2.4 Resultats de la modelisation . . . . . . . . . . . . . . . . . . . 8

3 Design : construction d’une maquette 9

3.1 L’Interface utilisateur . . . . . . . . . . . . . . . . . . . . . . . 9

3.2 Le Choix d’une interface Web . . . . . . . . . . . . . . . . . . 9

3.3 Realisation d’une maquette . . . . . . . . . . . . . . . . . . . 10

3.4 Conception du schema de la base de donnees . . . . . . . . . . 10

4 Implantation 11

4.1 Base de donnees PostgreSQL . . . . . . . . . . . . . . . . . . . 11

4.2 L’Utilisation de la technologie AWS . . . . . . . . . . . . . . . 11

5 Passation du projet 12

A Sales Workflow Diagrams 14

B ER Diagram 26

2

Page 3: Analyse, conception et implantation d'un logiciel de CRM ... · projet et la conception d’un logiciel de CRM adapt´e a AdaCore, puis d’en r´ealiser une maquette et enfin d’en

1 Presentation d’AdaCore et du projet de CRM

Le present rapport fait etat des travaux menes durant mon stage — du15 juillet 2003 au 30 janvier 2004 — dans la societe ACT Europe. L’objet demon stage etait l’analyse, la conception et l’implantation d’un outil internede gestion des clients pour les societes ACT Europe (Paris) et Ada CoreTechnologies (New-York).

Ce projet, mene depuis ses debuts et jusqu’a son implantation, a etel’occasion de mettre notamment en pratique les enseignements de la briqueBDL (Bases de Developpement Logiciel) dans un environnement reel. Larealisation du projet en Ada m’a permis par ailleurs de consolider et d’ap-profondir les bases de ce langage acquises a l’ENST dans le cadre de la briqueSIP (Systeme, Interface, Programmation).

Apres une courte presentation de l’entreprise, nous reprendrons chacunedes grandes etapes constitutives du projet que j’ai ete amene a realiser.

1 Presentation d’AdaCore et du projet de

CRM

1.1 AdaCore

Le nom AdaCore designe deux societes (( jumelles )) : l’une basee auxEtats-Unis a New-York (Ada Core Technologies, Inc.) et l’autre situee enFrance a Paris (ACT Europe).

Les offres de ces deux societes sont strictement identiques : leur produit-phare est GNAT Pro, un environnement de developpement Ada1 sous licenceGPL2, qu’elles vendent dans le cadre de contrats de souscriptions a un servicede support.

Les deux societes developpent ensemble les memes produits et se repar-tissent les clients de maniere geographique : le continent americain, l’Australieet le Japon sont parmi les regions reservees a la societe de New-York tandisque l’Europe et l’Asie (excepte le Japon) constituent le territoire de la societe

1Langage de programmation specialiement concu pour le developpement de logiciels alongue duree de vie, aisement maintenables et hautement fiables.

2General Public License : Licence de logiciel libre, details disponibles a l’adresse : http://www.gnu.org/copyleft/gpl.html.

3

Page 4: Analyse, conception et implantation d'un logiciel de CRM ... · projet et la conception d’un logiciel de CRM adapt´e a AdaCore, puis d’en r´ealiser une maquette et enfin d’en

1 Presentation d’AdaCore et du projet de CRM

parisienne.

Dans la suite de ce rapport, le terme AdaCore fera donc reference in-differemment a la fois a ACT Europe et a Ada Core Technologies.

1.2 L’Offre commerciale d’AdaCore

Tous les produits developpes par AdaCore sont open source, sous licenceGPL ou approchant (certains composants sont notamment sous GMGPL3 ouLGPL4). Parmi ces produits se trouve le produit-phare, qui a donne naissancea la societe : le compilateur GNAT, issu d’un projet universitaire a NYU etbase sur GCC 5.

GNAT se situe au centre de l’offre commerciale d’AdaCore. Un grandnombre d’outils gravitent autour : parmi eux, l’IDE6 GPS 7 et le debuggergraphique GVD8, les librairies GNAT, etc. Tous ces composants sont dispo-nibles en acces libre et public9. Cette version libre est largement utilisee dansles universites ainsi que par les particuliers.

Une version payante, GNAT Pro, est proposee aux professionnels. Leproduit GNAT Pro est vendu avec une souscription d’un an ou plus au ser-vice de support d’AdaCore. Ce service prevoit notamment la reponse auxquestions des equipes de developpement dans des temps tres courts (souventinferieurs a 15 minutes pour les requetes simples) et directement par des pro-fessionnels specialistes du langage Ada, ou encore la mise a disposition dewavefronts10 en cas de bug, etc. De plus, et contrairement a la version libre,le client est garanti d’avoir de nouvelles versions — qualifiees qui plus est —de la gamme de produit tous les six mois (chaque version corrigeant tous lesbugs ayant ete soumis par les differents clients depuis la version precedente).

Ce business model a deja fait ses preuves. L’une des grandes raisons dece succes est la qualite du service rendu aux clients, qui fait notamment queplus de 80 % des contrats sont renouveles d’une annee sur l’autre. Une autre

3GMGPL : GNAT Modified GPL.4LGPL : Lesser -GPL.5GNU Compiler Collection (http://gcc.gnu.org/).6IDE : Integrated Development Environment.7GPS : GNAT Programming System.8GVD : GNU Visual Debugger.9Voir le site libre d’AdaCore : http://libre.act-europe.fr/.

10Versions intermediaires de la chaıne d’outil GNAT avant une prochaine release.

4

Page 5: Analyse, conception et implantation d'un logiciel de CRM ... · projet et la conception d’un logiciel de CRM adapt´e a AdaCore, puis d’en r´ealiser une maquette et enfin d’en

1 Presentation d’AdaCore et du projet de CRM

est egalement la presence dans la clientele de grands groupes perennes telsque BNP Paribas, Boeing, Canal Plus, Dassault, EADS, EdF, Eurocontrolou Thales. Cette position confortable n’empeche pas pour autant les diri-geants d’AdaCore de sans cesse remettre en cause leur offre, leur systeme detarification, leur image, afin de suivre au plus pres l’evolution de leur marcheet les besoins de leurs clients.

1.3 Le Projet de CRM

AdaCore est une entreprise recente (fondee en 1994). Elle est en crois-sance permanente, tant du point de vue du nombre de ces employes (unequarantaine environ, dont une quinzaine a Paris) que du point de vue dunombre de ses clients (quelques centaines a ce jour). La societe a ainsi atteintune taille critique au-dela de laquelle il serait difficile de gerer l’ensemble desclients sans l’aide d’un logiciel de gestion de clients. Jusqu’a ce jour, la gestionadministrative des clients (envois de devis, de factures, ouverture et ferme-ture de comptes, gestion des contacts, envois des produits, etc.) etait unegestion purement manuelle, sous la responsabilite de Zepur Blot en Europeet de Karen Mason aux Etats-Unis.

Le besoin d’un outil informatique d’aide a la gestion des clients s’estfait sentir des l’ete 2001. Ce type d’outil est connu sous l’acronyme CRM(Customer Relationship Management). Il existe deja sur le marche plusieurssolutions de CRM. Elles se presentent generalement sous la forme d’un grandnombre de composants logiciels necessitant une longue periode de configura-tion, d’integration et de mise en place par des professionnels. Ces solutionssont de plus adaptees a des grandes entreprises dont l’echelle a peu de rapportavec l’echelle d’AdaCore. Une autre raison pour ne pas avoir choisi de solu-tion commerciale existante est qu’aucune ne prevoyait une integration reelleet complete de la communication electronique par email. De plus, le parcinformatique d’AdaCore etant relativement heterogene (majoritairement desPC sous GNU/Linux, certains sous Windows ainsi que quelques PowerPCsous Mac OS X), la condition de compatibilite avec l’ensemble de ces sys-temes etait primordiale et suffisait a eliminer la grande majorite des solu-tions, dont les clients ne fonctionnaient que sous Windows. Enfin, le systemede fonctionnement d’AdaCore est specifique en de nombreux points et n’au-rait vraisemblablement pas permis l’integration parfaite et sans compromisd’un outil de CRM existant.

C’est dans cette situation que je suis arrive en juillet 2003 dans les

5

Page 6: Analyse, conception et implantation d'un logiciel de CRM ... · projet et la conception d’un logiciel de CRM adapt´e a AdaCore, puis d’en r´ealiser une maquette et enfin d’en

2 Analyse du projet de CRM

bureaux d’AdaCore a Paris : la decision avait ete prise de developper eninterne un logiciel de CRM. Franco Gasperoni est la personne a l’origine dece projet. Une etude de l’offre existante — brievement evoquee plus haut —avait deja ete menee et un premier cahier des charges redige. Mon but etaitdonc de realiser, en collaboration etroite avec Franco, l’analyse poussee duprojet et la conception d’un logiciel de CRM adapte a AdaCore, puis d’enrealiser une maquette et enfin d’en commencer l’implantation.

2 Analyse du projet de CRM

Pour bien comprendre les objectifs du projet et les besoins auxquelsdevra repondre l’outil de CRM, il est indispensable de comprendre dans lesdetails ce en quoi consiste le travail du personnel lie a la vente, a savoirprincipalement Zepur Blot et Franco Gasperoni en Europe d’une part, KarenMason et Bernard Banner aux Etats-Unis d’autre part.

L’idee est donc d’avoir une vue a la fois globale et detaillee de l’ac-tivite liee a la vente chez AdaCore. Il s’agit ensuite de mettre en lumierel’ensemble des taches a caractere administratif (par opposition aux activitescreatives) liees a la vente. C’est en effet sur cet aspect administratif du tra-vail de la relation client qu’un outil informatique peut apporter une reponseconvaincante.

2.1 Les Techniques de modelisation

Il existe des principes de modelisation des processus, notamment enUML11, qui peuvent aider a obtenir cette vue globale et detaillee de certainesactivites. Un travail prealable a mon stage a donc ete, sous les conseils deFranco, d’approfondir mes connaissances sur ce sujet. Deux livres ont eteparticulierement utiles :

– UML Distilled : A Brief Guide to the Standard Object Modeling Lan-guage12 est une tres bonne introduction a l’UML. Les auteurs in-sistent sur les apports de la modelisation dans les projets de develop-pement logiciel, mais egalement mettent en garde le lecteur sur les

11UML : Unified Modeling Language.12Martin Fowler et Kendall Scott, 2nd edition, Octobre 1999, ISBN 0-201-65783-X.

6

Page 7: Analyse, conception et implantation d'un logiciel de CRM ... · projet et la conception d’un logiciel de CRM adapt´e a AdaCore, puis d’en r´ealiser une maquette et enfin d’en

2 Analyse du projet de CRM

exces de modelisation ou de conformation a un modele (en l’occur-rence, le langage UML), qui peuvent a leur tour devenir un frein audeveloppement d’un projet. Plus qu’une simple introduction a l’UML,ce livre est aussi une introduction a la gestion de projet logiciel.

– Workflow Modeling : Tools for Process Improvement and Applica-tion Development13. Certains chapitres traitent exclusivement de lamodelisation d’un processus de travail et ont ete utiles pour la mo-delisation des activites de vente chez AdaCore.

2.2 Le Travail d’enquete

Les premieres semaines du stage ont donc ete consacrees a la decou-verte des metiers de vente chez AdaCore et a leur decortication. J’ai pourcela realise de multiples entrevues avec les principales personnes concernees,en particulier Zepur Blot et Karen Mason (par telephone pour cette derniere,travaillant dans les bureaux de New-York) — que je tiens a remercier pourleur cooperation et la bonne humeur avec laquelle elles ont accepte de re-pondre a mes (tres) nombreuses questions. Ce travail, necessaire a la suitedu projet, a egalement ete pour moi l’occasion de m’introduire aupres desemployes d’AdaCore et de me familiariser avec ce nouvel entourage.

A ces entrevues, s’ajoute la consultation d’un echantillon de dossiersclient : Zepur tient a jour un dossier pour chaque client dans lequel sontconserves au format papier tous les echanges avec un client (emails, lettres,fax, comptes-rendus de communications telephoniques, devis, ordres d’achat,factures, etc.). Ces documents, ainsi que mon abonnement aux mailing-lists(( sales )), ont ete precieux pour avoir une idee encore plus concrete de larelation avec le client.

2.3 Interets de la modelisation

Au fur et a mesure de la decouverte des processus de vente, la mode-lisation de ceux-ci s’etoffe et se complete de plus en plus. Outre le fait depermettre d’avoir une idee visuelle des processus, la modelisation a ici deuxinterets annexes, loin d’etre negligeables :

– La communication : ces schemas sont en effet un outil de communi-cation avec les autres employes. Il a rendu en effet tres facile, deux

13Alec Sharp et Patrick McDermott, 1st edition, Fevrier 2001, ISBN 1580530214.

7

Page 8: Analyse, conception et implantation d'un logiciel de CRM ... · projet et la conception d’un logiciel de CRM adapt´e a AdaCore, puis d’en r´ealiser une maquette et enfin d’en

2 Analyse du projet de CRM

semaines apres mon arrivee, la presentation au personnel europeend’AdaCore des processus de vente. Ce support visuel leur a permisde me formuler aisement leurs commentaires, de mettre le doigt surles inexactitudes ou les oublis.

– La motivation : cette modelisation permet de voir avancer son propretravail de maniere concrete, tangible. Cela constitue — en cela-meme— un encouragement, une motivation a continuer le travail en cours.

En dehors de ces avantages annexes, le fait de travailler sur cette mo-delisation oblige a s’impregner totalement de la chaıne de processus en jeudans les activites de vente. Encore une fois, il est primordial de comprendreparfaitement cet enchaınement avant de pouvoir pretendre apporter une so-lution au probleme pose. L’etape de modelisation est en cela tres fructueuse.Elle permettra de garder en tete, tout le long de la phase de design du lo-giciel, les differentes phases qui constituent la prise en main d’un prospect,la negociation d’un contrat, le suivi d’un client, etc., afin que tous les casd’utilisation (use cases) du futur outil soient bien prevus dans la maquette.En cela, cette modelisation constitue d’une certaine maniere un cahier descharges du logiciel de CRM.

2.4 Resultats de la modelisation

Le resultat du travail de modelisation — presente en annexe A — per-met de faire ressortir les differents outils existants (par exemple, pour laredaction de devis, la generation de factures, la creation d’un compte client,etc.) qu’il sera important de prendre en compte lors de la future phase detransition et d’integration de l’outil de CRM. Il permet egalement de mettreen lumiere l’absence d’outils dans certains domaines (par exemple pour lagestion des factures) : c’est dans de tels cas qu’un outil informatique de trai-tement de l’information peut s’averer tres pertinent.

Enfin, il est possible de faire ressortir du schema l’ensemble des do-cuments (lettres, fax, emails, contrats, factures, etc.) qui interviennent dansles processus de vente. Comme ecrit precedemment, tous ces documents sonta ce jour stockes sous format papier et classes dans des dossiers par client.Cette solution passerait manifestement difficilement a l’echelle et n’est doncpas satisfaisante a long terme. Ce sera donc l’un des roles les plus importantsde l’outil de CRM que de permettre l’archivage de tous ces documents sousforme numerique et de les classer selon le client ou prospect concerne.

8

Page 9: Analyse, conception et implantation d'un logiciel de CRM ... · projet et la conception d’un logiciel de CRM adapt´e a AdaCore, puis d’en r´ealiser une maquette et enfin d’en

3 Design : construction d’une maquette

3 Design : construction d’une maquette

3.1 L’Interface utilisateur

L’outil de CRM est destine a devenir l’outil de travail quotidien des per-sonnes touchant aux activites de vente de l’entreprise et un outil occasionneldu personnel technique souhaitant obtenir des informations de maniere ponc-tuelle sur un client.

Par consequent, l’interface utilisateur du logiciel sera l’une des cles dela reussite du projet : une mauvaise interface condamnera d’emblee l’outila un avenir incertain, tandis qu’une interface bien pensee sera un atout es-sentiel pour l’adoption de l’outil par les employes. Il est des projets dont ladifficulte reside dans des aspects techniques, algorithmiques ou autres : laphase de conception se concentrera alors sur le recherche de solutions tech-niques, la mise au point d’algorithmes, ou autres. Ici, le point delicat estl’interface utilisateur : ou faire apparaıtre l’information ? Sous quelle forme ?Comment en permettre l’edition ? Comment etablir des passerelles entre dif-ferents types d’information ? Autant de questions qui sont incontournableslors de la conception du logiciel.

3.2 Le Choix d’une interface Web

La technologie a utiliser pour l’interface utilisateur des clients etaitfixee depuis longtemps : ce serait une interface Web. Les raisons a cela sontmultiples, la plus importante est la contrainte de compatibilite : les clientsdoivent pouvoir fonctionner indifferemment sous Linux, Mac ou Windowspour ne citer qu’eux. Avec une interface Web, le client est un navigateur :meme si le respect des standards (HTML, CSS, DOM, etc.) varie d’un naviga-teur a un autre, la contrainte de compatibilite est quasiment acquise d’officeavec ce choix d’interface. Un autre interet est justement le fait qu’aucuneinstallation d’un logiciel client n’est necessaire pour acceder aux donnees duCRM : n’importe quel ordinateur equipe d’une connexion Internet et d’unnavigateur peut faire l’affaire.

Pendant cette longue phase de design (3 mois entiers, de septembre anovembre), il est important de ne pas trop s’isoler et ainsi perdre de vue lesutilisateurs finaux : regulierement, des reunions de mi-parcours doivent etreorganisees, afin de s’assurer que les attentes de chacun sont bien respectees

9

Page 10: Analyse, conception et implantation d'un logiciel de CRM ... · projet et la conception d’un logiciel de CRM adapt´e a AdaCore, puis d’en r´ealiser une maquette et enfin d’en

3 Design : construction d’une maquette

et que le produit final ne diverge pas du produit demande. Un passage parles bureaux de New-York a meme permis une presentation (( en direct )) dela maquette en cours de finalisation.

3.3 Realisation d’une maquette

Ce travail de design necessite beaucoup d’imagination : il faut garderson esprit ouvert a toute solution, toute idee nouvelle qui puisse contribuera une meilleure ergonomie de l’interface est bonne a considerer. Pour cela,il faut non seulement etre soi-meme inventif, mais aussi et surtout, etre al’ecoute de toute suggestion venue d’une tierce personne : certaines idees,meme — surtout ? — evoquees au detour d’une conversation informelle,peuvent receler la cle d’un probleme d’interfacage.

La grande difficulte dans la conception d’une telle interface est la priseen compte de tous les cas particuliers qui peuvent survenir lors de negocia-tions avec un client. Le point de depart pour la construction de la maquetteest le travail precedent de modelisation des processus de vente : chaque circuitdans les diagrammes realises doit pouvoir etre parcouru aisement et intuiti-vement a travers l’interface. Mais une fois tous ces circuits, ces use cases,pris en compte, restent les nombreuses exceptions, cas particuliers, que lelogiciel doit etre en mesure de supporter : l’outil de CRM, meme dans cescas-la, ne doit pas etre un obstacle, mais une aide. C’est la raison pour la-quelle l’accent a ete mis sur la modularite de l’outil, donc de l’interface quil’accompagne. En meme temps que cette modularite, il est souhaitable depouvoir lier le maximum d’elements entre eux (par exemple, etre en mesurede lier des factures a l’ordre d’achat correspondant et aux contrats qu’ellesconcernent). Ces deux objectifs contradictoires — modularite/souplesse vs.(( connectivite ))/rigidite — doivent se resoudre en un compromis adequat,qu’il n’est pas toujours evident de trouver.

3.4 Conception du schema de la base de donnees

Une fois cette maquette (un site HTML entierement statique) suffisam-ment complete, souple et validee par les plus interesses, les structures desdonnees commencent deja a apparaıtre d’elles-memes : la maniere dont sontstructurees les pages et la maniere dont les differents ecrans sont lies entreeux laissent en effet apparaıtre en filigrane ce que sera la base de donnees

10

Page 11: Analyse, conception et implantation d'un logiciel de CRM ... · projet et la conception d’un logiciel de CRM adapt´e a AdaCore, puis d’en r´ealiser une maquette et enfin d’en

4 Implantation

sous-jacente au logiciel.

Etant donnee la complexite et la quantite des donnees a stocker et astructurer dans le cadre de l’outil de CRM, l’appui sur un systeme de gestionde base de donnees etait une decision prise depuis longtemps.

L’annexe B presente le schema de base de donnees relationnelle tel qu’ilest a l’etat actuel. Le long travail d’elaboration de l’interface web realiseau prealable a rendu la conception de ce schema extremement rapide : lastructure des donnees decoule litteralement du travail effectue auparavant.

4 Implantation

A ce stade, il s’agit de creer la base de donnees et de commencer l’im-plantation du serveur web de CRM.

4.1 Base de donnees PostgreSQL

Le choix de PostgreSQL14 comme SGBD15 etait le resultat de deuxcontraintes : celle d’avoir un veritable SGBD, respectant notamment les pro-prietes ACID (Atomicity, Consistency, Isolation, Durability) et celle d’utili-ser, dans la mesure du possible, des logiciels open source.

Le travail de traduction du schema de la base de donnees en instructionsde creation SQL est un travail systematique qui s’est fait en parallele avec laconstruction du schema entite-associations evoque plus haut.

4.2 L’Utilisation de la technologie AWS

Pour la realisation du serveur web, le choix s’est porte sur la technologieAda Web Server (AWS) developpee par Pascal Obry et Dmitriy Anisimkov,tous deux d’AdaCore. Cette librairie Ada a deja ete utilisee avec succes dansle cadre de GNAT Tracker, site technique mis en place pour les clients d’Ada-Core.

14Voir http://www.postgresql.org/.15SGBD : Systeme de Gestion de Base de Donnees.

11

Page 12: Analyse, conception et implantation d'un logiciel de CRM ... · projet et la conception d’un logiciel de CRM adapt´e a AdaCore, puis d’en r´ealiser une maquette et enfin d’en

5 Passation du projet

L’architecture globale a ete en partie inspiree de l’article de J.-P. Rosen :Experiences in developing a typical web/database application16.

Pour la generation de pages HTML a partir de modeles, le package AdaTemplates_Parser a ete utilise. Un bon usage des modeles et du package Adaassocie permet de bien separer l’affichage de la partie traitement des donnees,tandis que l’utilisation de stylesheets CSS permet en outre de separer la miseen forme du contenu brut.

Une API relativement simple et generale a ete mise en place pour leremplissage des modeles HTML directement a partir des donnees de la base eta permis de parvenir a couvrir tres rapidement une grande partie de l’interfaceutilisateur.

5 Passation du projet

Les dernieres semaines de mon stage ont ete essentiellement consacreesa la passation du projet a d’autres developpeurs. Un ingenieur de New-York,Albert Lee, s’est vu confier la responsabilite du module de gestion et trai-tement des emails, tandis que Jerome Roussel, eleve en deuxieme annee del’ENST en stage chez AdaCore sous la direction d’Emmanuel Briot, se chargede completer entierement l’interface web.

Cette phase a ete riche en reunions et en travail d’equipe. Un accent aegalement ete mis sur la redaction de toute la documentation necessaire a lareprise du projet par d’autres, meme si l’essentiel de la documentation avaitete realisee en parallele du travail d’implantation.

La confrontation de mon travail a d’autres developpeurs a ete tres en-richissante. Elle a fait naıtre des idees a la fois pour le logiciel de CRM encours de construction, mais aussi pour d’autres projets tels que la suite d’ou-tils utilisee en interne par AdaCore pour gerer la partie technique. En effet,l’utilisation faite des bases de donnees dans le CRM en a seduit certains,qui pensent pouvoir avantageusement tirer parti de cette technologie dansd’autres contextes.

La prochaine etape delicate du projet sera l’importation — depuis dessources diverses — des donnees client existantes vers la base de donnees.Puis, une periode d’essai et de transition delicate a gerer sera certainement

16Annual International Conference on Ada, 2003, ISBN 1-58113-476-2.

12

Page 13: Analyse, conception et implantation d'un logiciel de CRM ... · projet et la conception d’un logiciel de CRM adapt´e a AdaCore, puis d’en r´ealiser une maquette et enfin d’en

5 Passation du projet

decisive dans l’utilisation a terme de l’outil de CRM.

Conclusion

Contrairement a ce que la construction de ce rapport peut le laisserentendre, le developpement de ce projet n’est pas tout-a-fait lineaire : memesi les etapes semblent se succeder de maniere lineaire, les retours a des etapesanterieures sont frequents et necessaires a la suite du projet. Par exemple, letravail sur le schema de la base de donnees a pu faire apparaıtre des manquesdans l’interface prevue par la maquette. Ce phenomene, loin d’etre inconnu,a confirme les enseignements que j’ai pu recevoir, notamment dans le cadrede la brique BDL.

Si j’ai pu aboutir a ce resultat au bout des sept mois de stage, c’est avanttout grace a tous ceux qui croyaient en l’utilite de ce projet et qui m’ont aidea le porter jusqu’a ce stade. Cependant, ce projet ne sera veritablement menea bien que le jour ou il sera devenu l’outil quotidien et apprecie des employesd’AdaCore.

13

Page 14: Analyse, conception et implantation d'un logiciel de CRM ... · projet et la conception d’un logiciel de CRM adapt´e a AdaCore, puis d’en r´ealiser une maquette et enfin d’en

A Sales Workflow Diagrams

A Sales Workflow Diagrams

Les pages suivantes representent les diagrammes modelisant le proces-sus de vente tel qu’il existait a mon arrivee chez AdaCore. Le premier schemarepresente une vue globale de l’activite de vente, tandis que les pages sui-vantes detaillent chacune des etapes introduites dans le premier schema.

Ces schemas ont ete realises sous Microsoft Office Visio 2003 Profes-sionnel.

14

Page 15: Analyse, conception et implantation d'un logiciel de CRM ... · projet et la conception d’un logiciel de CRM adapt´e a AdaCore, puis d’en r´ealiser une maquette et enfin d’en

Glo

bal s

ales

pro

cess

Sales personnel

Pac

k an

d sh

ippr

oduc

tS

end

invo

ice

and

get p

aid

Obt

ain

PO

& C

PS

AFo

llow

-up

Ren

ewco

ntra

ct

Sale

s op

portu

nity

follo

w-u

p

6 m

onth

late

r

Offe

r eva

luat

ion

Not

es:

- Dur

ing

all s

ub-p

roce

sses

, em

ails

, pho

ne c

all r

epor

ts, f

ax a

nd m

ail a

re a

rchi

ved

in a

per

-cus

tom

er p

aper

file

, her

eafte

r cal

led

“cus

tom

er fi

le (p

aper

)”- I

n m

any

of th

e ab

ove

step

s, a

pro

spec

t can

be

mov

ed to

the

“inac

tive”

sta

te (m

eani

ng, n

o cu

rren

t con

tract

and

no

rece

nt c

onta

ct)

Inac

tive

cont

act

or

Lege

nd:

Doc

umen

ts in

volv

ed a

re in

red

Tool

s th

at a

re u

sed

are

in b

lue

Page 16: Analyse, conception et implantation d'un logiciel de CRM ... · projet et la conception d’un logiciel de CRM adapt´e a AdaCore, puis d’en r´ealiser une maquette et enfin d’en

Sal

es o

ppor

tuni

ty fo

llow

-up

sub-

proc

ess

Zepur/Karen Anne

Sen

d sa

les

mes

sage

All

clea

r?

Indi

rect

pro

spec

tco

ntac

tIn

trodu

ce A

CT

topr

ospe

ct

Pre

fera

bly

by p

hone

,ot

herw

ise

by e

mai

l

Dire

ct p

rosp

ect

cont

act

Pre

pare

quo

te to

obta

in P

O &

CPS

A

Re-

cont

act a

coup

le o

f tim

es,

then

mov

e to

“inac

tive”

sta

te

No

Not

ans

wer

ed

Sup

ply

info

rmat

ion

to p

rosp

ect

Pre

pare

eva

l

Inse

rt co

ntac

t in

AC

T! d

atab

ase

EU

Yes

Wel

com

e pr

ospe

ct

- Fro

m s

ales

trip

s/tra

de s

how

s- F

rom

out

side

sal

es re

ps- F

rom

Win

dRiv

er- F

rom

inac

tive

cont

acts

file

Email

http

://…

/sal

es-m

sg.tx

t

Pho

n e/e

mai

lSa

les

staf

f and

/or T

echn

ical

exp

erts

http

://…

/offe

ring.

txt

By

phon

e or

by

emai

l

Kee

p ev

eryo

ne a

war

e of

the

pros

pect

’s s

tatu

s by

sen

ding

em

ails

to th

e us

lead

s m

ailin

g-lis

t dur

ing

the

who

le p

hase

of n

egot

iatio

nU

S

Som

e co

ntac

t do

not h

ave

imm

edia

te n

eeds

, but

just

wan

t to

eval

uate

the

tech

nolo

gy fo

r fut

ure

proj

ects

or

or

Page 17: Analyse, conception et implantation d'un logiciel de CRM ... · projet et la conception d’un logiciel de CRM adapt´e a AdaCore, puis d’en r´ealiser une maquette et enfin d’en

Obt

ain

PO

& C

PS

A s

ub-p

roce

ss

Zepur/Karen

Yes

Not

OK

No

Not

ans

wer

edw

ithin

[var

iabl

e]

OK

Ope

n ac

coun

t

Che

ck P

O v

s.qu

ote

Acc

epte

d?R

ecei

ve P

O &

CP

SA

Find

out

why

and

nego

tiate

Sen

d qu

ote

&C

PSA

Solv

e P

O p

robl

emw

/ cus

tom

erR

e-co

ntac

t aco

uple

of t

imes

,th

en m

ove

to“in

activ

e” s

tate

Upd

ate

acco

unt

file

Exi

stin

gac

coun

t?

Not

e:Th

e ac

coun

t alre

ady

exis

ts if

an

eval

was

pre

viou

sly

offe

red

No Yes

Email

- Cut

& p

aste

http

://…

/quo

te-m

sg.tx

t- A

ttach

http

://…

/cps

a.do

c- C

onsu

lt ht

tp://

…/li

st-p

rice.

htm

l

Pho

ne/e

mai

l

CV

S c

omm

it

Pap

er (f

ax/m

ail)O

ffer e

valu

atio

nM

aybe

Phone

/email

Sal

es s

taff

Mov

e co

ntac

t to

“inac

tive”

sta

teU

nsuc

cess

ful

nego

tiatio

n

Page 18: Analyse, conception et implantation d'un logiciel de CRM ... · projet et la conception d’un logiciel de CRM adapt´e a AdaCore, puis d’en r´ealiser une maquette et enfin d’en

Offe

r eva

luat

ion

sub-

proc

ess

Cyrille/BernardZepur/Karen

Email

- Atta

chht

tp://

…/c

psa.

doc

(con

verte

d to

pdf

)- A

ttach

http

://…

/test

-pla

n.do

c (c

onve

rted

to p

df)

- Atta

ch (i

f app

licab

le) h

ttp://

…/q

uote

-msg

.txt

Sen

d:- e

val-C

PS

A- T

est p

lan

- quo

te (i

f app

licab

le)

Ope

n ac

coun

t

Yes

Ana

lyze

Tes

t Pla

n&

eC

PS

AV

alid

ate?

Exp

lain

why

and

prop

ose

a re

gula

rco

ntra

ct in

stea

d

Follo

w-u

p w

ithpr

ospe

ct

6 w

eeks

late

r

Cus

tom

erre

ady

to b

uy?

Find

out

why

and

:- e

xten

d ev

alua

tion

perio

dor - m

ove

to “i

nact

ive”

sta

te

Obt

ain

PO

&C

PS

A

No

Yes

No

Yes

OK

for r

egul

arco

ntra

ct?

Find

out

why

and

mov

e to

“ina

ctiv

e”st

ate

No

All

docs

inpa

per

Not

e:Th

e pr

ospe

ct m

ight

hav

eal

read

y be

en s

ent a

quo

te

Page 19: Analyse, conception et implantation d'un logiciel de CRM ... · projet et la conception d’un logiciel de CRM adapt´e a AdaCore, puis d’en r´ealiser une maquette et enfin d’en

Ope

n C

usto

mer

Acc

ount

sub

-pro

cess

Zepur/Karen

Com

man

d lin

e fro

m p

aris

ser

ver:

cftp

-n (+

pas

swd)

Ret

urns

use

rid &

has

h(pa

ssw

d)

EU

Use

rid &

hash

ed p

assw

d

cftp

-m

Upd

ate

AC

TE-c

usto

mer

s.xl

s

or

Ass

ign

new

use

rid

Rec

eive

& s

end

conf

irmat

ion

mes

sage

Cho

se lo

gin

&pa

ssw

ord

Sen

d cu

stom

er’s

pass

wor

dse

para

tely

Gen

erat

eco

nfirm

atio

nm

essa

ge

Upd

ate

acco

unts

file

Loca

l Exc

el fi

le

CV

Sco

mm

it

- Upd

ate

NIS

dat

abas

e- S

etup

mai

ling-

lists

and

gro

ups

etc.

cron

task

on

Poru

n ev

ery

30 m

in.

Not

e:Th

is p

roce

ss is

bei

ng tr

ansf

orm

ed a

nd s

impl

ified

: “C

hose

logi

n”, “

Ass

ign

user

id”,

“Upd

ate

acco

unt f

ile”,

“Gen

erat

e co

nfirm

atio

n m

essa

ge” a

re to

be

regr

oupe

d in

to o

ne s

tep

via

the

web

inte

rface

of G

NA

T Tr

acke

r.

Upd

ate

cust

omer

dat

abas

eU

S

MS

Acc

ess

For e

valu

atio

n, ty

pe is

mar

ked

“eva

luat

ion”

Cus

t#

and

Info

rmat

ion

cont

aine

d in

CP

SA

Page 20: Analyse, conception et implantation d'un logiciel de CRM ... · projet et la conception d’un logiciel de CRM adapt´e a AdaCore, puis d’en r´ealiser une maquette et enfin d’en

Pac

k &

Shi

p su

b-pr

oces

s

Ship Dpt(Zepur/Anne/Jennifer)

Sales Dpt(Zepur/Anne/Karen)

ISO

imag

e

Bur

n C

DP

rint C

D

Shi

p

[EU

onl

y]A

rchi

ve s

hipp

ing

dock

et in

cust

omer

file

(pap

er)

Invo

ice

EU

: Upd

ate

AC

T! D

atab

ase

US

: Upd

ate

Exc

el fi

le

Col

lect

rele

vant

docs

Pac

k

Arc

hive

pac

king

slip

incu

stom

er fi

le (p

aper

)

Page 21: Analyse, conception et implantation d'un logiciel de CRM ... · projet et la conception d’un logiciel de CRM adapt´e a AdaCore, puis d’en r´ealiser une maquette et enfin d’en

Invo

ice

sub-

proc

ess

KarenZepur

Upd

ate

Invo

ice.

xls

Fill

File

Mak

erin

voic

e te

mpl

ate

Sen

d to

cust

omer

’sac

coun

ts d

pt

File

Mak

er P

roP

ut in

“wai

ting

for

paym

ent”

box

Invo

ice

paid

?

Sen

d du

nnin

gno

tice

No

Mar

k bo

th in

voic

e co

pies

as

paid

& m

ove

it to

cus

tom

er fi

le (p

aper

)

Yes

Loca

lE

xcel

file

Del

inqu

ent

leve

l?

No

Upd

ate

acco

unts

file

and

mar

kac

coun

t as

“clo

sed”

unt

ilpr

oble

m s

olve

dY

es

[Fra

nco]

Upd

ate

inco

me-

eu.x

ls fi

le

Cre

ate

new

invo

ice

with

Qui

ckBo

oks

Sen

d to

cus

tom

er(2

cop

ies)

Upd

ate

inco

me-

us.x

ls fi

le

Mar

k in

voic

e as

paid

Upd

ate

invo

ice

stat

us in

Qui

ckB

ooks

Arc

hive

incu

stom

er fi

le(p

aper

)

Yes

Invo

ice

paid

?

Sam

e as

abo

ve

No

Upd

ate

inco

me-

us.x

ls fi

le

[Fra

nco]

Upd

ate

inco

me-

eu.x

ls fi

le

Arc

hive

in fi

nanc

ial

file

(pap

er)

and

and

and

and

Page 22: Analyse, conception et implantation d'un logiciel de CRM ... · projet et la conception d’un logiciel de CRM adapt´e a AdaCore, puis d’en r´ealiser une maquette et enfin d’en

Follo

w-u

p su

b-pr

oces

s

Zepur/Karen

Che

ck re

port

activ

ity

Mea

sure

cust

omer

’ssa

tisfa

ctio

n

Get

in to

uch

with

cust

omer

ifne

cess

ary

- Web

inte

rface

of G

nat T

rack

eror - c

repo

rt co

mm

and

line

Pho

ne c

usto

mer

and

Page 23: Analyse, conception et implantation d'un logiciel de CRM ... · projet et la conception d’un logiciel de CRM adapt´e a AdaCore, puis d’en r´ealiser une maquette et enfin d’en

Ren

ew s

ub-p

roce

ss

Zepur/Karen

Sen

d ex

pira

tion

notic

e w

ith C

PS

A&

rene

wal

quo

te

Email

2-3

mon

ths

(eve

nm

ore

durin

g su

mm

er)

befo

re e

xpira

tion

http

://…

/rene

w-m

sg.tx

t

OK

for

rene

wal

?

Upd

ate

acco

unts

file

(type

=“cl

osed

”)N

o

Upd

ate

acco

unts

file

Yes

Sim

ple

notic

e sh

owin

g th

atth

e cu

stom

er w

ishe

s to

rene

w

Sen

d “T

hank

you

”m

essa

ge A

t exp

iratio

n da

te

Sen

d si

mpl

eco

nfirm

atio

nm

essa

ge

Find

out

why

and

nego

tiate

Uns

ucce

ssfu

lne

gotia

tion

Pes

ter

cust

omer

No

resp

onse

PO

rece

ived

and

conf

orm

toqu

ote?

Yes

Upd

ate

acco

unts

file

No

Pest

ercu

stom

er

Soo

n th

e sa

me

mes

sage

as

in “o

pen

acco

unt”

Page 24: Analyse, conception et implantation d'un logiciel de CRM ... · projet et la conception d’un logiciel de CRM adapt´e a AdaCore, puis d’en r´ealiser une maquette et enfin d’en

Cus

tom

er re

ques

ts tr

aini

ng/c

onsu

lting

Zepur/Karen

Und

erst

and

cust

omer

’s n

eeds

Sen

d qu

ote

(em

ail)

Rec

eive

PO

and

chec

k it

vs. q

uote

Set

up d

ates

Onc

etra

inin

g/co

nsul

ting

done

Phone/email

- Tec

h. e

xper

ts a

vaila

bilit

y- C

usto

mer

sch

edul

e

Phone/email

- Tec

h. e

xper

t- S

ales

dpt

Yes

No

Not

ans

wer

edw

ithin

15-

30 d

ays

Find

out

why

and

nego

tiate

Pest

er p

rosp

ect

Acce

pt?

Invo

ice

Uns

ucce

ssfu

lne

gotia

tion

Giv

e up

A n

ote

indi

cate

s th

atno

trav

elar

rang

emen

ts o

r dat

esse

tup

can

be d

one

befo

re th

e PO

has

been

rece

ived

Gat

her

trave

lre

ceip

ts

Page 25: Analyse, conception et implantation d'un logiciel de CRM ... · projet et la conception d’un logiciel de CRM adapt´e a AdaCore, puis d’en r´ealiser une maquette et enfin d’en

Cus

tom

er re

ques

ts s

peci

al d

evel

opm

ent/e

nhan

cem

ent

Franco/Bernard/Robert Technical personnelZepur

Feas

ible

?

Writ

e an

dse

nd d

etai

led

offe

r (w

ithde

liver

yst

eps)

Invo

ice

(ifap

plic

able

)

Nex

t ste

pfin

ishe

d?

Invo

ice

Und

erst

and

exac

t nee

ds(m

ail +

phon

e)

Yes

Info

rm b

y em

ail/p

hone

Rec

eive

PO

Agr

eem

ent?

Yes

Rev

iew

offe

r

No

Som

etim

es, t

here

isno

initi

al in

voic

e

Whi

le o

ther

step

s re

mai

n

Arc

hive

em

ail

Page 26: Analyse, conception et implantation d'un logiciel de CRM ... · projet et la conception d’un logiciel de CRM adapt´e a AdaCore, puis d’en r´ealiser une maquette et enfin d’en

B ER Diagram

B ER Diagram

Le schema de la page suivante est celui de la base de donnees rela-tionnelle adoptee. Le schema a ete realise sous Microsoft Office Visio 2003Professionnel. Afin d’eviter une trop forte surcharge du diagramme, toutesles relations entre les tables ne sont pas indiquees explicitement par un lien.Une legende explique brievement les codes adoptes.

26

Page 27: Analyse, conception et implantation d'un logiciel de CRM ... · projet et la conception d’un logiciel de CRM adapt´e a AdaCore, puis d’en r´ealiser une maquette et enfin d’en

Contract

PKC

ontr

act_

Nb

PKC

ontr

act_

Type

FK1

Opp_Nb

FK2

PO_Nb

FK3

ACT_Nb

Dat

e_C

reat

edComment

Opp

PK,F

K1

Opp

_Nb

FK1

SE_T

ype

FK2

Reseller_Id

FK3

Nee

ds_L

ist_

IdDate_Needed

Need_Duration

PO

PK,F

K1

PO_N

b

FK1

SE_T

ype

Cust_PO_Nb

Amount_PO

FK2

Currency_Code

ACT

PK,F

K1

AC

T_N

b

FK1

SE_T

ype

Quote

PKQ

uote

_Id

FK1

Opp

_Nb

FK2

Cur

renc

y_C

ode

Dat

e_C

reat

edDate_Sent

Validity_Duration

Payment_Conditions

Other_Info

FK3

PN_L

ist_

Id

Invoice

PKIn

voic

e_N

b

FK2

PO_N

bFK

1C

urre

ncy_

Cod

eD

ate_

Cre

ated

Date_Sent

Date_Paid

Amount_Paid

Address

VAT_Nbr

Payment_Conditions

Other_Info

FK3

PN_L

ist_

Id

Shipment

PKSh

ipm

ent_

Nb

FK1

AC

T_N

bFK3

Prepared_By_Login

Date_Sent

Tracking_Nb

Address

Content

Comment

Contact

PKC

onta

ct_I

d

First_Name

Last_Name

Email

Phone

Fax

Cellular

Address

Comment

FK1

Picture_File_Id

Pref

_Ann

ounc

emen

t

Country

PKC

ount

ry_C

ode

Nam

eD

ispl

ay

Company

PKC

ompa

ny_I

d

Nam

eFK1

Former_Name

Sales_Entity

PKSE

_Typ

ePK

SE_N

b

FK2

Company_Id

FK1

Country_Code

FK3

Sale

s_R

ep_L

ogin

Dat

e_C

reat

edSt

atus

Reg

ion

Name

SiteAddress

Comment

Sales_Entity_Contact

PK,F

K1

SE_T

ype

PK,F

K1

SE_N

bPK

,FK

2C

onta

ct_I

d

Ord

inal

Posi

tion

*

*

Action_Item

PKA

I_Id

FK1

SE_Type

FK1

SE_Nb

FK2

Who

_Ass

igne

dFK3

Who_Done

Prio

rity

Dat

e_A

ssig

ned

Date_Done

Dea

dlin

eW

hat

*

0..1

0..1

0..1

Product

PKPN D

escr

iptio

n

**

*

*

*

Products

PK,F

K1

Prod

ucts

_Nb

FK1

Con

trac

t_Ty

peA

ctiv

eC

PSA

_Typ

eFK

4PN

_Lis

t_Id

FK5

CPSA_File_Id

Start_Date

Subs

crip

tion_

Dur

atio

nRenewal_Intention

Renewal_W

hy_Not

FK2

Renewal_Opp_Nb

FK3

Renewal_Products_Nb

FK6

Test_Plan_File_Id

0..1

Service

PK,F

K1

Serv

ice_

Nb

FK1

Con

trac

t_Ty

peFK2

PNAttendees

Description

SiteDays

Enhancement

PK,F

K1

Enha

ncem

ent_

Nb

FK1

Con

trac

t_Ty

peFK3

Contract_File_Id

FK2

PNDescription

0..1

Internal_User

PKLo

gin

First_Name

Last_Name

Qui

ck_N

ame

Region

Signature

Pref

_AI_

Mai

n_In

fPr

ef_A

I_M

ain_

Sup

Pref

_AI_

Oth

er_I

nfPr

ef_A

I_O

ther

_Sup

Pref

_Con

tact

_Nbr

**

*

Price

GT_User

PKLo

gin_

Emai

lPK

,FK

2A

CT_

Nb

FK1

Con

tact

_Id

Pass

wd_

Has

hA

dmin

Act

ive

Dow

nloa

dB

row

se_R

epor

tSe

nd_R

epor

t

*

Currency

PKC

urre

ncy_

Cod

e

Rat

eH

TML_

Sym

bol

Document

PK,F

K2

Doc

_File

_Id

FK1

SE_T

ype

FK1

SE_N

b

Email

PKEm

ail_

Id

Mes

sage

_Id

FK1

SE_Type

FK1

SE_Nb

Dat

e_R

ecei

ved

From

_Em

ail

From_Full_Name

Subj

ect

Con

tent

Ans

wer

edD

elet

ed

* *

Reseller

PKR

esel

ler_

Id

Nam

e*

*

**

Legend:

- C

olor

s ha

ve n

o sp

ecifi

c se

man

tics

in th

is d

iagr

am -

PK =

Prim

ary

Key

- FK

= F

orei

gn K

ey -

The _I

d suf

fix m

eans

the

attr

ibut

e is

an

inte

rnal

iden

tifie

r,un

know

n to

the

user

- Th

e _N

b suf

fix m

eans

the

attr

ibut

e is

an

iden

tifie

r use

d by

the

user

to d

esig

nate

a s

peci

fic in

stan

ce -

Bol

d at

trib

utes

are

requ

ired

*

Milestone

PK,F

K1

Enha

ncem

ent_

Nb

PKO

rdin

al

Description

Date_Expected

Date_Delivered

Date_Approved

Price

FK2

Currency_Code

*

Service_Day

PKSe

rvic

e_D

ay_I

d

FK1

Serv

ice_

Nb

Dat

e_D

one

Who

_Don

e

*

0..1

0..1

0..1

File

PKFi

le_I

d

File

_Nam

eM

ime_

Type

Des

crip

tion

Dat

e_In

sert

edFi

le_B

LOB

Attachment

PK,F

K1

Emai

l_Id

PKO

rdin

al

FK2

File

_Id

*

PN_List

PKPN

_Lis

t_Id

PN_List_Item

PK,F

K1

PN_L

ist_

IdPK

Ord

inal

PN Nb_Developers

Des

crip

tion

Single_Team

Price

*

1

1

1

SE_SE

PK,F

K1

SE1_

Type

PK,F

K2

SE1_

Nb

PKSE

2_Ty

pePK

SE2_

Nb

Comment