Industrialisation et TFSGuillaume BELMAS – Business Unit ManagerGuillaume.belmas@wygwam.comAnouar ABIDI – Directeur de projetAnouar.abidi@wygwam.com
L’industrialisation ?Démarche d’industrialisationComment débuter sa propre démarcheL’usine logicielle par l’exempleL’usine logicielle dans le concretConclusionAgenda
Pourquoi industrialiser ?Répondre aux exigences des entreprisesProductivitéTraçabilitéQualité de serviceMaitrise des coûtsLe Système d’Information est devenu critiquePassage d’un « centre de coût » à un « centre d’investissement »Les technologies évoluent et se complexifientIl faut conserver la productivité !« L’industrialisation, c’est notre réponse à la crise ! »Industrialisation ?
Qui est concerné ?L’approche est différente selon l’entreprise et le secteurL’édition logicielleFocus sur le périmètre fonctionnel et le cycle de vieLes sociétés de serviceFocus sur la planification et la maitrise des coûtsLes DSI et les entreprises « utilisatrices »Focus métier : orientation du SI et des développements en fonction de la stratégie de l’entrepriseDémarche d’industrialisation
1er approche : l’aspect organisationnelOrganisation des rôlesQui exprime le besoinQui prend en charge ce besoinQui réaliseQui maintient et effectue les fonctions supportsOrganisation des flux de travailMaintenance corrective ou maintenance évolutive ?Nouveau développement ou TMA ?Prise en charge des besoins de plusieurs Business UnitUne seule MOA ou plusieurs MOA métiers ?Organisation des flux de communicationsDémarche d’industrialisation
2ème approche : l’aspect ALMGestion du cycle de vie d’une applicationMéthodes formellesMéthodes « classiques »Cycle en V, cycle en cascade…Méthodes agilesScrum, XPPrise en compte globale du cycle de vieFormalisation des besoinsPilotage et suivi de projetRelease ManagementMonitoring applicatif et remontée d’indicateurDémarche d’industrialisation
3èmeapproche : l’aspect outillageMise en place d’une usine logicielle (Software Factory)Adapter les outils à l’organisation et aux méthodesFocaliser sur ses besoins : traçabilité, automatisation, qualité de code…L’outillage au sens largeOutils de développement (évidemment)Framework d’entreprise, Framework technique, Framework MétierGestion des configurationsNotamment pour les architectures de type SOAGestion des environnementsEnvironnement de développement, test, UAT, pré-productionPoint anodin en apparence mais peut devenir parfois bloquantBonne pratiques et qualité de codeDémarche d’industrialisation
Démarche d’industrialisation
L’industrialisation représente une démarche d’entreprise« Le projet sans fin » ( ?)L’implication de tous est nécessaireParadoxalement l’industrialisation relève de l’artisanatChaque organisation est unique !Favoriser l’approche incrémentale Faire évoluer sans bouleverserL’approche « big bang » mène à l’échec (promis, on a déjà essayé pour vous)Mettre la priorité d’un sujet en adéquation avec la maturité de l’organisationExemple : Ne commencez pas par la gestion d’exigences si vous ne savez pas ce que c’est !« Je commence demain !»
TFS « raisonnable »App TierData TierTFS ATTFS DTCluster SQL ServerArchitecture “single” ou “Dual” Server
TFS « maxi best-of + grand coca »TFS Build FarmHR ApplicationsTFS ATNLB Finance ApplicationsTFS ATTFS ProxiesCompany Web siteTFS ATTest RigSharePoint FarmDataWarehouseProject ServerVirtual Machine Manager
Répondre aux problématiques du développement en équipe :D’oùvientcette modification ?Est-ceque ma modification a étédéployéeQuelssont les liens entre les branches ?Visualisation des branches
Validation de check-inEdit CodeCheck inBuild and TestDid build succeed?Fixavailable?Find root causeYesNoYesNoTeamblockedEdit codeGated check-inAutomated buildDid build succeed?Commit ChangesReadyfor testNoYesAvantLes Gated check-in interceptent les check-insDéclenche un build pour valider les changementsSeuls les changements qui sontvalidéssontacceptésDefinition personnalisable de la notion de “réussite”L’utilisateurpeutlui-mêmedéclencherune validation préventiveAprès
Test Lab Management
Une mini software factory en quelques minutes…
Mise en pratique de la théorie :« Exploiter ce qui est commun pour créer du singulier »La plupart des outils proposés sont :ConfigurablesPersonnalisablesExtensiblesLe besoin prime toujours avant la technologieAvec un peu plus de temps
Un exemple concret…Taqi ABBAS – Redcats E.S
Un constat : une heure ce n’est pas suffisant !Nous n’avons balayé qu’une toute petite partie des outils de Visual Studio ALM !« Penser puis agir »L’outillage peut apporter énormément s’il est en adéquation avec les besoinsVous pouvez commencer dès aujourd’huiTFS « Basic » est gratuit (inclus dans MSDN) !Conclusion
Emplacement éventuel pour votre logo

Wygday 2010 - architecture tfs et industrialisation

  • 1.
    Industrialisation et TFSGuillaumeBELMAS – Business Unit ManagerGuillaume.belmas@wygwam.comAnouar ABIDI – Directeur de projetAnouar.abidi@wygwam.com
  • 2.
    L’industrialisation ?Démarche d’industrialisationCommentdébuter sa propre démarcheL’usine logicielle par l’exempleL’usine logicielle dans le concretConclusionAgenda
  • 3.
    Pourquoi industrialiser ?Répondreaux exigences des entreprisesProductivitéTraçabilitéQualité de serviceMaitrise des coûtsLe Système d’Information est devenu critiquePassage d’un « centre de coût » à un « centre d’investissement »Les technologies évoluent et se complexifientIl faut conserver la productivité !« L’industrialisation, c’est notre réponse à la crise ! »Industrialisation ?
  • 4.
    Qui est concerné?L’approche est différente selon l’entreprise et le secteurL’édition logicielleFocus sur le périmètre fonctionnel et le cycle de vieLes sociétés de serviceFocus sur la planification et la maitrise des coûtsLes DSI et les entreprises « utilisatrices »Focus métier : orientation du SI et des développements en fonction de la stratégie de l’entrepriseDémarche d’industrialisation
  • 5.
    1er approche :l’aspect organisationnelOrganisation des rôlesQui exprime le besoinQui prend en charge ce besoinQui réaliseQui maintient et effectue les fonctions supportsOrganisation des flux de travailMaintenance corrective ou maintenance évolutive ?Nouveau développement ou TMA ?Prise en charge des besoins de plusieurs Business UnitUne seule MOA ou plusieurs MOA métiers ?Organisation des flux de communicationsDémarche d’industrialisation
  • 6.
    2ème approche :l’aspect ALMGestion du cycle de vie d’une applicationMéthodes formellesMéthodes « classiques »Cycle en V, cycle en cascade…Méthodes agilesScrum, XPPrise en compte globale du cycle de vieFormalisation des besoinsPilotage et suivi de projetRelease ManagementMonitoring applicatif et remontée d’indicateurDémarche d’industrialisation
  • 7.
    3èmeapproche : l’aspectoutillageMise en place d’une usine logicielle (Software Factory)Adapter les outils à l’organisation et aux méthodesFocaliser sur ses besoins : traçabilité, automatisation, qualité de code…L’outillage au sens largeOutils de développement (évidemment)Framework d’entreprise, Framework technique, Framework MétierGestion des configurationsNotamment pour les architectures de type SOAGestion des environnementsEnvironnement de développement, test, UAT, pré-productionPoint anodin en apparence mais peut devenir parfois bloquantBonne pratiques et qualité de codeDémarche d’industrialisation
  • 8.
  • 9.
    L’industrialisation représente unedémarche d’entreprise« Le projet sans fin » ( ?)L’implication de tous est nécessaireParadoxalement l’industrialisation relève de l’artisanatChaque organisation est unique !Favoriser l’approche incrémentale Faire évoluer sans bouleverserL’approche « big bang » mène à l’échec (promis, on a déjà essayé pour vous)Mettre la priorité d’un sujet en adéquation avec la maturité de l’organisationExemple : Ne commencez pas par la gestion d’exigences si vous ne savez pas ce que c’est !« Je commence demain !»
  • 10.
    TFS « raisonnable »AppTierData TierTFS ATTFS DTCluster SQL ServerArchitecture “single” ou “Dual” Server
  • 11.
    TFS « maxi best-of+ grand coca »TFS Build FarmHR ApplicationsTFS ATNLB Finance ApplicationsTFS ATTFS ProxiesCompany Web siteTFS ATTest RigSharePoint FarmDataWarehouseProject ServerVirtual Machine Manager
  • 12.
    Répondre aux problématiquesdu développement en équipe :D’oùvientcette modification ?Est-ceque ma modification a étédéployéeQuelssont les liens entre les branches ?Visualisation des branches
  • 13.
    Validation de check-inEditCodeCheck inBuild and TestDid build succeed?Fixavailable?Find root causeYesNoYesNoTeamblockedEdit codeGated check-inAutomated buildDid build succeed?Commit ChangesReadyfor testNoYesAvantLes Gated check-in interceptent les check-insDéclenche un build pour valider les changementsSeuls les changements qui sontvalidéssontacceptésDefinition personnalisable de la notion de “réussite”L’utilisateurpeutlui-mêmedéclencherune validation préventiveAprès
  • 14.
  • 15.
    Une mini softwarefactory en quelques minutes…
  • 16.
    Mise en pratiquede la théorie :« Exploiter ce qui est commun pour créer du singulier »La plupart des outils proposés sont :ConfigurablesPersonnalisablesExtensiblesLe besoin prime toujours avant la technologieAvec un peu plus de temps
  • 17.
    Un exemple concret…TaqiABBAS – Redcats E.S
  • 18.
    Un constat :une heure ce n’est pas suffisant !Nous n’avons balayé qu’une toute petite partie des outils de Visual Studio ALM !« Penser puis agir »L’outillage peut apporter énormément s’il est en adéquation avec les besoinsVous pouvez commencer dès aujourd’huiTFS « Basic » est gratuit (inclus dans MSDN) !Conclusion
  • 19.