complete the article

This commit is contained in:
Julien Calixte
2023-07-31 22:58:16 +02:00
parent b2eeb1c02b
commit 3cc24fe8aa
9 changed files with 87 additions and 24 deletions

View File

@@ -1,8 +1,11 @@
<script setup lang="ts">
import SeparatorIcon from '@/icons/SeparatorIcon.vue'
import FlowConclusion from '@/modules/article/FlowConclusion.vue'
import FlowHypothesis from '@/modules/article/FlowHypothesis.vue'
import FlowIntro from '@/modules/article/FlowIntro.vue'
import FlowMultipleSimulation from '@/modules/article/FlowMultipleSimulation.vue'
import FlowSetup from '@/modules/article/FlowSetup.vue'
import FlowSingleSimulation from '@/modules/article/FlowSingleSimulation.vue'
import FeatureSteps from '@/modules/feature/FeatureSteps.vue'
import FlowDashboard from '@/modules/feature/FlowDashboard.vue'
import SimulationControls from '@/modules/simulation/SimulationControls.vue'
@@ -21,8 +24,14 @@ import SimulationDashboard from '@/modules/simulation/SimulationDashboard.vue'
<FeatureSteps alias="introducing" />
<FlowDashboard class="above" />
<FeatureSteps alias="playground" />
<SimulationControls class="above" />
<SimulationControls type="single" class="above" />
<SimulationDashboard />
<FlowSingleSimulation class="text" />
<SimulationControls type="multiple" class="above" />
<SimulationDashboard />
<FlowMultipleSimulation class="text" />
<SeparatorIcon />
<FlowConclusion class="text" />
</div>
</template>

View File

@@ -0,0 +1,24 @@
<template>
<div class="flow-conclusion">
<p>
When money and pressure are in the game, fear, uncertainty, and doubt
spread out rapidly. So we rush, as fast as we can, and when a team has
nothing to do, it becomes a disaster: money are being burned.
</p>
<p>
Teams will overproduce. They will do every pieces they can as they are
autonomous: product team will pitch their features, designers will design
every pages, developers will rush to code forgetting why the customer
needs this precise feature. They will then struggle to get these pieces to
the very end when they will transfer them to the others teams.
Multitasking will drastically drop the productivity. So the fear of having
nothing to give to the next team pushes us to produce just in case. Bugs
lead to more bugs that lead to more bugs.
</p>
<p>
But the best way to succeed is to ask: "Is this what you need? How can I
help you?". Just like in Ekiden, handovers are where the real struggles
happen but we're on the same race, together.
</p>
</div>
</template>

View File

@@ -2,7 +2,7 @@
<template>
<div class="flow-hypothesis">
<p>Hypothesis:</p>
<p>Here our hypothesis:</p>
<ol>
<li>it takes the same amount of time for each team to complete a task</li>
<li>

View File

@@ -1,18 +1,12 @@
<template>
<div class="flow-intro">
<p>
This article is here to plan ahead ourselves to what can be misconceptions
on how to be effective. Teams will overproduce. They will do everything
piece they can as they are autonomous. They will then struggle to get
these pieces to the very end when they will transfer them to the others
teams. Multitasking will drastically drop the productivity. So the fear of
having nothing to give to the next team pushes us to produce just in case.
Bugs lead to more bugs that lead to more bugs.
</p>
<p>
When money and pressure are in the game, fear, uncertainty, and doubt
spread out rapidly. So we rush, as fast as we can, and if a team has
nothing to do, it becomes a disaster.
How good are we to succeed a project? Delivering the features at the good
quality and at the right time. We're pretty bad at it and there is a lot
of misconceptions on how to manage people to do what need to be done. I
wanted to create a simulation to plan ahead and see what are the
consequences of different strategy patterns and which is the most
effective.
</p>
</div>
</template>

View File

@@ -0,0 +1,17 @@
<template>
<div class="flow-conclusion">
<p>Teams tend to underestimate how long a project will be.</p>
<p>
If we're not in a good pace, we just have to try harder. Only once. "Just
in time" becomes "Just this time". So teams overproduce. Creating stock
and latent defects the teams need to rework. The worse the project do, the
more silot we become and we tend to argue with a "I've done my job, if the
project fails it's not my fault.". The fact is that it's nobody's fault,
it's a system.
</p>
<p>
Short term objectives become the norm. It is never the right time to do
problem solving. To think on how we think.
</p>
</div>
</template>

View File

@@ -0,0 +1,10 @@
<template>
<div class="flow-conclusion">
<p>Pull systems win by a lot! Why is that?</p>
<p>
But it was only one simulation, maybe it can be different. To be sure,
let's generate 200 projects delivering 200 features each! And see what
happens...
</p>
</div>
</template>

View File

@@ -33,13 +33,8 @@ const featureStore = useFeatureStore()
days
</div>
</div>
<div class="card">
Days
<div class="data">
<span class="numeric">{{ featureStore.meta.totalDays }}</span
>d
</div>
</div>
</div>
<div class="row cards">
<div class="card">
Takt time
<div class="data">
@@ -47,6 +42,13 @@ const featureStore = useFeatureStore()
days
</div>
</div>
<div class="card">
Days
<div class="data">
<span class="numeric">{{ featureStore.meta.totalDays }}</span
>d
</div>
</div>
<div class="card">
ETA
<div class="data">
@@ -66,6 +68,7 @@ const featureStore = useFeatureStore()
display: flex;
flex-direction: column;
align-items: center;
gap: 1rem;
.cards {
display: flex;

View File

@@ -1,6 +1,11 @@
<script setup lang="ts">
import { Strategy } from '@/modules/lean/strategy'
import { useSimulationStore } from '@/modules/simulation/simulation-store'
defineProps<{
type: 'single' | 'multiple'
}>()
const simulationStore = useSimulationStore()
const NUMBER_OF_SIMULATION = 200
@@ -15,7 +20,7 @@ const simulateEverything = () => {
<template>
<div class="simulation-controls">
<div class="row">
<div class="row" v-if="type === 'single'">
<button
class="button button-outline"
@click="simulationStore.multiSimulation(1, 'push')"
@@ -41,7 +46,7 @@ const simulateEverything = () => {
simulate pull with DPS
</button>
</div>
<div class="row">
<div class="row" v-else-if="type === 'multiple'">
<button class="button button-outline" @click="simulateEverything">
simulate {{ NUMBER_OF_SIMULATION }} simulations for each system
</button>