Agile Solution Factory - Université de Mons · Solution Factory = Scrum/Agile + DevOps –...

Post on 22-May-2020

5 views 0 download

Transcript of Agile Solution Factory - Université de Mons · Solution Factory = Scrum/Agile + DevOps –...

Julien Vandercammen – 8/02/2019 - V1.0

Agile Solution Factory

1. Présentation

2. Contexte, défis

3. Project Management

4. Agile

5. DevOps

6. Solution Factory

7. Synthèse

Agenda

1.

Qui suis-je?

Julien Vandercammen Expérience professionnelle IT de 12 ans IT Team Leader / Scrum Master, D’Ieteren

Ingénieur Civil en Informatique et Gestion, Polytech Mons, 2006Master en Management, Fucam, 2010

Banking, insurance life/non life, retailing, after-sales, accounting Datawarehouse, ERP, integration, migration Front-end, back-end, middleware

Présentation

https://www.linkedin.com/in/julien-vandercammen

1.

D’Ieteren Auto

Groupe D’Ieteren: D’Ieteren Auto + Belron (Carglass) + Moleskine

D’Ieteren Auto– Importer (NV, pièces)– Retail

• New Vehicles• After Sales

– Financement

En quelques chiffres...– Parts de marché: 22% – 1,2 million de véhicules sur les routes belges– 150 concessionaires indépendants dont 23 sites propres– 1580 travailleurs ETP

Présentation

2.

Contexte professionnel

Domaine Integration– Integration de différentes technologies et

services• Data format: Flat file, CSV, XML, Soap,

Json, Rest, API...• Transport format: HTTP, FTP, JMS, MQ...• Security: HTTPS, SSL, mutual SSL,

Oauth 2.0, WS-Security...– Multi/Cross-domaines

• New Vehicles, Used Vehicles, Parts, Financial Services, After Sales, CRM, Accounting, MDM...

– Service Oriented Architecture (SOA)• « Canonical Model » afin de former un

framework middleware des objets métiers

Contexte, défis

2.

Contexte professionnel

Equipe – 15 ETP, réparti sur 2 sites– Rôles

• Analyste, Développeur, Testeur, DevOps, Support/Ops

Projets vs Maintenance– Nouveaux projets– Projets en production (maintenance, support)– Dette technique

Contexte, défis

2.

Défis

Réduire le « time to market »Gestion des prioritésRespect du « time-cost-scope »Contraintes, dépendances entre équipesROI

Contexte, défis

3.

Qu’est ce qu’un projet?

Un projet est un ensemble d'activités organisées en phases ou étapes et formant l'unité de gestion permettant la réalisation d'un objectif défini et précis

Project Management

Méthodologies: Prince2, PmBok, Agile, Scrum, Lean...

3.

Modèle Waterfall

Project Management

3.

Illustration Waterfall – effet « tunnel »

Project Management

3.

Modèle Agile

Project Management

4.

Manifeste Agile (Manifesto for Agile Software Development)

We are uncovering better ways of developing software by doing it and helping others do it.

Through this work we have come to value:

Individuals and interactions over processes and toolsWorking software over comprehensive documentationCustomer collaboration over contract negotiationResponding to change over following a plan

That is, while there is value in the items on the right, we value the items on the left more.

Agile

4.

Principes

1. Satisfaire le client en priorité en livrant rapidement et régulièrement des fonctionnalités à forte valeur ajoutée

2. Accepter le changement, exploiter le changement comme avantage concurrentiel 3. Livrer une application fonctionnelle4. Collaborer régulièrement (quotidiennement) entre les acteurs5. Encourager la motivation des personnes de l’équipe (soutien, confiance)6. Favoriser les conversations en face à face (efficacité)7. Mesurer la progression en termes de fonctionnalités achevées8. Promouvoir un rythme de développement soutenable9. Apporter une attention continue à l'excellence technique et à la qualité de la

conception10. Minimiser les tâches jugées parasites11. Laisser l’équipe s'auto-organiser afin de faire émerger les meilleures architectures,

spécifications et conceptions12. Prendre le temps de réfléchir aux moyens de devenir plus efficace et ajuster son

processus de travail en conséquence

Agile

4.

Incrémentation vs Itération

Agile

4.

Scrum: Rôles & Responsabilités

Agile

Product Owner ScrumMaster Development Team

Définit les fonctionnalités Assure le process Scrum Auto‐organisée

Définit les dates de release Facilitateur Estime

Accepte ou rejette le livrable Réalise (« Gets it done »)

Décision finale

4.

Scrum: Méthodologie

Agile

4.

Waterfall vs Agile

The Rise And Fall Of Waterfall: https://vimeo.com/18951935

Agile

4.

Agile en pratique

Sprint– Durée: 2 semaines

User Story Daily Scrum Definition of Ready (DoR), Definition of Done (DoD) Sprint Planning, Sprint Review, Sprint Retrospective, Backlog

refinements/Poker meeting

Outils– Jeux de carte « Planning poker »– JIRA– Marqueurs– Post-it !

Agile, en pratique...

4.

Daily Scrum

Daily Scrum– Stand Up meeting!– 15 min max– Tous les jours à 9h devant la TV d’équipe– Ordre aléatoire

Agile, en pratique...

4.

User Story

En tant que <qui>, je veux <quoi> afin de <pourquoi>

Exemple– En tant qu'utilisateur, je veux pouvoir modifier mes emplois du temps

mais pas ceux des autres utilisateurs– En tant que client, je veux réserver une solution de mobilité pendant

l’entretien de mon véhicule

Agile, en pratique...

4.

User Story (2)

En tant que <qui>, je veux <quoi> afin de <pourquoi>

Agile, en pratique...

4.

Definition of Done (DoD)

Agile, en pratique...

4.

Poker meeting

Point de complexité VS Jours-hommes (mandays) « Suite de Fibonacci »

Agile, en pratique...

4.

Poker meeting (2)

Agile, en pratique...

Que pensez-vous de cette story?

Ah... Pourquoi 5? Pourquoi 20?

A présent, que pensez-vous de la story?

VJ2

Slide 25

VJ2 VANDERCAMMEN Julien; 21/09/2016

4.

Sprint Planning

Team Capacity– 70-80% du temps effectif– Tâches non planifiables

Team Velocity

Agile, en pratique...

4.

Story Mapping

Projet découpé en Work Package (Work Breakdown Structure) Poker meeting + Planification Agile temps/importance

Agile, en pratique...

Sprint 1 Sprint 2 Sprint 3

4.

Agile board

To Do/Doing/Done

Agile, en pratique...

4.

Agile board (2) : JIRA

Epic/Story

Agile, en pratique...

4.

Sprint Retrospective

Agile, en pratique...

4.

Sprint Retrospective (2)

How are you today?

Agile, en pratique...

Keep, More, Less or Stop

4.

Sprint Retrospective (3)

Chacun met un ou plusieurs points sur Post-IT Regroupement Priorisation avec matrice d’Eisenhower

Agile, en pratique...

4.

Sprint Retrospective (4)

Matrice d’Eisenhower

Agile, en pratique...

4.

Sprint Retrospective (5)

Les 3 petis cochons Feedabck 360°

Agile, en pratique...

4.

Burndown chart

Rapport JIRA– Où suis-je dans mon Sprint?

Agile, en pratique...

4.

Paper Prototype

Se concentrer sur le fond (fonctionnalités) et non la forme...

Agile, en pratique...

Avantages Agile/Scrum

Implication élevée des stakeholders (business, team...)TransparenceLivraisons rapides et prédictivesCoûts et planning maîtrisésChangement accepté (Agile <> Flexibilité)Focalisé sur la valeur business, les besoins

Agile: état d’espritScrum: framework Agile

Synthèse

5.

Development + Operations = ?

Equipe large (> 7 personnes) Scope large (plusieurs projets parallèles) Gestion des applications existantes/nouveaux features ...

DevOps

Automatisation de tâches!!

5.

Development + Operations = ?

Build, Package & Deploy Code Inspection

– Statistiques, détection failles, respect best practices... Source Control

– Quelle version du code est dans quel environnement? Automatical Testing

– Test Driven Development– Test de non régression (passif)– Test des nouvelles fonctionnalités (actif)

Continuous Integration– Validation continue que la version est déployable– Minimum Viable Product

Continuous Delivery– Livraison aux clients

DevOps

5.

Periodic Table of DevOps tools

Jenkins, Git, GitLab, Gradle, UrbanCode, Jira, Zabbix, ElasticSearch...

DevOps

5.

Lifecycle & Environments

DevOps

5.

Code versioning

Git

GitFlow– Modèle de branching– Branches

• Master = PROD• Develop = integration branch

with new features• Feature• Release• Hotfix

Tools– GitKraken

DevOps

https://nvie.com/posts/a-successful-git-branching-model/

5.

Dashboards

Testing dashboard, Lifecycle dashboard

DevOps

5.

Poka Yoke

Issu de LEAN Comment éviter « mécaniquement » des erreurs évitables? Système « anti-erreur »

Check automatisé de l’organisation des sources lors du push (Git) Check automatisé des gouvernances de développement (naming convention,

network adressing...) Environnement de développement unique et partagé (runtime commun,

configuration partagée) Check de credentials différents par environnement ...

DevOps

6.

Scrum + DevOps = ?

Agile Solution Factory

6.

Exemple de Solution Factory

Agile Solution Factory

7.

Solution Factory = Scrum/Agile + DevOps– Combinaison de 2 « Mondes »– Itératif, circuit court feedback, livraison fiable et rapide

Step 1 « Agile », step 2 « levier DevOps »

Essai/erreur apprentissageAdopter et adapter à votre contexte

Et surtout :

Communication et

Synthèse

Merci pour votre attention

Julien Vandercammenjulien.vandercammen@dieteren.be

Événements, conférences, partage d’expérience...

Agile vu sous différents angles (Gestion de projets, Scrum Master hospital, DevOps...) Aussi appliqué à des métiers non IT (Marketing...)

Forum Agile