Upload
ace-fabre
View
107
Download
4
Tags:
Embed Size (px)
Citation preview
22
ALM : Le succès de vos projets de développement Mardi 9 février 2010
François MERAND - [email protected] & ALM AdvisorMicrosoft France – DPE
33
Quelles sont vos priorités ?
44
Les priorités 2009 de l’IT L’innovation au service de l’efficacitéet de la maîtrise des coûts
Improving Business Processes
Reducing Enterprise Cost
Improving enterprise workforce effectiveness
Attracting and Retaining new customers
Increasing the use of Information or Analytics
Creating new products or service (innovation)
Targeting customers and markets more effectively
Managing Change initiatives
Expanding current customer relationships
Expanding into new markets or geographies
2008 2007 2006
4
7
1
5
6
2
8
3
9
12
9
*
1
2
4
3
7
10
*
*
*
*
1
2
*
3
6
9
*
*
2009
10
9
1
2
3
4
5
6
7
8
Gartner 2009
55
Stratégie métier & ITDe l'importance d'être différent
• Un des 1ers objectifs de la stratégie métier de l’entreprise est de créer un avantage compétitif sur le marché– Etre différent !
• Aujourd’hui, toutes les stratégies métiers embarquent virtuellement une composante IT– Qui généralement s’appuie sur des applications et
développements spécifiques
66
Stratégie métier & ITLes bénéfices de l’innovationL’IT en tant que différentiateur
Avantage Compétitif de L’entreprise
tempsIT Stratégique IT 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
Etablir la connexionDe la stratégie métier à l’ALM
• 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 applicationsExploitation: l'ensemble des tâches requises pour exploiter
et maintenir les applications
Application Lifecycle Management
99
Les principaux domaines de l’ALM…
Architecture & Design
Qualité du code
Gestion de configuration
Gestion de données
Déploiement & Opérations
Gouvernance
Gestion de projet
Assurance qualité
Gestion des exigences
User Experience
1010
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 KPI’s
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 d’entrepriseMéthodologie(SDLC)
Gestion de versions Compliance (SOX) Normalisation
Documentation Best Prac
Refactoring
ALM Platform Monitoring
Platform Capacity MgmtPlatform Design/TopologyMigration/Integration
Workflow Engine
ALM System Integration
Install/Setup
Security Implementation
Developer
Operations Role Guidance
User Acceptance TestingSCM Manager
Gouvernance architecture
SCM Management
Project Manager
DBA
Performance Testing
Test Manager
Sécurité
Secure Dev Best Prac
DB Development
…répartis dans 3 composantes
1111
Déploiement Fin de vieIdée
Les 3 composantes de l’ALM
Gouvernance
Dev Dev Dev
Exploitation
SDLC, v2
MaintenanceSDLC, v1
Application Portfolio
Management
Business Case Development
Project Portfolio Management
Déploiement
SupervisionMises à jour
1212
Connaitre ses limites
1313
ALM3 – ALM Maturity Model
Dynamic
Advanced
Standard
Basic
1414
L’ALM en tant que processus métiers
L’ALM est lui-même un processus métier critiqueUn de ceux qui supporte les nombreux autres processus
métiers de l'organisation
Toute organisation qui développe des logiciels devrait considérer l’ALM 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
1515
L’ALM de plus prèsCe que le développement de logiciel n’est pas…
Développer du logiciel n’est 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 l’innovationSi ce n’est pas le cas Posez-vous la question!Il faut de la rigueur et de la flexibilité…
1616
Inner Circle : L’ALM au coeur de l’entreprise
ALM in motion
1717
Inner Circle, nos partenaires ALM 2010
1818
Commençons par observer…
1919
“Les processus sont figés dans leurs craintes”(Kent Beck)
2020
Dev Dev Dev Dev Dev
Les années 90 : IDE Pour les développeurs
1ers outils orientés “tâches” (ex : le contrôle de sources)
Dev Dev Dev Dev Dev
2121
Les années 2000: outils de développement en équipe
• Transparence et communication entre membres de l’équipe
CP Dev DB Test Arch
CP Devs DB Test Arch
2222
Les derniers murs (silots) tombent…
2323
• 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
Et depuis 2010…
PMO Operations Designers Customers Business Analyst
PMOOperationsDesigners CustomersBusiness Analyst
PM
Arch Test Devs
DB
2424
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
2525
Outillage de l’ALM
GouvernanceMicrosoft Project, Project Server
DéveloppementVisual Studio 2010La gamme Expression
Exploitationla famille System Center
L'intégration entre ces briques est primordiale !… et va continuer à s'améliorer
L’interopérabilité est omniprésente
• Ecosystème• Partenaires• P&P
Proposition de valeur de la plateforme Microsoft
2626
OperationsDevelopmentPMO
Visual Studio 2010
2727
Test and Lab Manager
Manual Testing
Layer Diagram
UML Modeling
Load Testing Web Testing
Test Case ManagementIntelliTrace™
Architecture Explorer Test Record & Playback
Logical Class Designer
Cloud Development
Office Development
Windows Development
New WPF Editor Customizable IDE
Multi-core DevelopmentSilverlight Tools
Web Development
SharePoint Development
Generate from Usage
Static Code Analysis
Database Deployment
Code Metrics
Database Unit Testing Test Data Generation
Test Impact AnalysisUI Test Automation
Code Coverage
Performance Profiling
Database Change Mgmt
2828
Interopérables Sécurité Administration
Outillage Performances …
Une démarche ALM avec :
Des processus
Des technologies
Des équipes Productivité
Gestion de projet
Guides Gestion des risques et des
exigences Agiles
2929
La démarche ALMLa vision IT
Développement
IT OperationsGouvernance IT et métier
Exigences Métiers
identifiées
ExigencesMétiersdélivrés
3030
Développement
IT OperationsGouvernance IT et métier
La démarche ALMLa coordination
Exigences Métiers
identifiées
ExigencesMétiersdélivrés
3131
Donc je prends
et c’est suffisant ?
3232
Développeurs ou musiciens ?
3333
De bons outils de développement
3434
De la méthode !
3535
Une équipe projet
3636
L’approche MicrosoftFocalisée sur les équipes, les process et les outils
Equipes Process Outils
Favoriser l’excellence
Mesurer et améliorer la qualité
Responsabiliser
Accompagnement méthodologique
Personnalisable
Non intrusif
Très intégrés
Productifs
Extensibles
Courbe d’apprentissage réduite
Pilotage et transparencedes projets
QualitélogicielleCollaboration
3737
ALM avec
3838
Exigences, workflow et traçabilité
3939
Gestion de projets
4040
Architecure et modélisation
4141
Qualité du code
Analyse de code
Tests unitaires et couverture de tests
4242
Suivi de implicite l’activité
4343
Automatisation des builds
4444
Tests fonctionnels
4545
Pilotage par tableaux de bord
4646
Collaboration
4747
Agilité des processus
4848
Identifier les points critiques
4949
Quelques nouveautés 2010
5050
Agile ?
5151
Niveau de bruit d’un projet
5252
Une nouvelle approche du développement
Nouvelle approche du développement Itératif, par évolutions, adaptationsUne approche empirique au niveau processus,
communication, documentation, …
Approche classique Inspirée des processus industrielsApproche en cascade !Exigences complètement rédigées au début des projets !Planification Étapes définies
5353
Source : “The New New Product Development Game” par Takeuchi et Nonaka. Harvard Business Review, Janvier 1986.
...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
5454
Décider le plus tard possible
Livraisons incrémentales
Livraisons itératives
5555
Changer de Paradigme
Avancement
Tâch
es
rest
an
tes Plan
Tâche 1Tâche 2Tâche 3Tâche 4
Vale
ur
Augmentation de la valeur
5656
Remarques
•Inspecter les résultats d’une 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 d’anticipation sur l’impact 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
5757
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
d’adaptation au contexte
•Considérer les changements dans un projet comme naturels •Inspecter, à chaque étape, l’état d’un projet et s’adapter •Pas de leaders, tout membre de l’équipe contribue !•Facilitateurs, supporteurs plutôt qu’experts ou autorités !
5858
Scrum
24 heures
5959
La réponse est oui.Mais quelle était la question ?
Questions ?