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. + help you?". +
- 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. + In lean manufacturing, one key aspect is the notion of + lead time: the time needed by the company to deliver the product + requested by the client starting when the client makes the order. For lean + practitioners, the way to deliver at the right time is by improving how + their delivery system works with... The pull system! +
++ The pull system is in opposition of the push system. Instead of trying to + make everyone work at their maximum capacity, we try to improve the time + it needs to deliver a feature. +
++ I wanted to create a simulation to see what are the consequences of + different strategy patterns and which is the most effective. +
++ Let's see what happens when we want to create a Newsletter mobile app. We + have some functionalities to implement and we want to measure how long it + takes. +
++ Note: as we'll visualize work done between teams, it needs space so + this article has a better experience on desktop.
-Note: better experience on desktop.
- You're a Product Manager in a project who has just started, your goal is - to make a product as fast as you can. With you, you'll have the product - team, designers, developers and a release team. + The project who has just started, our goal is to make a product as fast as + you can. With you, you'll have the product team, designers, developers and + a release team. +
++ First things first, what is a feature? A feature is a piece of software + that enables things for the user. It can be the capability to + read articles or to share them or even to be able to read one without the + need for internet connection. In our simulation, a feature will be + represented as follow:
-This is a feature:
+ 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 to have - defect we have. + of the feature. The more complex a feature is, the more chance we introduce a defect.
{{ feature.leadTime }}d is the number of days - the feature started its journey. The ultimate goal is to reduce this - number and deliver as fast as possible. + the teams work on the feature. The goal is to reduce this number and + deliver as fast as possible.
- You have 20 features to deliver, and each day you can choose between 3 - strategies: + 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:
In this article we'll focus on how these strategies are efficient and what - are the impact on the quality the teams produce. + are the impact on the quality the teams produce. Let's dive in each + strategy!
-- Pushing all the feature as fast as possible, this is the only strategy - that allows us to target the best possible result: `# step × # status × # - features`. We may overburden teams in the process though. But as we - already invest money everybody to work so if there is someone who has - nothing to do, this is just money down the drain. + 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.
@@ -79,6 +86,12 @@ const feature: Feature = { waiting for next team to be ready before doing some extra work than having stock of feature pre-baked.
++ To make this happen we first need to setup blue bins: our security stocks + Blue bins make sure teams can work without any blockers. The next team + will always have material to transform. Here, we'll have 2 blue bins per + team. +
We invest days where we are not productive at all to investigate and @@ -87,15 +100,6 @@ const feature: Feature = { understand and limit rework. The more the team investigate, the more the team learn and start to be extremely good at problem solving.
-- Blue bins are your security stock, they make sure teams can work without - any blockers. The next team will always have material to transform. But it - comes with a cost: too many blue bins add overburden, stagnation - (increasing lead time) and duplicated mistakes. The less you have, the - more the team can focus. But the more you have, the more secure you are to - make teams work, we have to find the good balance. -