26
JFTL 2015 Retour d’expérience PagesJaunes.fr Concilier Agilité, Exigences et Continuous Delivery : Retour d’expérience PagesJaunes Paris - 14/04/2015 Fabien Grellier CTO Pagesjaunes.fr [email protected] @FabGrellier

Concilier Agilité, Exigences et Continuous Delivery · Activités de tests dans l’équipe Agile 21 Non régression Visuelle Si le module est validé, NR Visuelle pour vérifier

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Concilier Agilité, Exigences et Continuous Delivery · Activités de tests dans l’équipe Agile 21 Non régression Visuelle Si le module est validé, NR Visuelle pour vérifier

JFTL 2015 – Retour d’expérience PagesJaunes.fr

Concilier Agilité, Exigences et Continuous Delivery :

Retour d’expérience PagesJaunes

Paris - 14/04/2015

Fabien Grellier CTO Pagesjaunes.fr

[email protected]

@FabGrellier

Page 2: Concilier Agilité, Exigences et Continuous Delivery · Activités de tests dans l’équipe Agile 21 Non régression Visuelle Si le module est validé, NR Visuelle pour vérifier

JFTL 2015 – Retour d’expérience PagesJaunes.fr

Quelques chiffres

2

5ème 4 301 238

7

50

350 000 12000

Page 3: Concilier Agilité, Exigences et Continuous Delivery · Activités de tests dans l’équipe Agile 21 Non régression Visuelle Si le module est validé, NR Visuelle pour vérifier

JFTL 2015 – Retour d’expérience PagesJaunes.fr

NewPagesjaunes.fr : enjeux

Raccourcir le TTM et le TTR

• Mise en production technique plusieurs fois par jour

Réduire les coûts

• Automatiser tout ce qui peut l’être

• Améliorer l’efficacité et la maintenabilité des tests automatiques

• Mieux cibler les impacts des évolutions sur le patrimoine de tests

Améliorer la qualité globale du service

• Réduire le nombre d’anomalies détectées en production

• Définir une stratégie de tests maximisant la qualité à cout constant

3

TTM : Time To Market

TTR : Time To Repair

Page 4: Concilier Agilité, Exigences et Continuous Delivery · Activités de tests dans l’équipe Agile 21 Non régression Visuelle Si le module est validé, NR Visuelle pour vérifier

JFTL 2015 – Retour d’expérience PagesJaunes.fr

Cycle actuel de mise en production

4

Equipe 1 Développements

MMF1

Mise au

point

MEP

Développements

MMF2

Mise au

point

MEP

Développement

s MMF3

Equipe 2 Développements

MMF1

Mise au

point

Développements

MMF2

Mise au

point

Développement

s MMF3

Equipe 3 Développements

MMF1

Mise au

point

Développements

MMF2

Mise au

point

Développement

s MMF3

Production

6 semaines

Page 5: Concilier Agilité, Exigences et Continuous Delivery · Activités de tests dans l’équipe Agile 21 Non régression Visuelle Si le module est validé, NR Visuelle pour vérifier

JFTL 2015 – Retour d’expérience PagesJaunes.fr

Cycle proposé avec NewPJ

5

Equipe 1 D M

MEP

Equipe 2 Développements

MMF1 M

Equipe 3 Dev MMF1 M

Production

Tests

A/B

D M D M

Tests A/B

D M D M D M D M

MEP MEP MEP MEP MEP MEP

MEP

Développements

MMF1 M

Développements

MMF1 M

MEP MEP

MEP

Dev MMF1 M

Développements M Dév M

MEP MEP

Dev MMF1 M Tests A/B

D M D M D M D M Dev MMF1 M

MEP MEP MEP MEP MEP MEP MEP

D M Développements Mise au point

Page 6: Concilier Agilité, Exigences et Continuous Delivery · Activités de tests dans l’équipe Agile 21 Non régression Visuelle Si le module est validé, NR Visuelle pour vérifier

JFTL 2015 – Retour d’expérience PagesJaunes.fr

Leviers identifiés

6

Projet NewPJ.fr

Organisation

Modularité

Ingéniériedes

exigences

ContinuousDelivery

Stratégie de tests

Page 7: Concilier Agilité, Exigences et Continuous Delivery · Activités de tests dans l’équipe Agile 21 Non régression Visuelle Si le module est validé, NR Visuelle pour vérifier

JFTL 2015 – Retour d’expérience PagesJaunes.fr

Leviers identifiés

7

Projet NewPJ.fr

Organisation

Modularité

Ingéniériedes

exigences

ContinuousDelivery

Stratégie de tests

Page 8: Concilier Agilité, Exigences et Continuous Delivery · Activités de tests dans l’équipe Agile 21 Non régression Visuelle Si le module est validé, NR Visuelle pour vérifier

JFTL 2015 – Retour d’expérience PagesJaunes.fr

Alpha

Scrum Master

Recetteur

Tech Lead

Développeur

Développeur

Développeur

Designer

Dev HTML

PO

Recetteur

Bravo

Scrum Master

Recetteur

Tech Lead

Développeur

Développeur

Développeur

Designer

Dev HTML

PO

Recetteur

Charly

Scrum Master

Recetteur

Tech Lead

Développeur

Développeur

Développeur

Designer

Dev HTML

PO

Recetteur

Delta

Scrum Master

Recetteur

Tech Lead

Développeur

Développeur

Développeur

Designer

Dev HTML

PO

Recetteur

Organisation des équipes : Feature Teams S

èvre

s

Re

nn

es

Page 9: Concilier Agilité, Exigences et Continuous Delivery · Activités de tests dans l’équipe Agile 21 Non régression Visuelle Si le module est validé, NR Visuelle pour vérifier

JFTL 2015 – Retour d’expérience PagesJaunes.fr 9

Projet NewPJ.fr

Organisation

Modularité

Ingéniériedes

exigences

ContinuousDelivery

Stratégie de tests

Page 10: Concilier Agilité, Exigences et Continuous Delivery · Activités de tests dans l’équipe Agile 21 Non régression Visuelle Si le module est validé, NR Visuelle pour vérifier

JFTL 2015 – Retour d’expérience PagesJaunes.fr

Modularité : Définition d’un module

10

Code

• Ecrit par le développeur

• Testé unitairement par le développeur

Exigences (outil Polarion)

• Ecrites par le TechLeader, le PO, le RA

• Exprime l’ensemble des besoins techniques et

fonctionnels de façon pérenne

Tests

• Vérifient la conformité d’un module par rapport

aux exigences

• Techniques : unitaires, intégrations,

performances

• Fonctionnels : sélénium, REST Assured

Automatisation des tests

pour le Continuous

Delivery

Module complet et autonome, qui communique en REST

• Contient du code, des exigences, des tests,

Page 11: Concilier Agilité, Exigences et Continuous Delivery · Activités de tests dans l’équipe Agile 21 Non régression Visuelle Si le module est validé, NR Visuelle pour vérifier

JFTL 2015 – Retour d’expérience PagesJaunes.fr 11

Alpha Bravo

Front-Office

Orchestrateurs

API

Continuous Delivery

Production

Charly Delta

Page 12: Concilier Agilité, Exigences et Continuous Delivery · Activités de tests dans l’équipe Agile 21 Non régression Visuelle Si le module est validé, NR Visuelle pour vérifier

JFTL 2015 – Retour d’expérience PagesJaunes.fr

Leviers identifiés

12

Projet NewPJ.fr

Organisation

Modularité

Ingéniériedes

exigences

ContinuousDelivery

Stratégie de tests

Page 13: Concilier Agilité, Exigences et Continuous Delivery · Activités de tests dans l’équipe Agile 21 Non régression Visuelle Si le module est validé, NR Visuelle pour vérifier

JFTL 2015 – Retour d’expérience PagesJaunes.fr

Pourquoi la GEX ?

13 Tests Exigences

Evolution

Anomalies

• Une description d’un fonctionnel à la cible et en cours d’évolution

Formalisation du fonctionnel

• Une analyse facilité de la complexité du changement, de son impact sur le SI et de la charge induite

Analyse d’impact

• Une gestion facilité de la traçabilité des besoins, des tests et des anomalies

Tracabilité Besoins / Tests / Anomalies

• Une vision de la couverture de test du SI

Couverture de tests

Page 14: Concilier Agilité, Exigences et Continuous Delivery · Activités de tests dans l’équipe Agile 21 Non régression Visuelle Si le module est validé, NR Visuelle pour vérifier

JFTL 2015 – Retour d’expérience PagesJaunes.fr

Leviers identifiés

14

Projet NewPJ.fr

Organisation

Modularité

Ingéniériedes

exigences

ContinuousDelivery

Stratégie de tests

Page 15: Concilier Agilité, Exigences et Continuous Delivery · Activités de tests dans l’équipe Agile 21 Non régression Visuelle Si le module est validé, NR Visuelle pour vérifier

JFTL 2015 – Retour d’expérience PagesJaunes.fr

Vision macro de la chaine de Continuous Delivery

15

Build+

Tests Unitaires

+Qualimét

rie

Etape 1

Tests d’intégr

ation+

Tests de

perfs

Etape 2A

Tests Fonctionnels

Etape 2B

Tests Fonctio

nnels+

Tests de perform

ance

C

B

A

FIFO

ContiPerf

Etape 3

Tests par module Tests globaux

Tests Manuel

s+

Tests Visuels

Etape 3bis

Chaine automatisée

Mo

du

les

Page 16: Concilier Agilité, Exigences et Continuous Delivery · Activités de tests dans l’équipe Agile 21 Non régression Visuelle Si le module est validé, NR Visuelle pour vérifier

JFTL 2015 – Retour d’expérience PagesJaunes.fr

Leviers identifiés

16

Projet NewPJ.fr

Organisation

Modularité

Ingéniériedes

exigences

ContinuousDelivery

Stratégie de tests

Page 17: Concilier Agilité, Exigences et Continuous Delivery · Activités de tests dans l’équipe Agile 21 Non régression Visuelle Si le module est validé, NR Visuelle pour vérifier

JFTL 2015 – Retour d’expérience PagesJaunes.fr

Stratégie de tests : définir, pour chaque type de tests

17

Outils, environnements et types de données

nécessaires

Seuils d’acceptation dans la chaine CD par criticité

d’exigence

Profondeur en fonction de la criticité des exigences

Stratégie de tests

Page 18: Concilier Agilité, Exigences et Continuous Delivery · Activités de tests dans l’équipe Agile 21 Non régression Visuelle Si le module est validé, NR Visuelle pour vérifier

JFTL 2015 – Retour d’expérience PagesJaunes.fr

Profondeur de tests en fonction de la criticité de l’exigence

18

Critique

Majeure

Mineure

Accessoire

Quelques tests minimalistes Quelques tests non fonctionnels Seuil d’acceptation des tests à 90%

Quelques tests sur les exceptions Plus de types de tests non fonctionnels Seuil d’acceptation des tests à 60%

Enrichissement des types et de la profondeur des tests Seuil d’acceptation des tests à 90%

Tous les types de tests mis en place Profondeur maximale (exceptions, limites, etc …) Seuil d’acceptation des tests à 100%

Page 19: Concilier Agilité, Exigences et Continuous Delivery · Activités de tests dans l’équipe Agile 21 Non régression Visuelle Si le module est validé, NR Visuelle pour vérifier

JFTL 2015 – Retour d’expérience PagesJaunes.fr

Lien entre exigences et Continuous Delivery

19

3bis

Test

s d

es m

éth

od

esB

uild

Test

s d

es d

épen

dan

ces

100% 100

%

Test

s fo

nct

ion

nel

s

Test

s fo

nct

ion

nel

s

Test

s d

e p

erfo

rman

ce

<1%err

Test

s fo

nct

ion

nel

s

Test

s d

e p

erfo

rman

ce

<1%err

Test

s fo

nct

ion

nel

s

Test

s d

e p

erfo

rman

ce

<1%err

100%

0

0

0 # mineures

# majeures

# bloquantes

Accessoire

Mineur

Majeur

Taux de réussite attendu

Test

s d

es v

isu

els

Test

s d

es v

isu

els

100%

Co

uve

rtu

re

cod

e

>80%

Test

s d

e p

erfo

rman

ce

Sup

ervi

sio

n

(pro

d)

100%

Sup

ervi

sio

n

Sup

ervi

sio

n

<1%err

Sup

ervi

sio

n (p

ré-p

rod

)

100%

SLA99%

100%

100%

90%

60%

50%

90%

60%

50%

90%

60%

50% 100

%

90%

60%

50%

Critique

0

95

2 0

95

2

0

95

2

0 # accessoires

Exigences Anomalies

Valeurs

dépendantes

de la criticité de

l’exigence

Page 20: Concilier Agilité, Exigences et Continuous Delivery · Activités de tests dans l’équipe Agile 21 Non régression Visuelle Si le module est validé, NR Visuelle pour vérifier

JFTL 2015 – Retour d’expérience PagesJaunes.fr

Typologie des tests

Tests Parcours

Tests Fonctionnels

Front

Tests Fonctionnels API

Tests Intégration

Tests Unitaires

Tests parcours

Tests Intégratio

nTests

Unitaires

Manuels Tests Manuels (2379)

51

1893

2152

732

471367%

1436

190

320151%

NEWPJ VINTAGE

13

Test

s A

uto

mat

isés

Page 21: Concilier Agilité, Exigences et Continuous Delivery · Activités de tests dans l’équipe Agile 21 Non régression Visuelle Si le module est validé, NR Visuelle pour vérifier

JFTL 2015 – Retour d’expérience PagesJaunes.fr

Activités de tests dans l’équipe Agile

21

Non régression Visuelle

Si le module est validé, NR Visuelle pour vérifier la conformité

Commit

Tests exécutés dans la chaine CD

Exécution

En environnement de développement

Implémentation

Automatisation Personne différente de celui qui a préparé

Préparation

Ecriture des cas de tests dans Polarion Est il automatisable ?

Page 22: Concilier Agilité, Exigences et Continuous Delivery · Activités de tests dans l’équipe Agile 21 Non régression Visuelle Si le module est validé, NR Visuelle pour vérifier

JFTL 2015 – Retour d’expérience PagesJaunes.fr

Tests et recette : qui fait quoi ?

15

Préparation

Implémentation

Exécution

Equipe Agile 1

Tests Transverses

Delivery Management

Non régression

Chaine Continuous Delivery

AuditContrôle Indicateurs

QualitéStratégie de tests

globale

Préparation

Implémentation

Exécution

Equipe Agile 2

Non régression

Préparation

Implémentation

Exécution

Equipe Agile 3

Non régression

Page 23: Concilier Agilité, Exigences et Continuous Delivery · Activités de tests dans l’équipe Agile 21 Non régression Visuelle Si le module est validé, NR Visuelle pour vérifier

JFTL 2015 – Retour d’expérience PagesJaunes.fr

Difficultés rencontrées

23

Ventilation des exigences sur les

APIs

Formalisation des exigences

techniques

Concilier référentiel d’exigences et

maquettes Ergo-design

Recette non automatisable

Gestion des branches

Sur-qualité

Page 24: Concilier Agilité, Exigences et Continuous Delivery · Activités de tests dans l’équipe Agile 21 Non régression Visuelle Si le module est validé, NR Visuelle pour vérifier

JFTL 2015 – Retour d’expérience PagesJaunes.fr

Conclusion

Passage de 1 version par mois à 1 version par semaine

Amélioration de la qualité à cout constant

• Meilleur ciblage des tests et une maitrise de la couverture des exigences par les

tests

Amélioration de la productivité globale

• Automatisation complète du processus de construction et d’exécution

Tracabilité du besoin et maitrise des impacts des évolutions

fonctionnelles sur les exigences, les tests, le code

24

Page 25: Concilier Agilité, Exigences et Continuous Delivery · Activités de tests dans l’équipe Agile 21 Non régression Visuelle Si le module est validé, NR Visuelle pour vérifier

JFTL 2015 – Retour d’expérience PagesJaunes.fr

Vers l’infini, et au-delà !

25

DevOps Automatisation jusqu’à la

production

Delivery

quotidien

Responsive

Design

Coverity

Page 26: Concilier Agilité, Exigences et Continuous Delivery · Activités de tests dans l’équipe Agile 21 Non régression Visuelle Si le module est validé, NR Visuelle pour vérifier

JFTL 2015 – Retour d’expérience PagesJaunes.fr

QUESTIONS ?

[email protected]

@FabGrellier

26