From d81a3aaec9a578bd36c3433351a3bfe6c4df42e9 Mon Sep 17 00:00:00 2001
From: Julien Calixte
Date: Fri, 3 Jan 2025 14:47:13 +0100
Subject: [PATCH] prune: remove all the problem solving part that needs to go
outside of this article
---
src/modules/pull-system/article/FlowSetup.vue | 26 ++++++++++++-------
.../pull-system/feature/FlowControls.vue | 19 +++++++++++---
.../pull-system/feature/FlowDashboard.vue | 3 ++-
.../pull-system/feature/feature-board.ts | 4 +--
.../simulation/SimulationControls.vue | 9 ++++---
.../simulation/SimulationDashboard.vue | 26 +++++++++++--------
.../simulation/simulation-store.ts | 24 +++++++++--------
7 files changed, 69 insertions(+), 42 deletions(-)
diff --git a/src/modules/pull-system/article/FlowSetup.vue b/src/modules/pull-system/article/FlowSetup.vue
index b10b67b..1541f2a 100644
--- a/src/modules/pull-system/article/FlowSetup.vue
+++ b/src/modules/pull-system/article/FlowSetup.vue
@@ -33,11 +33,13 @@ const feature: Feature = {
- It starts with the intention "{{ feature.name }}". This is what we'll add to the mobile app.
+ It starts with the intention "{{ feature.name }}". This is what we'll add to the mobile app.
({{ feature.complexity }}) is the complexity
- of the feature. The more complex a feature is, the more chance we introduce a defect.
+ of the feature. The more complex a feature is, the more chance we
+ introduce a defect.
{{ feature.leadTime }}d is the number of days
@@ -51,10 +53,11 @@ const feature: Feature = {
never deliver defects.
- Okay! We have 20 features to deliver. It takes one day for each team to finish
- their part for each feature.
+ Okay! We have 20 features to deliver. It takes one day for each team to
+ finish their part for each feature.
- Each day, you can choose between 3 strategies:
+
+ Each day, you can choose between 2 strategies:
-
@@ -64,10 +67,11 @@ const feature: Feature = {
Pull system
+
In this article we'll focus on how these strategies are efficient and what
@@ -76,8 +80,9 @@ const feature: Feature = {
The push system: start as many features as possible
- By pushing features from the start, we try to maximize the time worked by teams on the product.
- This way, no money is wasted, everyone has everytime something to do.
+ By pushing features from the start, we try to maximize the time worked by
+ teams on the product. This way, no money is wasted, everyone has everytime
+ something to do.
The pull system: produce features only when the next team needs it
@@ -93,14 +98,15 @@ const feature: Feature = {
will always have material to transform. Here, we'll have 2 blue bins per
team.
- Problem solving: no production, just reflection
+
diff --git a/src/modules/pull-system/feature/FlowControls.vue b/src/modules/pull-system/feature/FlowControls.vue
index 13fbd87..616af22 100644
--- a/src/modules/pull-system/feature/FlowControls.vue
+++ b/src/modules/pull-system/feature/FlowControls.vue
@@ -15,16 +15,27 @@ const featureStore = useFeatureStore()
diff --git a/src/modules/pull-system/feature/FlowDashboard.vue b/src/modules/pull-system/feature/FlowDashboard.vue
index e8e37af..6bb0829 100644
--- a/src/modules/pull-system/feature/FlowDashboard.vue
+++ b/src/modules/pull-system/feature/FlowDashboard.vue
@@ -17,12 +17,13 @@ const featureStore = useFeatureStore()
}}
/{{ featureStore.totalFeaturesCount }}
+
Mean complexity
{{ featureStore.meanComplexity }}
diff --git a/src/modules/pull-system/feature/feature-board.ts b/src/modules/pull-system/feature/feature-board.ts
index 72e1b51..574b3b1 100644
--- a/src/modules/pull-system/feature/feature-board.ts
+++ b/src/modules/pull-system/feature/feature-board.ts
@@ -250,8 +250,8 @@ export const nextDay = (
strategy: Strategy | 'problem-solving'
): FeatureState => {
state.meta.totalDays++
- // each day, the teams know how to better work together
- state.meta.teamWorkExperience += 0.1
+ // // each day, the teams know how to better work together
+ // state.meta.teamWorkExperience += 0.1
if (strategy === 'problem-solving') {
const hasTeamLearned = randomFloat(0, 1) > 0.25
diff --git a/src/modules/pull-system/simulation/SimulationControls.vue b/src/modules/pull-system/simulation/SimulationControls.vue
index dbf4ba6..a8797c4 100644
--- a/src/modules/pull-system/simulation/SimulationControls.vue
+++ b/src/modules/pull-system/simulation/SimulationControls.vue
@@ -1,5 +1,5 @@
@@ -21,8 +23,9 @@ const strategies: Strategy[] = ['push', 'pull', 'push-dps', 'pull-dps']
mean values |
push |
pull |
- push with problem solving |
- pull with problem solving |
+
@@ -44,24 +47,25 @@ const strategies: Strategy[] = ['push', 'pull', 'push-dps', 'pull-dps']
{{ simulationStore.meanTaktTime(strategy) }}
-
- | Complexity |
-
- {{ simulationStore.meanComplexity(strategy) }}
- |
-
| Quality issue |
{{ simulationStore.meanQuality(strategy) }}
|
+
+ | Complexity |
+
+ {{ simulationStore.meanComplexity(strategy) }}
+ |
+
+
diff --git a/src/modules/pull-system/simulation/simulation-store.ts b/src/modules/pull-system/simulation/simulation-store.ts
index d47c186..a9f6775 100644
--- a/src/modules/pull-system/simulation/simulation-store.ts
+++ b/src/modules/pull-system/simulation/simulation-store.ts
@@ -1,3 +1,5 @@
+///
+
import { featureSteps } from '@/modules/pull-system/feature/feature-steps'
import type { Strategy } from '@/modules/pull-system/lean/strategy'
import type { Dashboard, Meta } from '@/store-type'
@@ -21,7 +23,7 @@ type State = {
mean: Record
}
-const newMean = (): Mean => ({
+const initMean = (): Mean => ({
leadTimeSum: 0,
taktTimeSum: 0,
complexitySum: 0,
@@ -54,10 +56,10 @@ export const useSimulationStore = defineStore('dashboard', {
requestedSimulation: 0,
simulationsDone: 0,
mean: {
- push: newMean(),
- pull: newMean(),
- 'pull-dps': newMean(),
- 'push-dps': newMean()
+ push: initMean(),
+ pull: initMean(),
+ 'pull-dps': initMean(),
+ 'push-dps': initMean()
}
}
},
@@ -101,8 +103,8 @@ export const useSimulationStore = defineStore('dashboard', {
dashboard.meta.totalDays / newState.features.length
this.mean[strategy].complexitySum += dashboard.analysis.meanComplexity
this.mean[strategy].qualityIssueSum += dashboard.analysis.meanQualityIssue
- this.mean[strategy].teamWorkExperienceSum +=
- dashboard.meta.teamWorkExperience
+ // this.mean[strategy].teamWorkExperienceSum +=
+ // dashboard.meta.teamWorkExperience
this.mean[strategy].totalDaysSum += dashboard.meta.totalDays
this.mean[strategy].simulations++
},
@@ -115,10 +117,10 @@ export const useSimulationStore = defineStore('dashboard', {
},
clearDashboard() {
this.dashboards = []
- this.mean.push = newMean()
- this.mean.pull = newMean()
- this.mean['pull-dps'] = newMean()
- this.mean['push-dps'] = newMean()
+ this.mean.push = initMean()
+ this.mean.pull = initMean()
+ this.mean['pull-dps'] = initMean()
+ this.mean['push-dps'] = initMean()
this.simulationsDone = 0
this.requestedSimulation = 0
}