22 ALM : Le succès de vos projets de développement Mardi 9 février 2010 François MERAND - Platform & ALM Advisor Microsoft France – DPE
33
44 Improving Business ProcessesReducing Enterprise CostImproving enterprise workforce effectivenessAttracting and Retaining new customersIncreasing the use of Information or AnalyticsCreating new products or service (innovation)Targeting customers and markets more effectivelyManaging Change initiativesExpanding current customer relationshipsExpanding into new markets or geographies * * * * * * * * Gartner 2009
55 Un des 1ers objectifs de la stratégie métier de lentreprise est de créer un avantage compétitif sur le marché – Etre différent ! Aujourdhui, toutes les stratégies métiers embarquent virtuellement une composante IT – Qui généralement sappuie sur des applications et développements spécifiques
66 Stratégie métier & IT Les bénéfices de linnovation LIT en tant que différentiateur Avantage Compétitif de Lentreprise temps IT StratégiqueIT Utilitaire 1 ère entreprise qui innove sur son marché 2 ème entreprise à implémenter cette innovation 3 ème entreprise à implémenter cette innovation Zone de différentiation
77 Stratégie métier être différent de vos concurrents Etre différent Investissements IT-stratégique pour matérialiser cette différentiation Investissements IT-stratégique développements spécifiques Développements spécifiques Application Lifecycle Management – Avoir une vraie filière ALM est essentiel pour créer de la valeur stratégique
88 Une brique du capital de l'entreprise… Le cycle de vie des applications (lifecycle) couvre toute la période durant laquelle une organisation engage des moyens (, ressources) sur son patrimoine applicatif De l'idée de départ jusqu'à la fin de vie de la solution Les 3 composantes associées à l'ALM : Gouvernance: prise de décision et gestion de projets Développement: les processus qui permettent de créer (et mettre à jour) les applications Exploitation: l'ensemble des tâches requises pour exploiter et maintenir les applications Application Lifecycle Management
99 Les principaux domaines de lALM… Architecture & DesignQualité du codeGestion de configurationGestion de donnéesDéploiement & OpérationsGouvernanceGestion de projetAssurance qualitéGestion des exigencesUser Experience
10 Gestion de projet KPI and Scorecards Communication Mgmt Task Management Risk Mgmt Portfolio Mgmt PMO ALM Platform Operations Gouvernance Exigences Business Analyst Business Archi (Motion) Requirements Mgmt Requirements Elicitation SCM & Build Build Manager Gated Build Process Test Deployment Continuous Integration Build Management Gestion des tests Testing KPIs Incremental Testing System Testing Unit Testing Test Cases Test Strategy Infrastructure Opérations Code Review Process Coding Best Practices Software Factories Enterprise P&P Développements Gouvernance projets Architecture dentreprise Méthodologie(SDLC) Gestion de versions Compliance (SOX) Normalisation Documentation Best Prac Refactoring ALM Platform Monitoring Platform Capacity Mgmt Platform Design/Topology Migration/Integration Workflow Engine ALM System Integration Install/Setup Security Implementation Developer Operations Role Guidance User Acceptance Testing SCM Manager Gouvernance architecture SCM Management Project Manager DBA Performance Testing Test Manager Sécurité Secure Dev Best Prac DB Development
11 Déploiement Fin de vie Idée Les 3 composantes de lALM Gouvernance Dev Exploitation SDLC, v2 Maintenance SDLC, v1 Application Portfolio Management Business Case Development Project Portfolio Management Déploiement Supervision Mises à jour
12
13 ALM 3 – ALM Maturity Model DynamicAdvancedStandardBasic
14 LALM en tant que processus métiers LALM est lui-même un processus métier critique Un de ceux qui supporte les nombreux autres processus métiers de l'organisation Toute organisation qui développe des logiciels devrait considérer lALM comme un processus métier aussi important que ses autres processus métiers critiques. Etre meilleur dans son processus de création logiciel procure un avantage compétitif certain
15 LALM de plus près Ce que le développement de logiciel nest pas… Développer du logiciel nest pas un processus industriel « réplicable » Attention au terme software factory Plus sur le modèle « construire une maison » Différentiation retardée Développement logiciel = au service de linnovation Si ce nest pas le cas Posez-vous la question! Il faut de la rigueur et de la flexibilité…
16 Inner Circle : LALM au coeur de lentreprise ALM in motion
17
18
19 Les processus sont figés dans leurs craintes (Kent Beck)
20 Dev Les années 90 : IDE Pour les développeurs 1ers outils orientés tâches (ex : le contrôle de sources) Dev
21 Transparence et communication entre membres de léquipe CPDevDBTestArch CP DevsDBTest Arch
22 Les derniers murs (silots) tombent…
23 Visibilité et alignement pour toute la filière de développement Qualité et agilité au coeur des processus Collaboration (HUB) PM Arch Test Devs DB PMO OperationsDesignersCustomersBusiness Analyst PMO Operations Designers Customers Business Analyst PM Arch Test Devs DB
24 Serveurs mutualisés Source Code Versions Development Tool Design Documents Architecture Tool Outils de développement Objectif: Optimiser le processus de bout en bout Requirements Requirements Tool Project Statistics Project Management Tool Test Cases Test Tool Microsoft Team Foundation Server
25 Outillage de lALM Gouvernance Microsoft Project, Project Server Développement Visual Studio 2010 La gamme Expression Exploitation la famille System Center L'intégration entre ces briques est primordiale ! … et va continuer à s'améliorer Linteropérabilité est omniprésente Ecosystème Partenaires P&P Proposition de valeur de la plateforme Microsoft
26 Visual Studio 2010
27 Test and Lab Manager Manual Testing Layer Diagram UML Modeling Load Testing Web Testing Test Case Management IntelliTrace Architecture Explorer Test Record & Playback Logical Class Designer Cloud Development Office Development Windows Development New WPF Editor Customizable IDE Multi-core Development Silverlight Tools Web Development SharePoint Development Generate from Usage Static Code Analysis Database Deployment Code Metrics Database Unit Testing Test Data Generation Test Impact Analysis UI Test Automation Code Coverage Performance Profiling Database Change Mgmt
28 Interopérables Sécurité Administration Outillage Performances … Interopérables Sécurité Administration Outillage Performances … Une démarche ALM avec : Des processus Des technologies Des équipes Productivité Gestion de projet Productivité Gestion de projet Guides Gestion des risques et des exigences Agiles Guides Gestion des risques et des exigences Agiles
29 DéveloppementDéveloppement IT Operations Gouvernance IT et métier ExigencesMétiers identifiées identifiéesExigencesMétiers ExigencesMétiersdélivrésExigencesMétiersdélivrés
30 DéveloppementDéveloppement IT Operations Gouvernance IT et métier La démarche ALM La coordinationExigencesMétiers identifiées identifiéesExigencesMétiers ExigencesMétiersdélivrésExigencesMétiersdélivrés
31
32
33
34
35
36 Lapproche Microsoft Focalisée sur les équipes, les process et les outils EquipesProcessOutils Favoriser lexcellence Mesurer et améliorer la qualité Responsabiliser Accompagnement méthodologique Personnalisable Non intrusif Très intégrés ProductifsExtensibles Courbe dapprentissage réduite Pilotage et transparence des projets Qualité logicielle Collaboration
37 ALM avec
38
39 Gestion de projets
40 Architecure et modélisation
41 Qualité du code Analyse de code Tests unitaires et couverture de tests
42 Suivi de implicite lactivité
43 Automatisation des builds
44 Tests fonctionnels
45 Pilotage par tableaux de bord
46 Collaboration
47 Agilité des processus
48 Identifier les points critiques
49 Quelques nouveautés 2010
50
51 Niveau de bruit dun projet
52 Une nouvelle approche du développement Nouvelle approche du développement Itératif, par évolutions, adaptations Une approche empirique au niveau processus, communication, documentation, … Approche classique Inspirée des processus industriels Approche en cascade ! Exigences complètement rédigées au début des projets ! Planification Étapes définies
53 Source : The New New Product Development Game par Takeuchi et Nonaka. Harvard Business Review, Janvier Les équipes agiles font un peu de tout, tout le temps Plutôt que de faire toute une discipline d'un coup... Exigences Conception Code Test Activités séquentielles vs. parallèles
54 Décider le plus tard possible Livraisons incrémentales Livraisons itératives
55 Changer de Paradigme Avancement Tâches restantes Plan Tâche 1 Tâche 2 Tâche 3 Tâche 4 Valeur Augmentation de la valeur
56 Remarques Inspecter les résultats dune itération Adapter les pratiques en fonction des objectifs de la prochaine itération, de la composition de léquipe, … Figer des bonnes pratiques ? Dangereux ! Focus sur des tâches à faire moins danticipation sur limpact de nos actions !!! Perte de vue globale Définir un processus prévisible ? Risqué ! Demander aux équipes de développement de définir les pratiques adaptées à une itération donnée Solution : Équipe auto- organisée
57 Critères de succès agile vs classique Critères de succès classique : Atteindre létat souhaité Essayer de prévoir à chaque étape toutes les possibilités Planifier dans les détails Définir un processus prédictif Critères de succès agile : Atteindre un bon niveau dadaptation au contexte Considérer les changements dans un projet comme naturels Inspecter, à chaque étape, létat dun projet et sadapter Pas de leaders, tout membre de léquipe contribue ! Facilitateurs, supporteurs plutôt quexperts ou autorités !
58 Scrum 24 heures
59