prune: remove cycle time (as I guess it's not even the right computation)

This commit is contained in:
Julien Calixte
2025-01-08 13:19:01 +01:00
parent d8ac1ad678
commit e187f1d5c8
3 changed files with 43 additions and 31 deletions

View File

@@ -24,12 +24,12 @@ const feature: Feature = {
}
const simulationStore = useSimulationStore()
const leadTimeDelta = computed(() =>
(
const leadTimeDeltaFloat = computed(
() =>
parseFloat(simulationStore.meanLeadTime('push')) -
parseFloat(simulationStore.meanLeadTime('pull'))
).toFixed(2)
)
const leadTimeDelta = computed(() => leadTimeDeltaFloat.value.toFixed(2))
const SIMULATION_THRESHOLD = 20
@@ -200,9 +200,11 @@ const displaySimulationConclusion = computed(() => {
the patterns we can identify?
</p>
<p>
In a primarly <PushSystemIcon /> push system, we see teams struggling
and stuck reworking the same features again and again to finally having
all features live all at once.
In a primarly <PushSystemIcon /> push system, depending on your
simulation. You can see teams going just fine. But when a problem
occurs, it starts to snowball. We see teams struggling and reworking the
same features again and again to finally having all features delivered
all at once.
</p>
<p>
In a primarly <PullSystemIcon /> pull system however, we see a smoother
@@ -224,10 +226,9 @@ const displaySimulationConclusion = computed(() => {
<div class="text">
<p>
Okay, we generally see that the <PullSystemIcon /> pull system is a bit
quicker, features are delivered sooner even if the cycle time is quite
the same. The real difference seems to be on the number of issues. In a
<PullSystemIcon /> pull system, teams are focus on a small number of
feature helping them having less overburden.
quicker, features are delivered sooner. The real difference seems to be
on the number of issues. In a <PullSystemIcon /> pull system, teams are
focus on a small number of feature helping them having less overburden.
</p>
<p>
Now, what happens when we have a lot of projects to deliver? Are
@@ -238,11 +239,12 @@ const displaySimulationConclusion = computed(() => {
<SimulationControls type="multiple" class="above" />
<div class="flow-multiple-simulation text">
<p v-if="displaySimulationConclusion">
Okay, now we're pretty sure! The cycle time - the time needed to
complete one feature - is quite close actually. But as the quality issue
increase in the push system, these defects and corrections pile up and
generate at about <span class="numeric">{{ leadTimeDelta }}</span>
days of difference.
Okay, now we're pretty sure! As the quality issue increase in the
<PushSystemIcon /> push system, these defects and corrections pile up
and generate at about
<span class="numeric">{{ leadTimeDelta }}</span>
days of difference<template v-if="leadTimeDeltaFloat > 12">!!</template
><template v-else>.</template>
</p>
<p v-else>
Waiting for at least {{ SIMULATION_THRESHOLD }} simulations...

View File

@@ -45,13 +45,13 @@ const featureStore = useFeatureStore()
days
</div>
</div>
<div class="card">
<!-- <div class="card">
Cycle time
<div class="data">
<span class="numeric">{{ featureStore.cycleTime }}</span>
days
</div>
</div>
</div> -->
<div class="card">
Quality issues
<div class="numeric">{{ featureStore.qualityIssues }}</div>

View File

@@ -1,4 +1,6 @@
<script setup lang="ts">
import PullSystemIcon from '@/icons/PullSystemIcon.vue'
import PushSystemIcon from '@/icons/PushSystemIcon.vue'
import type { Strategy } from '@/modules/pull-system/lean/strategy'
import { useSimulationStore } from '@/modules/pull-system/simulation/simulation-store'
@@ -11,18 +13,26 @@ const strategies: Strategy[] = ['push', 'pull']
<template>
<div class="simulation-dashboard">
<h3>Dashboard</h3>
<h4>
{{ simulationStore.simulationsDone
}}<span class="sub">/{{ simulationStore.requestedSimulation }}</span>
simulations
</h4>
<h3>
Dashboard
<span class="simulation-count">
{{ simulationStore.simulationsDone
}}<span class="sub">/{{ simulationStore.requestedSimulation }}</span>
simulations
</span>
</h3>
<table>
<thead>
<tr>
<th></th>
<th class="numeric">push</th>
<th class="numeric">pull</th>
<th class="numeric">
<PushSystemIcon />
push system
</th>
<th class="numeric">
<PullSystemIcon />
pull system
</th>
<!-- [dps]
<th class="numeric">push with problem solving</th>
<th class="numeric">pull with problem solving</th> -->
@@ -41,12 +51,12 @@ const strategies: Strategy[] = ['push', 'pull']
{{ simulationStore.meanLeadTime(strategy) }}
</td>
</tr>
<tr>
<!-- <tr>
<td>Cycle time</td>
<td class="numeric" v-for="strategy in strategies" :key="strategy">
{{ simulationStore.meanCycleTime(strategy) }}
</td>
</tr>
</tr> -->
<tr>
<td>Quality issues</td>
<td class="numeric" v-for="strategy in strategies" :key="strategy">
@@ -76,13 +86,13 @@ const strategies: Strategy[] = ['push', 'pull']
.simulation-dashboard {
color: var(--primary-color);
width: 100%;
table {
padding: 1rem;
}
}
.numeric {
text-align: right;
}
.simulation-count {
font-size: 14px;
}
</style>