Post on 22-Nov-2014
description
Donnez votre avis !Depuis votre smartphone, sur : http://notes.mstechdays.fr
De nombreux lots à gagner toutes les heures !!!
Claviers, souris et jeux Microsoft…
Merci de nous aider à améliorer les TechDays
http://notes.mstechdays.fr
ALM204 - ALM & eCommerce
des challenges en continu !Kamel KHELIL
Solution Sales Pro. Visual Studio
Microsoft
Code / Développement
ALM204Site web
Vincent LABATUTMVP Visual Studio ALM
Sogeti
SOGETI FRANCE
3
Agenda
• le contexte du eCommerce• « Cuisiner » une évolution• Les perspectives d’avenir
La recette d’une évolution…
LE CONTEXTEChapitre 1
ALM204 - ALM & eCommerce : des challenges en continu !
ALM <> SDLC
Le périmètre ALM
Dev
Build
Deploy
Test
Gouvernance
Développement
Exploitation
ApplicationLifecycleManagement
Ceux dont on ne va pas parler…
Les équipes (en cuisine)
Développeurs,
Designers
TesteursBuild master Intégrateurs
Chefs de Projet
Métier ProductionStakeholder
Architectes
MOA
Spécialistes : Web, Perf
« Time is of the essence… »
• Objectifs classiques– Réduction des coûts et ROI– Réduction des bugs
bloquants
• Objectifs commerciaux– Time to market!
• Objectifs stratégiques– Modularité, réutilisabilité
Les priorités techniques du eCommerce
Vitesse
Coûts Qualité
« CUISINER » UNE EVOLUTIONChapitre 2
ALM204 - ALM & eCommerce : des challenges en continu !
• Impacte les sites– Front Office– Middle Office
• Impacte les bases de données
• Impacte la configuration
Une idée, une envie…
Une idée marketing qui tue
A la Saint Valentin, déclarez votre flamme et faites profiter de réductions inédites* à l’élu(e) de votre cœur !
* cf tous les articles marqués d’un cœur !
Super promo spéciale amoureux !
Livraisons et patches sont planifiés de longue date
• Demande du métier• Chef de projet fonctionnel (MOA)
– Estimation et chiffrage
• Planification
Une commande spéciale…
Livraison 1
Livraison 2
Livraison 3
Livraison 4
Livraison 5
Patches 1a 1b
2a 2b 3a 3b 4a 4b
• Le Framework et la couche de services– De nombreux services
découpés en domaines fonctionnels
• Gestion des dépendances simple
• Découpage très fin :– Maîtrise naturelle– Solution assez lourde
La composition du plat
Les entrailles
Framework
Service 1
Service 2
Service N
…
Applications (Fronts, Middle)
BD 1 BD 2 BD N…
Champ de bataille
• Le projet est réparti sur plusieurs équipes– Front Office– Middle Office
• Les développeurs rapportent le suivi au fur et à mesure du développement
• Ils produisent 3 artefacts principaux :– Evolutions de code– Evolutions de bases de données– Evolutions de configuration
• On distingue le suivi développement du suivi facturation
La répartition des commis
• Une arborescence de Work Items partant des « projets »
• Modèle CMMI fortement modifié
• Les évolutions sont composées de :– Code (Task puis merges
rattachés à des Synchro)– Configuration– Resource– Database
Question d’organisation
Work Items customization
ExtBug
Configuration
Database
Project
Requirement
Task
Task
Task
Configuration
Resource
Task
Synchro
Task
Task
Synchro
Database
Task
Database
demoL’UTILISATION DU TEAM PROJECT
Team Queries & Project of projects
Assurer l’intégrité
• Le code est archivé dans TFS– Nous avons mis en place des contraintes avec
des Checkin Policies• Commentaire obligatoire• Work Item obligatoire• Expérimentation : UpdateTime Policy
– Mise en place sur un chemin précis
• Politique de surveillance des checkins sans Work Item !
Le travail sur l’ingrédient principal
Bonjour Truc,Il faudrait que tu associes tes checkins à des Work Items, pourras-tu le faire à l’avenir ?Si tu as besoin d’infos n’hésite pas à revenir vers moi,Cordialement,Vincent
Bonjour Machin,En effectuant ce checkin tu as overridé la policy qui restreint volontairement le champ des work items « associables » aux tâches en état « Active », or la tâche que tu as choisie était « Proposed ». Au besoin, il faut changer ou faire changer l’état de la tâche en cours.Cordialement,Vincent
Bonjour Bidule,Le problème avec la policy Work Item Query a été expliqué dans mon mail du 6 juin dernier, il ne faut pas l'overrider : il y a en fait un problème de cache et de refresh côté client. Si le WI est repassé à Active tout récemment, il y a une solution simple et rapide : ne pas utiliser la fenêtre Pending Checkins qui met en cache le résultat de la requête , on peut passer par le checkin depuis le Solution Explorer ou le Source Control Explorer. Si cela ne passe toujours pas, relancer Visual Studio, ou bien faire le checkin depuis une autre instance de Visual Studio.Désolé que cela ne se refresh pas bien sans avoir faire cela, n’hésite pas à revenir vers moi si tu as des problèmes ou questions,Cordialement,Vincent
• Du temps passé à expliquer (et éduquer) les développeurs
• Pas si chronophage
• Résultats visibles
• Au final meilleur contact
Les difficultés (mineures)
« Prendre un enfant par la main, pour l’emmener vers demain… » (chanson populaire pour admin ALM)
C’est mal…
Tu as violé la règle…
demoUPDATE TIME POLICY
Experimental
Etapes de cuisson
Les stades de maturation
Faire monter la sauce
• Build continu sur la branche de dev• Environ 250… (multiplicité liées aux
branches, aux différents projets par équipe)– Historique des builds prend beaucoup de Go dans la base
TFS
• A lancer dans l’ordre• Fortement customisés• N’utilisent pas les workflows (la migration est
souhaitée mais pas encore réalisée)
L’intégration des ingrédients (les builds)
Une pointe de sel
• L’évolution arrive sur la branche d’intégration (Main)– Le merge est fait par l’équipe de
développement– Ce sont les responsables techniques et les
développeurs qui contrôlent cette plate-forme
• Puis elle est intégrée sur la branche de recette– Les intégrateurs opèrent le merge
Finalisation du plat
• Les testeurs déroulent les cas de test– Centre de test Sogeti
• Les anomalies sont créées dans un outil de bug tracking tiers– Une synchro a été mise
en place– L’outil tiers est encore la
référence– La traçabilité avec TFS
est en place
Les goûteurs
Lâchez les fauves !
Equipes test
Gestionnaire de bugs
TFS
Développeurs
Rapportanomalie
Synchro
Correctif
Commu-nication
A vos buzzers… Votez !
• Un développeur a-t-il produit un bug ?– A) « Non merci, je ne fais que très peu de bugs »
– B) clients.Where(x=>x.IsAmoureux).CrediterSoldeBonAchat(100);
– C) Le développeur déteste la St Valentin, il a transformé la réduction en augmentation pour les profils St Valentin
– D) Obi-Wan Kenobi
Le plat est-il satisfaisant ?
Cycle de correction court
• Un correctif est réalisé par l’équipe de développement concernée
• Puis intégré jusqu’à la branche de recette !
• Nouvelle session de test– Jeu réduit de TNR
Problème : manque d’épices
Déploiement en pré-prod
• Préparation des livraisons et packaging– Le mot d’ordre : traçabilité– Procédure de déploiement
Le dressage et la présentation
Livraison
ItérationSynchro 1
Synchro 2
Resource 1
MAIN
RECETTE
PRODUCTION
Changeset
ChangesetDatabase
1
demoPRÉPARATION DE LA LIVRAISON
D’une pierre deux coups
Chaud devant !
• Le jury final : tests de perf– 1ers tests avec Load Testing (Visual Studio)– Tests exhaustifs avec un logiciel tiers
• Servi en salle : passage en prod– La nuit à 2h du matin– Cache serveurs important : pré-caching de 30
minutes au moins
Le jury final (l’examen calorique)
Cycle de correction long
• Prise en main de la fiche bug– Equipe de TMA ou de Développement selon les
cas
• Correctif sur branche de maintenance• Eventuellement fusionné vers la
production– Nombreux correctifs abandonnés
• Trop mineur• Trop impactant, conséquences trop flous ou
peu maitrisées• Durée limitée : de nouvelles évolutions
vont le rendre obsolète le mois d’après
• Pipeline de livraison accéléré– Les patches entrelacés avec les livraisons
d’évolutions
Améliorer un plat déjà servi, c’est possible…
MAIN
RECETTE
PRODUCTION
MAINTENANCE
LES PERSPECTIVES D’AVENIRChapitre 3
ALM204 - ALM & eCommerce : des challenges en continu !
TFS
TFS encore plus au cœur de l’ALM
Rétrospective
Work Items
Reporting
Source Controlle
rBuilds
Développeurs
Testeurs
Build master
Intégrateurs
Chefs de Projet
ArchitectesMOA
MTM rulez
• Démarrage de l’utilisation des campagnes MTM– Ajustement sur les WIs pour tirer parti au mieux
du reporting
• Les premières fiches de bugs 100% TFS– Bientôt seulement TFS pour le bug tracking ?
Meilleure utilisation du testing
La productivité, toujours…
• Gestion des évolutions de bases de données dans le contrôleur de sources
• Idem pour les évolutions de configuration
• Des outils pour surveiller l’intégrité des Changesets et Work Items
Des processus plus fluides
Transparence…
• Avec les campagnes et les fiches de bugs• + le temps passé en temps réel• Le fameux rapport « User Story overview » devient exploitable
Le reporting de bout en bout
Projets, ou fonctionnalitésAvancement des développements
Avancement des campagnes de test(inclus les tests automatisés)
Bugs et correctifs
MTM rulez
• Fonctionnalités d’équipe• Tests exploratoires• Feedback utilisateur
Migration Visual Studio 2012 et TFS 2012
Formez-vous en ligne
Retrouvez nos évènements
Faites-vous accompagner gratuitement
Essayer gratuitement nos solutions IT
Retrouver nos experts Microsoft
Pros de l’ITDéveloppeurs
www.microsoftvirtualacademy.com
http://aka.ms/generation-app
http://aka.ms/evenements-developpeurs
http://aka.ms/itcamps-france
Les accélérateursWindows Azure, Windows Phone,
Windows 8
http://aka.ms/telechargements
La Dev’Team sur MSDNhttp://aka.ms/devteam
L’IT Team sur TechNethttp://aka.ms/itteam