1.21k likes | 1.36k Views
ALM avec Visual C++ v1.0b. Christophe Pichaud Architecte MCSD, MCSD.NET. A propos de ChristopheP. 1994 Développeur Windows Platform SDK 1997 Développeur Services NT sur Windows NT 2000 Développeur COM, OLE et MFC 2003 Développeur ATL et DCOM 2005 Consultant Senior Microsoft .NET
E N D
ALM avec Visual C++v1.0b Christophe PichaudArchitecte MCSD, MCSD.NET
A propos de ChristopheP 1994 Développeur Windows Platform SDK 1997 Développeur Services NT sur Windows NT 2000 Développeur COM, OLE et MFC 2003 Développeur ATL et DCOM 2005 Consultant Senior Microsoft .NET 2007 Consultant Microsoft Windows Server 2009 Architecte Microsoft Email: christophepichaud@hotmail.com WWW: www.christophep.com
Agenda Quel est votre type de développeur C/C++ ? Standard, Windows C++, Hybride Introduction à ALM Introduction, Agilité et Guidances Patterns and Practices TFS 2010 et Visual Studio 2010 TFS et la famille de produits Visual Studio Visual C++ 2010 Les extensions Visual Studio Architecture Explorer
Visual Studio et Visual C++ Les outils du développeur VC++
La gestion de projet classique Synch to SharePoint Sites Demand Management Business Intelligence & Reporting Composites Communities Portfolio Selection Insights Content Project Team Collaboration Resource Management Search Schedule Management
Avant ALM et l’Agile The Microsoft Way
Microsoft’s Modeling Strategy • Domain Specific Languages (DSLs) • Model-driven development (MDD) • From Object to Services • Components and Deploy-Time Reuse • 2 canevas Microsoft • MOF • MSF
ALM Application Lifecycle Management
Application Lifecycle Management (ALM) ? http://www.microsoft.com/downloads/en/details.aspx?displaylang=en&FamilyID=b4765f41-a2c2-41e4-a1da-b35e1f502ef6 Microsoft Download Center Defining application lifecycle management (ALM) isn’t easy. Different people (and different vendors) take quite different perspectives. Still, ALM is an important topic, and so understanding what it encompasses is also important.
ALM par Microsoft Services http://www.microsoft.com/microsoftservices/en/us/custom_development.aspx
ALM par Microsoft Services http://www.microsoft.com/microsoftservices/en/us/custom_development.aspx
ALM par David Chappell Les 3 aspects de ALM
ALM par David Chappell La Gouvernance
ALM par David Chappell Le Développement
ALM par David Chappell Les Opérations
ALM chez Microsoft Visual C++ Team The Microsoft Way Team Foundation Server
ALM chez MS Visual Studio Team une idée sur la taille ? • Question ? alecont@microsoft is bldg 41 in MS • Development in Redmond, China, India 716,858 23,681,882 15 Stats as of July 2009, from Visual Studio TFS Server
TFS Chez Microsoft • 42 instances • 19,700 unique users • 6,154 team projects • 7.9 million work items • 95% of the data is version control
90 scenarios Scenario Scenario Scenario 1,115 experiences Experience Experience Experience Experience Experience 5,179 user stories User Story User Story User Story User Story User Story User Story User Story User Story User Story User Story User Story User Story User Story User Story
13,732 tasks Task Task Task Task Task Task Task Task Task Task Task User Story User Story User Story User Story User Story User Story User Story User Story User Story User Story User Story User Story User Story User Story Task Task Task Task Task Task Task Task Task Task Task Task Task Task Task Task Task Task Task Task Task Task Task Task Task Task Task Task Task Task Task Task Task
Equipes Autonomes, Reporting Centralisé 8 • Equipes indépendantes • Processus définis • Une seule cadence • Un système de reporting • Une équipe Top Management
ALM at Visual StudioCoding – build system Fully msbuild based! Migration from nmake based system (build.exe) took some time, especially for C++ projects: completed at the beginning of the Dev11 product cycle Full tree is >200Gb, ~80 base projects Developers usually enlist in only a few projects Tools are checked-in with the code
ALM at Visual StudioCoding – source files Mostly C++ and C# Visual Studio, some Emacs, very little vi We use the version of Visual Studio we build every day New IntelliSense and code navigation features More robust and more accurate IntelliSense in Visual C++ Revamped GoToDef and new NavigateTo features Compiler and linker throughput improvements Parallel linking, parallel compilation with msbuild and /MP
Agile La méthodologie…
The Agile Manifesto Individuals and interactions over processes and tools Working softwareover comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan
Intégration continue Martin Fowler Contents Building a Feature with Continuous Integration Practices of Continuous Integration Maintain a Single Source Repository. Automate the Build Make Your Build Self-Testing Everyone Commits To the Mainline Every Day Every Commit Should Build the Mainline on an Integration Machine Keep the Build Fast Test in a Clone of the Production Environment Make it Easy for Anyone to Get the Latest Executable Everyone can see what's happening Automate Deployment Benefits of Continuous Integration Introducing Continuous Integration Final Thoughts Further Reading
Application Lifecycle Management • Visual Studio ALM c’est quoi ? • Plan and Track • Design • Develop • Build • Test • Deploy
MSF/Agile v5.0 Microsoft propose 2 canevas MOF MSF/Agile v5.0
Rôles et Responsabilités Les rôles Architecte Développeur Tester Build & Release Manager (TFS) Gestion des projet (Chef de projet/produit)
Les points clé Visual Studio 2010 propose une expérience ALM forte TFS est un outil robuste pour le développement logiciel De nombreux outils pour le “code understanding” seront disponibles Mix and Match : TFS s’adapte à vous Target multiple platforms Leverage different tools Mix & match and takes the time to migrate
Quel est votre type de développeur C/C++ ? Standard, Windows C++, Hybride Introduction à ALM Introduction, Agilité et Guidances Patterns and Practices TFS 2010 et Visual Studio 2010 TFS et la famille de produits Visual Studio Visual C++ 2010 Les extensions Visual Studio Architecture Explorer Agenda
Développeur C/C++ Ça existe encore ?
Comment qualifier votre profil ? C/C++ Standard Windows C++ C/C++ Hybride Audience