techdays 2013 : alm et ecommerce, des challenges en continu

Post on 22-Nov-2014

73 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

Using TFS to develop big ecommerce apps

TRANSCRIPT

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

top related