SEMINAIRE TECHNIQUE GRENOBLE
INDUSTRIALISEZ VOS DÉVELOPPEMENTS
AVEC LES NOUVEAUTÉ DE L’ALM MICROSOFT
V8.1
VINCENT THAVONEKHAM
MICROSOFT PRACTICE MANAGER
ALM
Application Lifecycle
Management
Usine Logicielle Agile
VISUAL STUDIO 2013
ET TFS 2013
Usage en interne et plus
DEMOS - PARTIE 1
Nombreux exemples
10h00 – 10h15
PAUSE
Discussions informelles
et questions
DEMOS - PARTIE 2
Nombreux exemples
CONCLUSION
Et Q&A
ARM
Application Release
Management
Production ITIL
PRESENTATION
d’Objet Direct et du Groupe
Viseo, Partenaire Microsoft
ALM
Application Lifecycle
Management
Usine Logicielle Agile
VISUAL STUDIO 2013
ET TFS 2013
Usage en interne et plus
DEMOS - PARTIE 1
Nombreux exemples
10h00 – 10h15
PAUSE
Discussions informelles
et questions
DEMOS - PARTIE 2
Nombreux exemples
CONCLUSION
Et Q&A
ARM
Application Release
Management
Production ITIL
PRESENTATION
d’Objet Direct et du Groupe
Viseo, Partenaire Microsoft
70
M€ de CA
AU SEIN D’UN
GROUPE
COMPLÉMENTAIRE
Intégrateur
ERP
& CRM
Intégrateur
Business
Intelligence
Génie
Logiciel
/ Agile
650
Collaborateurs
12
Agences
& Filiales
AU SEIN D’UN
GROUPE
COMPLEMENTAIRE
Microsoft
Productivité web
Big Data
Mobilité
web
Recueil,
analyse
et
conception
Architecture
Pilotage
de
projet
DevOps
Formation
Maintenance,
support
Java J2EE
Expérience
avérée
à travailler sur
des
partenariats
stratégiques
avec
Microsoft
COLLABORATION
ÉTROITE ENTRE OBJET
DIRECT ET MICROSOFT
16 sociétés à travers le
monde à travailler sur ce
programme TAP
Unique société française à
avoir été sélectionnée grâce à
son expérience sur le Cloud
Azure sur un projet de
dimension internationale
débuté en octobre 2011
Avril 2013
Travail (*) sous NDA
avec Microsoft
Corp, à Redmond /
Seattle, sur un ‘TAP’
Technological
Adoption Program
qui est un
partenariat
prestigieux
(*) Microsoft NDA Reference IEAID: 179573
MICROSOFT PRACTICE
MANAGER
QUI SUIS-JE ?
UN FAN DE
TECHNOLOGUES
ET D’AGILITÉ !
COACH & FORMATEUR :
Agilité, ALM, DevOps Microsoft
Cloud Computing
Vincent THAVONEKHAM
www.thavo.com
12 ANS D’EXPÉRIENCES
ET TRES ACTIF
ALM
Application Lifecycle
Management
Usine Logicielle Agile
VISUAL STUDIO 2013
ET TFS 2013
Usage en interne et plus
DEMOS - PARTIE 1
Nombreux exemples
10h00 – 10h15
PAUSE
Discussions informelles
et questions
DEMOS - PARTIE 2
Nombreux exemples
CONCLUSION
Et Q&A
ARM
Application Release
Management
Production ITIL
PRESENTATION
d’Objet Direct et du Groupe
Viseo, Partenaire Microsoft
TEAM FOUNDATION
SERVICE ?
L’ALM ?
VERIFICATION DE
L’AUDIENCE
QUI CONNAÎT TEAM
FOUNDATION
SERVER ?
N’hésitez pas à
POSER DES
QUESTIONS !
Sachez-le …
POST-IT À VOTRE
DISPOSITION !!!
VERIFICATION DE
L’AUDIENCE
QUI CONNAÎT
L’AGILITÉ ?
VOUS REPARTIREZ
D’ICI EN CONNAISSANT…
L’INDUSTRIALISATION DES DÉVELOPPEMENTS
MICROSOFT .NET « FAÇON OBJET DIRECT »
ÊTRE PLUS AGILE FAÇON « LEAN »
AMÉLIORER LA QUALITÉ DU CODE
Usine logicielle
CYCLE DE VIE D’UNE APPLICATION – EXEMPLE POUR JAVA
Environnement de
livraison
Développeur
Archivage
Code Source
Version de test
Qualité
Package
livraison
CYCLE DE VIE D’UNE APPLICATION – EXEMPLE POUR MICROSOFT
SIMPLE + QUALITE + DEPLOIEMENT RAPIDE = 100% de nos projets .Net sont sur Windows Azure
(Usine logiciel TFS + Environnements)  VERIFIEZ VOS LICENCES !
BON ROI = Mise en place même pour nos clients « non-Azure » ; « Setup-up cost » = 1 heure
Simple non ?
Environnement de
livraison
Usine logicielle
Développeur
Qualité
Archivage
Code Source
Package
livraison
Version de test
CYCLE DE VIE D’UNE APPLICATION - VUE COMPLÈTE !
Usine logicielle
Windows Azure
Développeur
Archivage
Code Source
Package
livraison Test
Qualité
Environnement de test
Version de test
Environnement Client
Version Client
Package
livraison Client
Package livraison Client
Environnement PROD
Version PROD
WebPublish
3 sec
Environnement Dév
Version Dév
VS Publish
10 min
Etc…
http://www.opscode.com/blog/wp-content/uploads/2012/10/EC-Opscode.png
ALLONS ENCORE PLUS LOIN… DEVOPS ET DEVCLOUD
(EXEMPLE OPSCODE CHEF)
https://vsarbranchingguide.codeplex.com
COMMENT GERER CETTE COMPLEXITE ?
STRATEGIE DE BRANCHES – BASIC DUAL BRANCH PLAN
Toutes les stratégies de branches
sur CodePlex
Microsoft TFS Branching and Merging
https://vsarbranchingguide.codeplex.com
COMMENT GERER CETTE COMPLEXITE ?
NECESSITE D’UN OUTIL TYPE CMDB !
- Nombreux comptes pour isoler les
développeurs vs. la production,
- Nombreux services par environnement
- Rigueur et conventions de nommage
- Tableau EXCEL interminable…
Service Azure Nom de code Environnement Souscription Login Microsoft
Account
Cloud Services OD-Colibri-Dev01-NE-CloudSrv.CloudApp.net Dév, Europe N MSDN1 Xyz-Dev@Live.com
Cloud Services OD-Colibri-Rec01-WE-CloudSrv.CloudApp.net Rec, Europe O MSDN2 Xyz-Rec@Live.com
Service Bus OD-Colibri-Dev01-SrvBus Dév MSDN1 Xyz-Dev@Live.com
SQL Database Server: zjlgjtckrk
Nom: od.colibri.db.Dev01
Démo Client01,
Europe Nord
MSDN3
+ VISA
Xyz-Demo@Live.com
Storage Account odcolinedevstoacc Dév Europe Nord … …
… … … … …
… … … … …
ALM
Application Lifecycle
Management
Usine Logicielle Agile
VISUAL STUDIO 2013
ET TFS 2013
Usage en interne et plus
DEMOS - PARTIE 1
Nombreux exemples
10h00 – 10h15
PAUSE
Discussions informelles
et questions
DEMOS - PARTIE 2
Nombreux exemples
CONCLUSION
Et Q&A
ARM
Application Release
Management
Production ITIL
PRESENTATION
d’Objet Direct et du Groupe
Viseo, Partenaire Microsoft
https://vsarbranchingg
uide.codeplex.com
https://vsarbranchingguide.codeplex.com
NOTRE USINE LOGICIELLE FULL VISUAL STUDIO 2013
“TIME TO MARKET” RAPIDE GRACE A L’ALM MICROSOFT
Feedback
Manager
Exploratory
Testing
Storyboarding
Debug in Prod
(Intellitrace)
Code Review
ALM
Quality
Builds Sonar /
NDepend v5
(**)
TFS
2013
(*) TFS 2013: Microsoft Visual Studio Team Foundation Server 2013
(**) « Objet Direct, premier partenaire agréé NDepend »
Stylecop,
FXCop,
R#
Débuter avec VS2013
DEBUTER AVEC VISUAL STUDIO 2013
Visual Studio sait qui vous êtes et vous suit partout, quelque soit le poste.
Plus nécessaire d’avoir une clef d’activation
https://vsarbranchingguide.codeplex.com
Pouvoir passer très simplement d’un Team Project Collection à un
autre avec un autre Login (Windows Account)
VS 2013: GESTION DE MULTIPLES PROJET ET PROFILS
HAUTE TRAÇABILITÉ
WORKFLOW DE DEPLOIEMENT INTEGRE A VISUAL STUDIO TFS
COULOIR DE DEPLOIEMENT
ALM
Application Lifecycle
Management
Usine Logicielle Agile
VISUAL STUDIO 2013
ET TFS 2013
Usage en interne et plus
DEMOS - PARTIE 1
Nombreux exemples
10h00 – 10h15
PAUSE
Discussions informelles
et questions
DEMOS - PARTIE 2
Nombreux exemples
CONCLUSION
Et Q&A
ARM
Application Release
Management
Production ITIL
PRESENTATION
d’Objet Direct et du Groupe
Viseo, Partenaire Microsoft
ALM DE TFS ET ARM ??
GRANDES DIFFERENCES !
ALM : TFS est LA vérité lors des développements (mot de passes de dév, tâches, users, …)
ARM : En phase de PRODUCTION, LA vérité est centralisée dans une CMDB(*)
(*) CMDB: Configuration Management Database, terme issu de l’ITIL, IT Infrastructure Library
InRelease un outil ALM qui se veut ARM…
• S’ajoute à TFS
• Gère tous les
couloirs de
déploiement et
les configurations
différentes
InRelease un outil ALM qui se veut ARM… (suite)
Service-Now un outil de CMDB servant d’ARM
Véritable CMDB
complet et gestion
de la production de
A-à-Z
dont l’Orchestration des
machines (Runbook,
MID Server)
ALM
Application Lifecycle
Management
Usine Logicielle Agile
VISUAL STUDIO 2013
ET TFS 2013
Usage en interne et plus
DEMOS - PARTIE 1
Nombreux exemples
10h00 – 10h15
PAUSE
Discussions informelles
et questions
DEMOS - PARTIE 2
Nombreux exemples
CONCLUSION
Et Q&A
ARM
Application Release
Management
Production ITIL
PRESENTATION
d’Objet Direct et du Groupe
Viseo, Partenaire Microsoft
SOMMAIRE DES DEMONSTRATIONS (PARTIE 1 ET 2)
DEMO
BUILD: AGILITE ET ALM
- QUALITÉ DU CODE
- TESTS UNITAIRES & IHM (CODED UI)
ARM
- Outillage ARM pour déployer (exemples d’outils)
COLLECTE DES BESOINS / VALIDATION AGILE
- Exemple de prototypage à la Microsoft (Blend + PPTX)
- Modélisation : UML dans Visual Studio 2013 Ultimate
- COULOIRS DE DÉPLOIEMENT
- SURVOL D’UN CYCLE ALM
Débuter avec VS2013
PROTOTYPAGE : BLEND FOR MICROSOFT VISUAL STUDIO 2013
Balsamiq
Mockups
Alternative
Azure CMDB, by Objet Direct
http://AzureCMDB.AzureWebSites.com
https://login.live.com/login.srf?cbcxt=azu&vv=1500&lc=1033&wa=wsignin1.0&wtreal
Login
Password
https://login.live.com/login.srf?cbcxt=azu&vv=1500&lc=1033&wa=wsignin1.0&wtreal
Vincent.Thavonekham@live.fr
Login
Password
https://login.live.com/login.srf?cbcxt=azu&vv=1500&lc=1033&wa=wsignin1.0&wtreal
Vincent.Thavonekham@live.fr
**********************
Login
Password
Azure CMDB, by Objet Direct
http://AzureCMDB.AzureWebSites.com
AzureCMDB > Home > Choose here what you want to do
SI Admins reports
Find all information
Options
Configure your application
Create new services
with standard naming conventions
Update services
with standard naming conventions
Financial reports
Find all information
Vincent THAVONEKHAM
Azure CMDB, by Objet Direct
http://AzureCMDB.AzureWebSites.com
AzureCMDB > Home > Create new services > Enter the information
Choose the services
with standard naming conventions
Azure Subscription
Web Site
text
text
text
text
text
Project name …
Common information
Environment Type (Dev, PreProd, Prod)
…
Suggested / Generated names
with standard naming conventions
PaaS Azure database
Websites
PaaS WebRole
IaaS VM
URL:
Affinity Group (North Europe) : myAffGroup
button
Azure CMDB, by Objet Direct
http://AzureCMDB.AzureWebSites.com
AzureCMDB > Home > Create new services > Enter the information
Choose the services
with standard naming conventions
Azure Subscription
Web Site
text
text
text
text
text
Project name …
Common information
Environment Type (Dev, PreProd, Prod)
…
Suggested / Generated names
with standard naming conventions
PaaS Azure database
Websites
PaaS WebRole
IaaS VM
URL:
od-soscp-dev-
website.AzureWebsi
tes.com
Affinity Group (North Europe) : myAffGroup
button
Azure CMDB, by Objet Direct
http://AzureCMDB.AzureWebSites.com
AzureCMDB > Home > Choose here what you want to do
Options
Configure your application
Create new services
with standard naming conventions
Update services
with standard naming conventions
SI Admins reports
Find all information
Financial reports
Find all information
GESTION DE PROJET – PROTOTYPAGE RAPIDE
OUTIL « MAGIQUE » : TS CONNECTÉ À POWERPOINT 2013
DÉTAIL DE L’ADD-ON TFS À POWERPOINT
TRAÇABILITÉ ENTRE LE PROTOTYPE, LA TÂCHE TFS ET LE CODE
Lien aisé entre le prototype et la tâche dans TFS : Haute traçabilité avec les Work-Items
MODÉLISATION DES BESOINS :
UML ET VISUAL STUDIO 2013 ULTIMATE
Alternatives
QUALITÉ !!
ILLUSTRATION AVEC MICROSOFT ENTITY FRAMEWORK 6
• 2 MILLIONS DE TÉLÉCHARGEMENTS (NUGET),
• PROJET CODEPLEX ACTIF ET MIS À JOUR IL Y A UNE SEMAINE,
• CONTRIBUTION: HTTP://ENTITYFRAMEWORK.CODEPLEX.COM
• 21 DÉVELOPPEURS
• ~ 100 000 LIGNES DE CODE
• 1919 FICHIERS
• SUPPRESS MESSAGE  LIGNES DE CODE: 2708 ; FICHIERS: 470
VISUAL STUDIO
(exemples)
Code Analysis
Source Analysis
Resharper
(R#)
NDepend
(v5)
MICROSOFT TEAM FOUNDATION SERVER / SERVICE
Gated check-in (unbreakable build)
QUALITÉ !!
VISUAL STUDIO ULTIMATE > CODE CLONE
3 TENTATIVES AVEC VS2012 ET VS2013 (13 790 LIGNES CLONÉES)
VS ULTIMATE MENU > ANALYSE > Analyse Solution for Code Clones
QUALITÉ !!
VISUAL STUDIO ULTIMATE > CODE METRICS
20-100
10-19
0- 9
http://blog.thavo.com/2010/03/how-many-rules-in-fxcop-and-stylecop.html
http://visualstudiogallery.msdn.microsoft.com/237f823c-45b4-4f1f-b9e2-607fe66eaae7/
• Problème
– Documentation non à jour,
– Personne ne lis la
documentation
• Solution
– Avoir une documentation
obligatoirement à jour,
– Une documentation
« compilable » associée au
code
QUALITÉ - ARCHITECTURE, CODE, DOC…
CODE ANALYSIS ET SOURCE ANALYSIS (FxCop / StyleCop)
ZOOM SUR CODE ANALYSIS
CODE ANALYSIS ET SOURCE ANALYSIS (FxCop / StyleCop)
ZOOM SUR SOURCE ANALYSIS
QUALITÉ : ZOOM SUR RESHARPER
5 min
QUALITÉ : ZOOM SUR NDEPEND
DIRECTEUR:
Pilotage
ARCHITECTE:
Audit et
accompagnement
DEVELOPPEURS:
Qualité « temps-
réel »
QUALITÉ : ZOOM SUR NDEPEND
DIRECTEUR:
Pilotage
ARCHITECTE:
Audit et
accompagnement
DEVELOPPEURS:
Qualité « temps-
réel »
file:///C:/OD-Seminaire-ALM/20_EF6.Source/NDependOut/NDependReport.html#Main
OUTIL DE SUIVI QUALITE: NDEPEND
POSITIONNEMENT PAR RAPPORT À D’AUTRES OUTILS
Alternatives
Coverity,
Kalistik,
MetrixWare
VISUAL STUDIO / TFS SONT
VOLONTAIREMENT HORS CLASSEMENT:
ILS NE VONT PAS AUSSI LOIN QUE TOUS LES
OUTILS CI-DESSUS
AGILITE AU
QUOTIDIEN >> >>>
RICHESSE DES
RAPPORTS > >=
SIMPLICITE
D’UTILISATION ~ >>>
FAIBLE COÛTS
D’UTILISATION ~ >>>
http://visualstudiogallery.msdn.microsoft.com/237f823c-45b4-4f1f-b9e2-607fe66eaae7/
PROBLÈME
LE CODE T-SQL EST BIEN ARCHIVÉ AU FORMAT TEXTE
MAIS IL EST FAUX ET NE S’EXÉCUTE PAS !
QUALITÉ – GATED CHECK-IN CÔTÉ BASE DE DONNÉES
SOLUTION : AVOIR L’INTÉGRALITÉ DE LA BASE
DANS LA MÉMOIRE DE VISUAL STUDIO ET
COMPILÉ PAR VISUAL STUDIO / TFS
QUALITÉ !! GATED CHECK-IN DE TFS (UNBREAKABLE BUILD)
VISUAL STUDIO TEAM FOUNDATION SERVER / SERVICE
CONNECTER LES TESTS UNITAIRES AU ‘UNBREAKABLE BUILD’ DE TFS
ASTUCE POUR CODER/REFACTOR VITE AVEC UNE HAUTE QUALITÉ
PRINCIPE DE BASE
Activer et désactiver
rapidement les règles
qualité FxCop
(i.e Code Analysis)
• Activer et désactiver
rapidement les règles
qualité StyleCop
(i.e. Source Analysis)
• Dans tous les cas, TFS
buildera avec les
options qualité ON!
… ALLER PLUS LOIN QUE CE
PRINCIPE: Création d’un add-on VS
le cadre du Lab.Net d’Objet Direct
DEBUGGER PLUS RAPIDEMENT AVEC HTML5:
PAGE INSPECTOR ASP.NET MVC RAZOR
VISUAL STUDIO 2012 / 2013: DEBUGGER DES APPLICATIONS WEB
POUR ALLER ENCORE PLUS LOIN : GLIMPSE ET ELMAH
• Traçabilité de bout en bout : Glimpse.axd (Nuget tool)
http://www.nuget.org/packages/glimpse
• ELMAH pour logger des erreurs (comme EntLib)
CONCLUSION SUR LA QUALITE
AVANTAGES ET INCONVENIENTS
+ Outils complets
+ Aide à la décision
+ résultats temps-
réels possibles
+ Vue d’ensemble de tout le code, avec
l’évolution et tendances
même avec 100 000 lignes de code!
- ALLER PLUS LOIN QUE L’OUTILLAGE
- ECHEC SI PAS D’ACCOMPAGNEMENT
AU CHANGEMENT
Trouver le bon
niveau de qualité
au bon moment
Attention à la
démotivation des
équipes
Attention au
syndrome « false
feeling of security »
Ne pas compter
que sur l’outil !
VISUAL STUDIO: DIAGRAMME DES DÉPENDANCES
COULOIRS DE DÉPLOIEMENT (DEV, MAIN, RELEASE)
INTÉGRÉ À TFS : BRANCHE (ALTERNATIVES : WEB.CONFIG OU OPTIONS TEAM BUILD)
SURVOL D’UN CYCLE DE DÉPLOIEMENT RAPIDE ET CONTINU
HAUTE TRAÇABILITÉ
Alternatives possibles à TFS Build / Deploy : InRelease, qui devient Microsoft.
Ou encore Nolio, Microsoft System Center, Service Now, TFSVersioning (Codeplex)…
SURVOL D’UN CYCLE COMPLET AVEC VISUAL STUDIO ET TFS
TRAÇABILITÉ ENTRE LE BESOIN, LES TÂCHES, LES LIVRAISONS ET LES ALERTES
BESOINS
TACHES
ARCHIVAGE
DETAIL
ALERTES
LES APPLICATIONS MICROSOFT TRES CONNECTE
EXCEL  TFS ET TFS  MS OFFICE
MÊME IDÉES QU’AVEC POWERPOINT-STORYBORDING (CONNEXION À TFS)
 RAPPORT TFS-SERVER VIA REPORTING SERVICES
 OU EXCEL CONNECTÉ À LA BI DE TFS
WORKFLOW DE DEPLOIEMENT POUR TFS
DEMONSTRATION
VÉRITABLE DÉPLOIEMENT POUR UN PROSPECT
TÉMOIGNAGE…
Déploiement semi-manuel réussi pour un nouveau prospect
par téléphone par Chat lors d’un « After-work ». Prospect transformé en client !
RETOUR D’EXPERIENCE SUR LE SLA
ARRET DE SERVICE PLANIFIE (A DEUX REPRISES)
Maintenance « single
instance deployments of
Windows Azure Virtual
Machines »
• REFLEXE: Aucun
problèmes de notre côté,
car full PaaS !
• FAIT: … Sauf … une
partie en ‘preview’
CONFIGURATION EN QUELQUES ÉTAPES
CRÉER UN ENVIRONNEMENT AZURE PUIS CONNEXION À TFS (1/2)
CONFIGURATION EN QUELQUES ÉTAPES
CRÉER UN ENVIRONNEMENT AZURE PUIS CONNEXION À TFS (2/2)
UN CMDB QUI INCLUS UN ARM : SERVICE NOW
Alternatives
Nolio, InRelease,
Microsoft
System Center, …
EXEMPLE
PROVISIONING
WORKFLOW
(possibilité
d’Orchestra-
tion via
Runbook et
MID Server /
ECC Queues)
POUR CONCLURE SUR LA SOFTWARE FACTORY / DEVOPS…
SIMPLE à chaque étapes !
– Ne pas oublier les prochaines marches
– Cela porte un nom: Modèle de maturité du « Cloud Computing »
– Assimiler les problématiques DevOps et ITIL  limite l’effet tunnel
– « Think big, act small, fail fast, lear rapidly » (cf. Lean)
ITIL (**)
Prêt
ARM (*)
(*) ARM: Application Release Management
(**) ITIL: IT Infrastructure Library
. C# (NIVEAU 1 ET 2)
. ORM: ENTITY FRAMEWORK
. ASP.NET MVC RAZOR
. TDD EN C#
. BDD EN C#
. NDEPEND 5
. SOFTWARE FACTORY VS+TFS
NOMBREUSES FORMATIONS .NET, JAVA, UML, AGILITÉ
FOCUS SUR LES
FORMATIONS MICROSOFT
EN 2014
http://www.objetdirect.com/sites/default/files/objetdirect/catalogue_objet_direct.pdf
Merci !
BONUS
Source https://github.com/rubik/radon/blob/master/docs/intro.rst
CODE METRIC AND MAINTENABILITY INDEX
Construct Effect Reasoning
if +1 An if statement is a single decision.
elif +1 The elif statement adds another decision.
else +0
The else statement does not cause a new decision. The
decision is at the if.
for +1 There is a decision at the start of the loop.
while +1 There is a decision at the while statement.
except +1
Each except branch adds a new conditional path of
execution.
finally +0 The finally block is unconditionally executed.
with +1
The with statement roughly corresponds to a try/except
block (see PEP 343 for details).
assert +1
The assert statement internally roughly equals a
conditional statement.
Comprehen-
sion
+1
A list/set/dict comprehension of generator expression is
equivalent to a for loop.
Lambda +1 A lambda function is a regular function.
Boolean
Operator
+1 Every boolean operator (and, or) adds a decision point.
Cyclomatic
Complexity
Cyclomatic Complexity
corresponds to the number of
decisions a block of code contains
plus 1. This number (also called
McCabe number) is equal to the
number of possible paths through
the code. It is therefore equivalent
to the number of test cases it
should took to completely cover the
block.
Radon analyzes the AST tree of a
Python program to compute
Cyclomatic Complexity. Statements
have the following effects on
Cyclomatic Complexity:
REFERENCES
• NDepend : www.ndepend.com (analyse statique de code)
• Resharper 8 : http://www.jetbrains.com/resharper (outils de productivité pour
écrire / refactoriser automatiquement son code)
• SonarQube : http://www.sonarqube.org (analyse également du .Net)
• ServiceNow: https://demochannel.service-now.com/ess/
• http://blog.thavo.com/2010/03/how-many-rules-in-fxcop-and-stylecop.html
• http://blogs.msdn.com/b/codeanalysis/archive/2007/11/20/maintainability-index-
range-and-meaning.aspx
Agile Product
Ownership in a
Nutshell, by Henrik
Kniberg :
http://blog.crisp.se/2012/
10/25/henrikkniberg/agil
e-product-ownership-in-
a-nutshellproduct
ownership in a nutshell
VISUAL STUDIO 2012 ET 2013:
LISTE DE QUELQUES AMELIORATIONS PRINCIPALES
• Nouveautés exhaustives de VS 2013:
http://www.microsoft.com/visualstudio/eng/visual-studio-2013#story-2013
• Nouveautés intéressantes de VS 2013:
http://www.hanselman.com/blog/SCREENCASTSWhatsNewInVisualStudio2013Lea
rnOverLunch.aspx
Nouveautés intéressantes et parfois méconnus de VS2012:
http://channel9.msdn.com/Events/TechEd/Australia/2012/DEV211
. Windows 8 and Windows Phone 8 project templates
. VS comes with tools to help you deploy to Azure
. TFS 2012 is much better with offline workspaces and useful web access
for managing your projects
. LightSwitch
. Better SharePoint development tools
. Backlog tools (web UI / TFSPreview)
. My Work
. Suspend / Resume
. Javascript debugging improvements
(http://blogs.msdn.com/b/visualstudio/archive/2012/04/10/javascript-debugging-
enhancements.aspx)
. Extensions for PowerShell development (http://powerguivsx.codeplex.com/)
. Tools for Code and Architecture Reviews*
VS 2012 EN RESUME
History
IDE Improvements
UI
Search Everywhere
Performance Tweaks
Developer Goodies
Web developer
friendliness
Unit Testing
IntelliTrace
MTM - Exploratory
Testing
Feedback Tools
Storyboarding

Objet direct 2013-05-11 Microsoft ALM 2013 Software Factory

  • 1.
    SEMINAIRE TECHNIQUE GRENOBLE INDUSTRIALISEZVOS DÉVELOPPEMENTS AVEC LES NOUVEAUTÉ DE L’ALM MICROSOFT V8.1 VINCENT THAVONEKHAM MICROSOFT PRACTICE MANAGER
  • 2.
    ALM Application Lifecycle Management Usine LogicielleAgile VISUAL STUDIO 2013 ET TFS 2013 Usage en interne et plus DEMOS - PARTIE 1 Nombreux exemples 10h00 – 10h15 PAUSE Discussions informelles et questions DEMOS - PARTIE 2 Nombreux exemples CONCLUSION Et Q&A ARM Application Release Management Production ITIL PRESENTATION d’Objet Direct et du Groupe Viseo, Partenaire Microsoft
  • 3.
    ALM Application Lifecycle Management Usine LogicielleAgile VISUAL STUDIO 2013 ET TFS 2013 Usage en interne et plus DEMOS - PARTIE 1 Nombreux exemples 10h00 – 10h15 PAUSE Discussions informelles et questions DEMOS - PARTIE 2 Nombreux exemples CONCLUSION Et Q&A ARM Application Release Management Production ITIL PRESENTATION d’Objet Direct et du Groupe Viseo, Partenaire Microsoft
  • 5.
    70 M€ de CA AUSEIN D’UN GROUPE COMPLÉMENTAIRE Intégrateur ERP & CRM Intégrateur Business Intelligence Génie Logiciel / Agile 650 Collaborateurs 12 Agences & Filiales
  • 6.
  • 7.
  • 8.
    Expérience avérée à travailler sur des partenariats stratégiques avec Microsoft COLLABORATION ÉTROITEENTRE OBJET DIRECT ET MICROSOFT 16 sociétés à travers le monde à travailler sur ce programme TAP Unique société française à avoir été sélectionnée grâce à son expérience sur le Cloud Azure sur un projet de dimension internationale débuté en octobre 2011 Avril 2013 Travail (*) sous NDA avec Microsoft Corp, à Redmond / Seattle, sur un ‘TAP’ Technological Adoption Program qui est un partenariat prestigieux (*) Microsoft NDA Reference IEAID: 179573
  • 9.
    MICROSOFT PRACTICE MANAGER QUI SUIS-JE? UN FAN DE TECHNOLOGUES ET D’AGILITÉ ! COACH & FORMATEUR : Agilité, ALM, DevOps Microsoft Cloud Computing Vincent THAVONEKHAM www.thavo.com 12 ANS D’EXPÉRIENCES ET TRES ACTIF
  • 10.
    ALM Application Lifecycle Management Usine LogicielleAgile VISUAL STUDIO 2013 ET TFS 2013 Usage en interne et plus DEMOS - PARTIE 1 Nombreux exemples 10h00 – 10h15 PAUSE Discussions informelles et questions DEMOS - PARTIE 2 Nombreux exemples CONCLUSION Et Q&A ARM Application Release Management Production ITIL PRESENTATION d’Objet Direct et du Groupe Viseo, Partenaire Microsoft
  • 11.
    TEAM FOUNDATION SERVICE ? L’ALM? VERIFICATION DE L’AUDIENCE QUI CONNAÎT TEAM FOUNDATION SERVER ? N’hésitez pas à POSER DES QUESTIONS ! Sachez-le … POST-IT À VOTRE DISPOSITION !!!
  • 12.
  • 13.
    VOUS REPARTIREZ D’ICI ENCONNAISSANT… L’INDUSTRIALISATION DES DÉVELOPPEMENTS MICROSOFT .NET « FAÇON OBJET DIRECT » ÊTRE PLUS AGILE FAÇON « LEAN » AMÉLIORER LA QUALITÉ DU CODE
  • 14.
    Usine logicielle CYCLE DEVIE D’UNE APPLICATION – EXEMPLE POUR JAVA Environnement de livraison Développeur Archivage Code Source Version de test Qualité Package livraison
  • 15.
    CYCLE DE VIED’UNE APPLICATION – EXEMPLE POUR MICROSOFT SIMPLE + QUALITE + DEPLOIEMENT RAPIDE = 100% de nos projets .Net sont sur Windows Azure (Usine logiciel TFS + Environnements)  VERIFIEZ VOS LICENCES ! BON ROI = Mise en place même pour nos clients « non-Azure » ; « Setup-up cost » = 1 heure Simple non ? Environnement de livraison Usine logicielle Développeur Qualité Archivage Code Source Package livraison Version de test
  • 16.
    CYCLE DE VIED’UNE APPLICATION - VUE COMPLÈTE ! Usine logicielle Windows Azure Développeur Archivage Code Source Package livraison Test Qualité Environnement de test Version de test Environnement Client Version Client Package livraison Client Package livraison Client Environnement PROD Version PROD WebPublish 3 sec Environnement Dév Version Dév VS Publish 10 min Etc…
  • 17.
  • 18.
    https://vsarbranchingguide.codeplex.com COMMENT GERER CETTECOMPLEXITE ? STRATEGIE DE BRANCHES – BASIC DUAL BRANCH PLAN Toutes les stratégies de branches sur CodePlex Microsoft TFS Branching and Merging https://vsarbranchingguide.codeplex.com
  • 19.
    COMMENT GERER CETTECOMPLEXITE ? NECESSITE D’UN OUTIL TYPE CMDB ! - Nombreux comptes pour isoler les développeurs vs. la production, - Nombreux services par environnement - Rigueur et conventions de nommage - Tableau EXCEL interminable… Service Azure Nom de code Environnement Souscription Login Microsoft Account Cloud Services OD-Colibri-Dev01-NE-CloudSrv.CloudApp.net Dév, Europe N MSDN1 Xyz-Dev@Live.com Cloud Services OD-Colibri-Rec01-WE-CloudSrv.CloudApp.net Rec, Europe O MSDN2 Xyz-Rec@Live.com Service Bus OD-Colibri-Dev01-SrvBus Dév MSDN1 Xyz-Dev@Live.com SQL Database Server: zjlgjtckrk Nom: od.colibri.db.Dev01 Démo Client01, Europe Nord MSDN3 + VISA Xyz-Demo@Live.com Storage Account odcolinedevstoacc Dév Europe Nord … … … … … … … … … … … …
  • 20.
    ALM Application Lifecycle Management Usine LogicielleAgile VISUAL STUDIO 2013 ET TFS 2013 Usage en interne et plus DEMOS - PARTIE 1 Nombreux exemples 10h00 – 10h15 PAUSE Discussions informelles et questions DEMOS - PARTIE 2 Nombreux exemples CONCLUSION Et Q&A ARM Application Release Management Production ITIL PRESENTATION d’Objet Direct et du Groupe Viseo, Partenaire Microsoft
  • 21.
    https://vsarbranchingg uide.codeplex.com https://vsarbranchingguide.codeplex.com NOTRE USINE LOGICIELLEFULL VISUAL STUDIO 2013 “TIME TO MARKET” RAPIDE GRACE A L’ALM MICROSOFT Feedback Manager Exploratory Testing Storyboarding Debug in Prod (Intellitrace) Code Review ALM Quality Builds Sonar / NDepend v5 (**) TFS 2013 (*) TFS 2013: Microsoft Visual Studio Team Foundation Server 2013 (**) « Objet Direct, premier partenaire agréé NDepend » Stylecop, FXCop, R#
  • 22.
    Débuter avec VS2013 DEBUTERAVEC VISUAL STUDIO 2013 Visual Studio sait qui vous êtes et vous suit partout, quelque soit le poste. Plus nécessaire d’avoir une clef d’activation
  • 23.
    https://vsarbranchingguide.codeplex.com Pouvoir passer trèssimplement d’un Team Project Collection à un autre avec un autre Login (Windows Account) VS 2013: GESTION DE MULTIPLES PROJET ET PROFILS HAUTE TRAÇABILITÉ
  • 24.
    WORKFLOW DE DEPLOIEMENTINTEGRE A VISUAL STUDIO TFS
  • 25.
  • 26.
    ALM Application Lifecycle Management Usine LogicielleAgile VISUAL STUDIO 2013 ET TFS 2013 Usage en interne et plus DEMOS - PARTIE 1 Nombreux exemples 10h00 – 10h15 PAUSE Discussions informelles et questions DEMOS - PARTIE 2 Nombreux exemples CONCLUSION Et Q&A ARM Application Release Management Production ITIL PRESENTATION d’Objet Direct et du Groupe Viseo, Partenaire Microsoft
  • 27.
    ALM DE TFSET ARM ?? GRANDES DIFFERENCES ! ALM : TFS est LA vérité lors des développements (mot de passes de dév, tâches, users, …) ARM : En phase de PRODUCTION, LA vérité est centralisée dans une CMDB(*) (*) CMDB: Configuration Management Database, terme issu de l’ITIL, IT Infrastructure Library
  • 28.
    InRelease un outilALM qui se veut ARM… • S’ajoute à TFS • Gère tous les couloirs de déploiement et les configurations différentes
  • 29.
    InRelease un outilALM qui se veut ARM… (suite)
  • 30.
    Service-Now un outilde CMDB servant d’ARM Véritable CMDB complet et gestion de la production de A-à-Z dont l’Orchestration des machines (Runbook, MID Server)
  • 31.
    ALM Application Lifecycle Management Usine LogicielleAgile VISUAL STUDIO 2013 ET TFS 2013 Usage en interne et plus DEMOS - PARTIE 1 Nombreux exemples 10h00 – 10h15 PAUSE Discussions informelles et questions DEMOS - PARTIE 2 Nombreux exemples CONCLUSION Et Q&A ARM Application Release Management Production ITIL PRESENTATION d’Objet Direct et du Groupe Viseo, Partenaire Microsoft
  • 32.
    SOMMAIRE DES DEMONSTRATIONS(PARTIE 1 ET 2) DEMO BUILD: AGILITE ET ALM - QUALITÉ DU CODE - TESTS UNITAIRES & IHM (CODED UI) ARM - Outillage ARM pour déployer (exemples d’outils) COLLECTE DES BESOINS / VALIDATION AGILE - Exemple de prototypage à la Microsoft (Blend + PPTX) - Modélisation : UML dans Visual Studio 2013 Ultimate - COULOIRS DE DÉPLOIEMENT - SURVOL D’UN CYCLE ALM
  • 33.
    Débuter avec VS2013 PROTOTYPAGE: BLEND FOR MICROSOFT VISUAL STUDIO 2013 Balsamiq Mockups Alternative
  • 34.
    Azure CMDB, byObjet Direct http://AzureCMDB.AzureWebSites.com
  • 35.
  • 36.
  • 37.
  • 38.
    Azure CMDB, byObjet Direct http://AzureCMDB.AzureWebSites.com AzureCMDB > Home > Choose here what you want to do SI Admins reports Find all information Options Configure your application Create new services with standard naming conventions Update services with standard naming conventions Financial reports Find all information Vincent THAVONEKHAM
  • 39.
    Azure CMDB, byObjet Direct http://AzureCMDB.AzureWebSites.com AzureCMDB > Home > Create new services > Enter the information Choose the services with standard naming conventions Azure Subscription Web Site text text text text text Project name … Common information Environment Type (Dev, PreProd, Prod) … Suggested / Generated names with standard naming conventions PaaS Azure database Websites PaaS WebRole IaaS VM URL: Affinity Group (North Europe) : myAffGroup button
  • 40.
    Azure CMDB, byObjet Direct http://AzureCMDB.AzureWebSites.com AzureCMDB > Home > Create new services > Enter the information Choose the services with standard naming conventions Azure Subscription Web Site text text text text text Project name … Common information Environment Type (Dev, PreProd, Prod) … Suggested / Generated names with standard naming conventions PaaS Azure database Websites PaaS WebRole IaaS VM URL: od-soscp-dev- website.AzureWebsi tes.com Affinity Group (North Europe) : myAffGroup button
  • 41.
    Azure CMDB, byObjet Direct http://AzureCMDB.AzureWebSites.com AzureCMDB > Home > Choose here what you want to do Options Configure your application Create new services with standard naming conventions Update services with standard naming conventions SI Admins reports Find all information Financial reports Find all information
  • 42.
    GESTION DE PROJET– PROTOTYPAGE RAPIDE OUTIL « MAGIQUE » : TS CONNECTÉ À POWERPOINT 2013
  • 43.
    DÉTAIL DE L’ADD-ONTFS À POWERPOINT TRAÇABILITÉ ENTRE LE PROTOTYPE, LA TÂCHE TFS ET LE CODE Lien aisé entre le prototype et la tâche dans TFS : Haute traçabilité avec les Work-Items
  • 44.
    MODÉLISATION DES BESOINS: UML ET VISUAL STUDIO 2013 ULTIMATE Alternatives
  • 45.
    QUALITÉ !! ILLUSTRATION AVECMICROSOFT ENTITY FRAMEWORK 6 • 2 MILLIONS DE TÉLÉCHARGEMENTS (NUGET), • PROJET CODEPLEX ACTIF ET MIS À JOUR IL Y A UNE SEMAINE, • CONTRIBUTION: HTTP://ENTITYFRAMEWORK.CODEPLEX.COM • 21 DÉVELOPPEURS • ~ 100 000 LIGNES DE CODE • 1919 FICHIERS • SUPPRESS MESSAGE  LIGNES DE CODE: 2708 ; FICHIERS: 470 VISUAL STUDIO (exemples) Code Analysis Source Analysis Resharper (R#) NDepend (v5) MICROSOFT TEAM FOUNDATION SERVER / SERVICE Gated check-in (unbreakable build)
  • 46.
    QUALITÉ !! VISUAL STUDIOULTIMATE > CODE CLONE 3 TENTATIVES AVEC VS2012 ET VS2013 (13 790 LIGNES CLONÉES) VS ULTIMATE MENU > ANALYSE > Analyse Solution for Code Clones
  • 47.
    QUALITÉ !! VISUAL STUDIOULTIMATE > CODE METRICS 20-100 10-19 0- 9 http://blog.thavo.com/2010/03/how-many-rules-in-fxcop-and-stylecop.html
  • 48.
    http://visualstudiogallery.msdn.microsoft.com/237f823c-45b4-4f1f-b9e2-607fe66eaae7/ • Problème – Documentationnon à jour, – Personne ne lis la documentation • Solution – Avoir une documentation obligatoirement à jour, – Une documentation « compilable » associée au code QUALITÉ - ARCHITECTURE, CODE, DOC…
  • 49.
    CODE ANALYSIS ETSOURCE ANALYSIS (FxCop / StyleCop) ZOOM SUR CODE ANALYSIS
  • 50.
    CODE ANALYSIS ETSOURCE ANALYSIS (FxCop / StyleCop) ZOOM SUR SOURCE ANALYSIS
  • 51.
    QUALITÉ : ZOOMSUR RESHARPER 5 min
  • 52.
    QUALITÉ : ZOOMSUR NDEPEND DIRECTEUR: Pilotage ARCHITECTE: Audit et accompagnement DEVELOPPEURS: Qualité « temps- réel »
  • 53.
    QUALITÉ : ZOOMSUR NDEPEND DIRECTEUR: Pilotage ARCHITECTE: Audit et accompagnement DEVELOPPEURS: Qualité « temps- réel » file:///C:/OD-Seminaire-ALM/20_EF6.Source/NDependOut/NDependReport.html#Main
  • 54.
    OUTIL DE SUIVIQUALITE: NDEPEND POSITIONNEMENT PAR RAPPORT À D’AUTRES OUTILS Alternatives Coverity, Kalistik, MetrixWare VISUAL STUDIO / TFS SONT VOLONTAIREMENT HORS CLASSEMENT: ILS NE VONT PAS AUSSI LOIN QUE TOUS LES OUTILS CI-DESSUS AGILITE AU QUOTIDIEN >> >>> RICHESSE DES RAPPORTS > >= SIMPLICITE D’UTILISATION ~ >>> FAIBLE COÛTS D’UTILISATION ~ >>>
  • 55.
    http://visualstudiogallery.msdn.microsoft.com/237f823c-45b4-4f1f-b9e2-607fe66eaae7/ PROBLÈME LE CODE T-SQLEST BIEN ARCHIVÉ AU FORMAT TEXTE MAIS IL EST FAUX ET NE S’EXÉCUTE PAS ! QUALITÉ – GATED CHECK-IN CÔTÉ BASE DE DONNÉES SOLUTION : AVOIR L’INTÉGRALITÉ DE LA BASE DANS LA MÉMOIRE DE VISUAL STUDIO ET COMPILÉ PAR VISUAL STUDIO / TFS
  • 56.
    QUALITÉ !! GATEDCHECK-IN DE TFS (UNBREAKABLE BUILD) VISUAL STUDIO TEAM FOUNDATION SERVER / SERVICE CONNECTER LES TESTS UNITAIRES AU ‘UNBREAKABLE BUILD’ DE TFS
  • 57.
    ASTUCE POUR CODER/REFACTORVITE AVEC UNE HAUTE QUALITÉ PRINCIPE DE BASE Activer et désactiver rapidement les règles qualité FxCop (i.e Code Analysis) • Activer et désactiver rapidement les règles qualité StyleCop (i.e. Source Analysis) • Dans tous les cas, TFS buildera avec les options qualité ON! … ALLER PLUS LOIN QUE CE PRINCIPE: Création d’un add-on VS le cadre du Lab.Net d’Objet Direct
  • 58.
    DEBUGGER PLUS RAPIDEMENTAVEC HTML5: PAGE INSPECTOR ASP.NET MVC RAZOR
  • 59.
    VISUAL STUDIO 2012/ 2013: DEBUGGER DES APPLICATIONS WEB POUR ALLER ENCORE PLUS LOIN : GLIMPSE ET ELMAH • Traçabilité de bout en bout : Glimpse.axd (Nuget tool) http://www.nuget.org/packages/glimpse • ELMAH pour logger des erreurs (comme EntLib)
  • 60.
    CONCLUSION SUR LAQUALITE AVANTAGES ET INCONVENIENTS + Outils complets + Aide à la décision + résultats temps- réels possibles + Vue d’ensemble de tout le code, avec l’évolution et tendances même avec 100 000 lignes de code! - ALLER PLUS LOIN QUE L’OUTILLAGE - ECHEC SI PAS D’ACCOMPAGNEMENT AU CHANGEMENT Trouver le bon niveau de qualité au bon moment Attention à la démotivation des équipes Attention au syndrome « false feeling of security » Ne pas compter que sur l’outil !
  • 61.
    VISUAL STUDIO: DIAGRAMMEDES DÉPENDANCES
  • 62.
    COULOIRS DE DÉPLOIEMENT(DEV, MAIN, RELEASE) INTÉGRÉ À TFS : BRANCHE (ALTERNATIVES : WEB.CONFIG OU OPTIONS TEAM BUILD)
  • 63.
    SURVOL D’UN CYCLEDE DÉPLOIEMENT RAPIDE ET CONTINU HAUTE TRAÇABILITÉ Alternatives possibles à TFS Build / Deploy : InRelease, qui devient Microsoft. Ou encore Nolio, Microsoft System Center, Service Now, TFSVersioning (Codeplex)…
  • 64.
    SURVOL D’UN CYCLECOMPLET AVEC VISUAL STUDIO ET TFS TRAÇABILITÉ ENTRE LE BESOIN, LES TÂCHES, LES LIVRAISONS ET LES ALERTES BESOINS TACHES ARCHIVAGE DETAIL ALERTES
  • 65.
    LES APPLICATIONS MICROSOFTTRES CONNECTE EXCEL  TFS ET TFS  MS OFFICE MÊME IDÉES QU’AVEC POWERPOINT-STORYBORDING (CONNEXION À TFS)  RAPPORT TFS-SERVER VIA REPORTING SERVICES  OU EXCEL CONNECTÉ À LA BI DE TFS
  • 66.
    WORKFLOW DE DEPLOIEMENTPOUR TFS DEMONSTRATION
  • 67.
    VÉRITABLE DÉPLOIEMENT POURUN PROSPECT TÉMOIGNAGE… Déploiement semi-manuel réussi pour un nouveau prospect par téléphone par Chat lors d’un « After-work ». Prospect transformé en client !
  • 68.
    RETOUR D’EXPERIENCE SURLE SLA ARRET DE SERVICE PLANIFIE (A DEUX REPRISES) Maintenance « single instance deployments of Windows Azure Virtual Machines » • REFLEXE: Aucun problèmes de notre côté, car full PaaS ! • FAIT: … Sauf … une partie en ‘preview’
  • 69.
    CONFIGURATION EN QUELQUESÉTAPES CRÉER UN ENVIRONNEMENT AZURE PUIS CONNEXION À TFS (1/2)
  • 70.
    CONFIGURATION EN QUELQUESÉTAPES CRÉER UN ENVIRONNEMENT AZURE PUIS CONNEXION À TFS (2/2)
  • 71.
    UN CMDB QUIINCLUS UN ARM : SERVICE NOW Alternatives Nolio, InRelease, Microsoft System Center, … EXEMPLE PROVISIONING WORKFLOW (possibilité d’Orchestra- tion via Runbook et MID Server / ECC Queues)
  • 72.
    POUR CONCLURE SURLA SOFTWARE FACTORY / DEVOPS… SIMPLE à chaque étapes ! – Ne pas oublier les prochaines marches – Cela porte un nom: Modèle de maturité du « Cloud Computing » – Assimiler les problématiques DevOps et ITIL  limite l’effet tunnel – « Think big, act small, fail fast, lear rapidly » (cf. Lean) ITIL (**) Prêt ARM (*) (*) ARM: Application Release Management (**) ITIL: IT Infrastructure Library
  • 73.
    . C# (NIVEAU1 ET 2) . ORM: ENTITY FRAMEWORK . ASP.NET MVC RAZOR . TDD EN C# . BDD EN C# . NDEPEND 5 . SOFTWARE FACTORY VS+TFS NOMBREUSES FORMATIONS .NET, JAVA, UML, AGILITÉ FOCUS SUR LES FORMATIONS MICROSOFT EN 2014 http://www.objetdirect.com/sites/default/files/objetdirect/catalogue_objet_direct.pdf
  • 74.
  • 75.
  • 76.
    Source https://github.com/rubik/radon/blob/master/docs/intro.rst CODE METRICAND MAINTENABILITY INDEX Construct Effect Reasoning if +1 An if statement is a single decision. elif +1 The elif statement adds another decision. else +0 The else statement does not cause a new decision. The decision is at the if. for +1 There is a decision at the start of the loop. while +1 There is a decision at the while statement. except +1 Each except branch adds a new conditional path of execution. finally +0 The finally block is unconditionally executed. with +1 The with statement roughly corresponds to a try/except block (see PEP 343 for details). assert +1 The assert statement internally roughly equals a conditional statement. Comprehen- sion +1 A list/set/dict comprehension of generator expression is equivalent to a for loop. Lambda +1 A lambda function is a regular function. Boolean Operator +1 Every boolean operator (and, or) adds a decision point. Cyclomatic Complexity Cyclomatic Complexity corresponds to the number of decisions a block of code contains plus 1. This number (also called McCabe number) is equal to the number of possible paths through the code. It is therefore equivalent to the number of test cases it should took to completely cover the block. Radon analyzes the AST tree of a Python program to compute Cyclomatic Complexity. Statements have the following effects on Cyclomatic Complexity:
  • 77.
    REFERENCES • NDepend :www.ndepend.com (analyse statique de code) • Resharper 8 : http://www.jetbrains.com/resharper (outils de productivité pour écrire / refactoriser automatiquement son code) • SonarQube : http://www.sonarqube.org (analyse également du .Net) • ServiceNow: https://demochannel.service-now.com/ess/ • http://blog.thavo.com/2010/03/how-many-rules-in-fxcop-and-stylecop.html • http://blogs.msdn.com/b/codeanalysis/archive/2007/11/20/maintainability-index- range-and-meaning.aspx Agile Product Ownership in a Nutshell, by Henrik Kniberg : http://blog.crisp.se/2012/ 10/25/henrikkniberg/agil e-product-ownership-in- a-nutshellproduct ownership in a nutshell
  • 78.
    VISUAL STUDIO 2012ET 2013: LISTE DE QUELQUES AMELIORATIONS PRINCIPALES • Nouveautés exhaustives de VS 2013: http://www.microsoft.com/visualstudio/eng/visual-studio-2013#story-2013 • Nouveautés intéressantes de VS 2013: http://www.hanselman.com/blog/SCREENCASTSWhatsNewInVisualStudio2013Lea rnOverLunch.aspx Nouveautés intéressantes et parfois méconnus de VS2012: http://channel9.msdn.com/Events/TechEd/Australia/2012/DEV211 . Windows 8 and Windows Phone 8 project templates . VS comes with tools to help you deploy to Azure . TFS 2012 is much better with offline workspaces and useful web access for managing your projects . LightSwitch . Better SharePoint development tools . Backlog tools (web UI / TFSPreview) . My Work . Suspend / Resume . Javascript debugging improvements (http://blogs.msdn.com/b/visualstudio/archive/2012/04/10/javascript-debugging- enhancements.aspx) . Extensions for PowerShell development (http://powerguivsx.codeplex.com/) . Tools for Code and Architecture Reviews* VS 2012 EN RESUME History IDE Improvements UI Search Everywhere Performance Tweaks Developer Goodies Web developer friendliness Unit Testing IntelliTrace MTM - Exploratory Testing Feedback Tools Storyboarding

Notes de l'éditeur

  • #9 (*) Microsoft NDA Reference IEAID: 179573 (**) « C’est la première fois que je vois une équipe qui utilise Windows Azure avec cette finesse. Vous devez partager cette expérience avec les autres équipes du programme. » (***) « Vincent, merci pour votre dévotion et implication. Vous avez été moteur dans le développement et la livraison de la plateforme SaaS. Je voudrais vous remercier pour votre fibre innovante et leader d’opinion. 
  • #15 Unbreakable build
  • #16 Unbreakable build
  • #17 Fichier de configuration, InRelease. AzureContinuousDeployment.11.xaml
  • #19 TFS Branching and Merging
  • #20 Isoler: une erreur de Click, et le service disparaît !! Nécessité d’un outil de CMDB, GLPI (outil de gestion de park), Service Now, Nolio, InRelease, … ( Type ITIL )
  • #25 Isoler: une erreur de Click, et le service disparaît !! Nécessité d’un outil de CMDB, GLPI (outil de gestion de park), Service Now, Nolio, InRelease, … ( Type ITIL )
  • #26 Isoler: une erreur de Click, et le service disparaît !! Nécessité d’un outil de CMDB, GLPI (outil de gestion de park), Service Now, Nolio, InRelease, … ( Type ITIL )
  • #28 Unbreakable buildEviter l’effet tunnel, y compris en production en comprenant les problématiques DevOps et ITIL v3 « Think big, act small, fail fast, lear rapidly » (cf. Lean)
  • #29 Unbreakable buildEviter l’effet tunnel, y compris en production en comprenant les problématiques DevOps et ITIL v3 « Think big, act small, fail fast, lear rapidly » (cf. Lean)
  • #30 Unbreakable buildEviter l’effet tunnel, y compris en production en comprenant les problématiques DevOps et ITIL v3 « Think big, act small, fail fast, lear rapidly » (cf. Lean)
  • #31 Unbreakable buildEviter l’effet tunnel, y compris en production en comprenant les problématiques DevOps et ITIL v3 « Think big, act small, fail fast, lear rapidly » (cf. Lean)
  • #33 Fichier de configuration, InRelease. AzureContinuousDeployment.11.xaml Fake => PhantomJS en mémoire
  • #35 Enter the URL
  • #36 Logon using Microsoft account / Windows Azure Active Directory
  • #39 Choose Create a new services
  • #40 Generate suggested names
  • #41 Now you have the generated suggested names
  • #49 Fichier POM dans Java; Maven qui teste les dépendences internes (Nuget = dépendences externes)
  • #56 Fichier POM dans Java; Maven qui teste les dépendences internes (Nuget = dépendences externes)
  • #59 http://www.nuget.org/packages/glimpse
  • #60 Fichier POM dans Java; Maven qui teste les dépendences internes (Nuget = dépendences externes)
  • #67 Isoler: une erreur de Click, et le service disparaît !! Nécessité d’un outil de CMDB, GLPI (outil de gestion de park), Service Now, Nolio, InRelease, … ( Type ITIL )
  • #77 Fichier POM dans Java; Maven qui teste les dépendences internes (Nuget = dépendences externes)
  • #78 Fichier POM dans Java; Maven qui teste les dépendences internes (Nuget = dépendences externes)
  • #79 Fichier POM dans Java; Maven qui teste les dépendences internes (Nuget = dépendences externes)