Vendredi 6 juin 2008 de 13H30 à 15H15

Vendredi prochain : version papier du compte rendu

Retour d'expérience 12 ans après

M. FABER Sébastien - Chef de projets à PERINFO

====== Sa formation : Les diplômes ======

Juin 96 : Bac S Maths
Juin 98 : DUT Informatique - Génie Logiciel
De 2000 à Mai 2004 : Diplôme ingénieur par cours du soir par le CNAM

Bilan : Statut cadre dans la Société, poste validé par le diplôme

====== Expériences professionelles ======

===== Stages =====

Stages d'intiatives personnelles :
  * ISCA : été 1997 (SSII Informatique de Gestion, Développement en Visual Basic)
  * SOGENAL : été 1998 (Service Informatique, Développement de PowerBuilder)

Stage à l'IUT : 
  * CNRS : avril - juin 1998 (Laboratoire d'analyse d'image par rayonnance, Développement en Visual C++)

===== Contrats de travail =====

  * CDD - Phonetics (Septembre / Octobre 1998): Société allemande spécialisée dans les pilotes de caméras ultra - rapide > 1 000 fps, Développement en Visual C++
  * CDI - Cohéris / ATIX (Janvier 1999 à Avril 2000): SSII spécialisée dans le développement d'outils de HelpDesk, CRM et gestion de parc, Développement en Lotus Notes
  * CDI - PERINFO (Depuis mai 2000): Editeur de progiciel dédié au métiers du transport de voyageur, et gestion de parc, Développement en Delphi

Dans COHERIS rythme de travail élevé car c'était une startup, France et Suisse : rencontre avec le client, aide à la formation (le développeur qui fait la doc, la formation, etc..) => Aide par la suite pour savoir ce dont ont besoin les utilisateurs

Depuis 2003, à PERINFO, est passé responsable d'équipe.

====== L'entreprise PERINFO ======

===== Historique =====

Fondée en 1982 : vente de matériel d'autocaristes

De là il a compris qu'ils avaient besoin de progiciels pour les autocaristes. A l'époque en DATAFLEX les programmes (sous MSDOS).
Ils ont vite étendu les logiciels au transport de voyageur et gestion de flotte / toursime.

S'est ensuite séparé en deux société en janvier 2008 : 
  * PEREZ Informatique : Tourisme
  * PERINFO SA : Transport

===== La structure =====

20 personnes : une taille humaine, une couverture nationale, une ambition internationale

  * Direction
  * Administratif (Compatabilité, Standard, etc.)
  * Service Technique :
    * Hotliners (3 pers) => un des avantages de la Société
    * Formateurs (2pers)
    * Consultants (2pers)
  * Service Développement (8pers)
  * Commerciaux (3pers)

Le service de développement (géré par M.FABER): 
  * Noyau fixe (2pers min)
  * Apprentis (1min par année)
  * Stagiaires (exceptionnellement)

===== Les produits =====

  * GESCAR (comme gestion de cars)
    * Produit phare déclinée en plusieurs versions
    * Un ensemble de modules d'interfaçage
  * Les outils internes : 
    * Logiciel de HelpDesk : suivre les incidents qui arrivent en Hotline (résolu comment ? Par qui ? En combien de temps ? etc...)
    * Logiciel de CRM et de suivi de parc de clients (en architecture 3 tiers avec interface Web)

===== Les outils =====

Environnement de développement : 
  * Delphi 3, Delphi 6, Delphi 2005 (Langage Pascal Objet, migration possible vers Delphi 2007)
  * C#, ASP.NET (principalement pour la partie présentation de la version WEB)

Moteurs de base de données : 
  * Interbase 6, Oracle (8i, 9i, 10g, XE, etc.) : livré de base avec Delphi (pour interbase). Mais limite de 2GO de données, donc obligation de passer à Oracle

Autres outils 
  * Logiciel de Helpdesk interne
  * SVN

===== La méthodologie =====

Existence de règles de développement :
  * Nomenclature et typage (Variable du code ou champs / tables de la base)
  * Présentation du code source (Indentation, commentaires, etc.)
  * Présentation des écrans (Charte graphique existante mais pas toujours respectée) => Homogénéité de l'application
  * Principe de programmation basique (Objets à utiliser, Gestion de la mémoire, Gestion des accès à la base, etc.)

Existence de règles de déboggage

Existence de règles de versionning (via SVN) => on part des branches pour remonter au trunk

A été mis en place depuis 2005 (le SVN) => moins de remontées de régression, donc on a toujours une branche livrable, moins de problèmes suite à un ajout spécifique, etc.

Tests / Qualité
  * Réalisés par le développeur (fonctionnellement et techniquement par rapport à la solution choisie)
  * Réalisés par le chef de projet (Fonctionnellement et techniquement par rapport à la solution choisie, ce dernier réalise aussi des tests de non régrssion ou des tests axés sur la gestion de la mémoire)
  * Réalisés par le service technique (Fonctionnellement par rapport à un incident ou par rapport à une analyse précise)

La documentation du code source : réalisée au fil du développement)

La documentation de la base de données

La documentation des fonctionnalités

===== Les tâches =====

  * Maintenance : 
    * GESCAR (selon les versions)
    * Outils internes :
      * logiciel de HelpDesk stable
      * Autres outiles basés sur GESCAR (Ils osnt toujours maintenus dans la version courante)

Se rapprocher du contexte du client le plus possible pour reproduire le problème : Avoir sa base de données, se mettre dans le contexte exact, etc.

===== Les développements spécifiques =====

Un développement spécifique est une réponse à un besoin spécifique d'une entreprise, de leur activité, de leur façon de fonctionner, etc.

Lors d'appel d'offre on a un cahier avec des cases à cocher avec "on fait", "on fait pas".

__Comment cela se passe - t -il ?__

  * Analyser la demande avec le client : déplacement sur site, échange de courriels, validation de l'analyse, etc.
  * Généraliser au maximum la demande : A faire bien sûr durant la phase d'analyse
  * Faire financer le développement par le client
  * Développer, [Recetter,] et installer chez le client : Le recettage n'est malheureusement pas toujours possible et la mise en production sert de phase de tests

===== La recherche & Développement =====

C'est : 
  * Le plan produit : Règlementation qui change (par exemple)
  * La veille technologique

__Comment cela se passe - t - il ?__

  * Analyse par un groupe en interne : A laquelle peuvent se joindre des clients
  * Validation en comité de pilotage : Intérêt de l'amélioration, possibilité de vente future, etc.
  * Développement, tests et déploiement : Le déploiement se fait dans une ou plusieurs versions définies en amont du projet

====== Le poste de chef d'équipe / de projets ======

===== Les tâches =====

  * Analyses
  * Planification
  * Suivi
  * Réunions
  * Recherche & Développement

===== Les outils =====

Fichier de suivi Excel personnalisé :
  * Les disponibilités (inclus les CP, RTT, déplacement, périodes scolaires, etc.)
  * Les projets (en cours, à venir, terminés, abandonnés, etc. Etat, Type (G comme gratuité, PP comme P* Produit, D comme devis), Priorité, Marge, etc.)
  * Le planning prévisionnel (Affectation globale par mois en % d'occupation et permattant d'intégrer les "impondérables" ou le support (en moyenne 30% du temps d'un développeur))
  * Un tableau récapitulatif annuel pour la direction (Incluant la marge théorique, des indicateurs de dépassement en temps ou décart dans el cas d'une vente fortement remisée, etc.)

Fiche hebdomadaire de suivi des temps
  * Pour les développeurs (Type de travail effectué, dénomination du projet, temps passé (min 0.5j))
  * Pour lui (Type de travail effectué, dénomination du projet, temps passé (min 0.5h))

===== Les difficultés rencontrées =====

Par rapport au service : 
  * La recherche / création d'outils de suivi adéquats
  * La prise en compte de l'aspect financier
  * La gestion du temps
  * L'acceptation de la délégation
  * Le management

Conseil : n'en faites pas trop sinon vous perdrez du temps à le faire !

Par rapport aux autres services
  * La gestion des conflits d'intérêts
  * Savoir s'imposer et défendre son équipe

En réunion de pilotage : justifier ses choix (écoute réciproque)


