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

View File

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

View File

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