Minimum Viable Product

Kanban #noEstimates
Extreme Programming

 

 

Boostez votre création de valeur!

slido.com #4306

Julien Topçu

Sr Lead Dev @
 

@JulienTopcu

https://beyondxscratch.wordpress.com/

julien.topcu@owasp.org

Petit Sondage

 

Pourquoi on a arrêté de faire du Scrum

Planning

Daily Scrum

Le Sprint un sport individuel par définition

Le dernier jour du Sprint...

Potentiellement livrable...

Une tâche non livrée est
une dette qui génère des intérêts

Une tâche crée de la valeur à partir du moment où son contenu est utilisé par un client

i.e.

Quand son ROI est activé

Si les priorités changent, on préfère attendre le sprint suivant

Les limites du Scrum

Met en place des réunions lourdes à l'efficacité discutable
 

Ne favorise pas le travail d'équipe

N'est pas assez flexible vis-à-vis du changement et des aléas

 

N'optimise pas le ROI, et la création de valeur

 

S'appuie sur des estimations subjectives qui sont souvent fausses

KanBan

ou Comment se débarrasser du superflu,

Comment être plus flexible face au changement

et Comment optimiser la création de valeur

Taiichi Ōno

ToDo

+ prioritaire

- prioritaire

Règle #1

On se focalise sur ce qui créer le plus de valeur

ToDo

In Progress

Code Review

To Release

+ prioritaire

- prioritaire

Règle #2

 Les stocks coûtent de plus en plus chers à mesure qu'ils se rapprochent du client final

 

Règle #3

Limiter le travail en cours !

Pensez à un ThreadPool

Evitez le "coding frenzy"!

Plusieurs tâches par personne
=

Goulot d’étranglement

ToDo

In Progress

Code Review

To Release

3

2

No!

Une tâche qui est commencée doit absolument être terminée le plus rapidement possible

Lead Time

Debit = WIP/LeadTime
Debit=WIP/LeadTimeDebit = WIP/LeadTime

Loi de Little

Cycle Time

ToDo

Done

LeadTime = WIP/Debit
LeadTime=WIP/DebitLeadTime = WIP/Debit

Réduire le WIP = Réduire le Lead Time

Accélérer la création de valeur

Pas de Sprints

ToDo

New

New

Avantage #1: la Flexibilité

Avantage #2

Ne pas avoir de Sprints favorise le Continuous Delivery

La performance:
maintenir le leadTime à son minimum

Le leadTime se termine lors de la mise en production

Une tâche n'est réellement finie que lorsqu'elle est livrée en production i.e. à partir du moment où elle crée de la valeur

Pas de Scrum Master

Le rôle du développeur n'est pas que d'écrire du code !

 

S'assurer que le pipeline de production fonctionne est le rôle de tous

Pas de réunions de Plannings

 

En admettant que les priorités peuvent changer à chaque instant, la réunion de planning n'a plus de sens

Et parce qu'on livre à chaque tâche

Pas de réunions interminables où tout le monde s'ennuie

=

Plus de temps à se consacrer à la création de valeur

Mais alors comment fait-on pour savoir quand vont être livrées nos features ?

Les estimations...

Petite expérience!

A good estimation approach should provide estimates that are within 25% of the actual results 75% of the time

Conte, Dunsmore and Shen (1986)         

Estimer coûte cher sans fiabilité garantie et sans ROI

A quoi servent les estimations?

ou comment s'affranchir des estimations subjectives

#NoEstimates

La prédictibilité

Il y'a 2 sortes de tâches:

  • Les trop grosses

  • Les assez petites

Maintenir la calibration en cours de développement!

Se servir du passé pour prédire le futur

ToDo

...

...

Last

Last

#15

#1

#25

Si les priorités changent,

Les dates de livraison changent !

Il faut que le pipeline de production soit assez stable !

#NoEstimates n'est pas la totale abolition des estimations !

Se focaliser sur la vision produit

Faire des cycles courts

Prédire par les data

L'alternative

Extreme Programming

ou comment mieux travailler ensemble

Représentant du client sur site

 

Intégration continue

Rythme soutenable

Convention de nommage
Tests!!! TDD

Poker Planning

----------------

Petites livraisons

Conception simple

 

Refactoring

Le pairing

1 pilote

1 copilote

Permet de faire de meilleurs choix plus vite

Moins de risques qu'une tâche se retrouve à l'arrêt

Changement des rôles et des paires à chaque nouvelle tâche

Réduit fortement la courbe d'apprentissage

ToDo

In Progress

Code Review

To Release

Pair
Review

Tout le monde fait toutes les codes reviews!

Appropriation collective du code

Des stand-up plus efficaces

La connaissance individuelle tend vers la connaissance collective

KanBan #noEstimates + XP

boostent la création de valeur en:

  • Limitant le travail en parallèle

  • Favorisant des cycles de release très courts

  • Supprimant les rôles et activités superflus

  • Se focalisant sur ce qui est important

  • Renforçant le travail d'équipe

  • Répandant plus largement et rapidement la connaissance

Mais...

  • Consomme plus d'énergie

  • Nécessite une adhésion complète de l'équipe

  • Demande plus de discipline

  • Peut augmenter les interdépendances

  • Requière une grande capacité de recul

  • Exige une vision claire des priorités

  • S'adapte mal aux grosses équipes

Merci!

 

 

 

 

 

 

 

 

Q&A?!

Kanban #noEstimates XP

By Julien Topçu

Kanban #noEstimates XP

  • 1,206