Wygday 2010 - architecture tfs et industrialisation
1. Industrialisation et TFS Guillaume BELMAS – Business Unit Manager Guillaume.belmas@wygwam.com Anouar ABIDI – Directeur de projet Anouar.abidi@wygwam.com
2. L’industrialisation ? Démarche d’industrialisation Comment débuter sa propre démarche L’usine logicielle par l’exemple L’usine logicielle dans le concret Conclusion Agenda
3. Pourquoi industrialiser ? Répondre aux exigences des entreprises Productivité Traçabilité Qualité de service Maitrise des coûts Le Système d’Information est devenu critique Passage d’un « centre de coût » à un « centre d’investissement » Les technologies évoluent et se complexifient Il 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 secteur L’édition logicielle Focus sur le périmètre fonctionnel et le cycle de vie Les sociétés de service Focus sur la planification et la maitrise des coûts Les DSI et les entreprises « utilisatrices » Focus métier : orientation du SI et des développements en fonction de la stratégie de l’entreprise Démarche d’industrialisation
5. 1er approche : l’aspect organisationnel Organisation des rôles Qui exprime le besoin Qui prend en charge ce besoin Qui réalise Qui maintient et effectue les fonctions supports Organisation des flux de travail Maintenance corrective ou maintenance évolutive ? Nouveau développement ou TMA ? Prise en charge des besoins de plusieurs Business Unit Une seule MOA ou plusieurs MOA métiers ? Organisation des flux de communications Démarche d’industrialisation
6. 2ème approche : l’aspect ALM Gestion du cycle de vie d’une application Méthodes formelles Méthodes « classiques » Cycle en V, cycle en cascade… Méthodes agiles Scrum, XP Prise en compte globale du cycle de vie Formalisation des besoins Pilotage et suivi de projet Release Management Monitoring applicatif et remontée d’indicateur Démarche d’industrialisation
7. 3èmeapproche : l’aspect outillage Mise en place d’une usine logicielle (Software Factory) Adapter les outils à l’organisation et aux méthodes Focaliser sur ses besoins : traçabilité, automatisation, qualité de code… L’outillage au sens large Outils de développement (évidemment) Framework d’entreprise, Framework technique, Framework Métier Gestion des configurations Notamment pour les architectures de type SOA Gestion des environnements Environnement de développement, test, UAT, pré-production Point anodin en apparence mais peut devenir parfois bloquant Bonne pratiques et qualité de code Démarche d’industrialisation
9. L’industrialisation représente une démarche d’entreprise « Le projet sans fin » ( ?) L’implication de tous est nécessaire Paradoxalement l’industrialisation relève de l’artisanat Chaque organisation est unique ! Favoriser l’approche incrémentale Faire évoluer sans bouleverser L’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’organisation Exemple : Ne commencez pas par la gestion d’exigences si vous ne savez pas ce que c’est ! « Je commence demain !»
10. TFS « raisonnable » App Tier Data Tier TFS AT TFS DT Cluster SQL Server Architecture “single” ou “Dual” Server
11. TFS « maxi best-of + grand coca » TFS Build Farm HR Applications TFS AT NLB Finance Applications TFS AT TFS Proxies Company Web site TFS AT Test Rig SharePoint Farm Data Warehouse Project Server Virtual Machine Manager
12. Répondre aux problématiques du développement en équipe : D’oùvientcette modification ? Est-ceque ma modification a étédéployée Quelssont les liens entre les branches ? Visualisation des branches
13. Validation de check-in Edit Code Check in Build and Test Did build succeed? Fixavailable? Find root cause Yes No Yes No Teamblocked Edit code Gated check-in Automated build Did build succeed? Commit Changes Readyfor test No Yes Avant Les Gated check-in interceptent les check-ins Déclenche un build pour valider les changements Seuls les changements qui sontvalidéssontacceptés Definition personnalisable de la notion de “réussite” L’utilisateurpeutlui-mêmedéclencherune validation préventive Après
16. Mise en pratique de la théorie : « Exploiter ce qui est commun pour créer du singulier » La plupart des outils proposés sont : Configurables Personnalisables Extensibles Le besoin prime toujours avant la technologie Avec un peu plus de temps
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 besoins Vous pouvez commencer dès aujourd’hui TFS « Basic » est gratuit (inclus dans MSDN) ! Conclusion