Tags | agile kanban prioritisation skill/professional_skills |
You can think of kanban as a way to prioritize work. Kanban is a methodology used in professional dev teams and even manufacturing.
We use Kanban techniques because:
When we are getting things right, then the following should all be true:
Kanban is a method for eliminating waste. It is a methodology that comes from manufacturing, but it makes a lot of sense in the context of software development as well.
What is waste? There are a few different kinds:
This is somewhere where resources have been sunk, but no value has yet been created.
For example: imagine you owned a car factory. You can’t sell half a car. You can only sell a car that is complete. Same with software. Half a feature is useless. Completing work adds value.
Therefore: bias your actions towards finishing things. Junior coders often like to chase shiny new things and start new projects before finishing what they started. This is normal, it’s also ineffective.
What this means in terms of Tilde: The more important a card is, the closer it will be to the right of the board.
These are activities that don’t add value and should be removed.
If you see something useless happening, please voice your concerns :)
This isn’t super relevant in education. But you’ll come across it later in life. Generally, coders call this “scope creep”. It’s nasty stuff.
Multi-tasking doesn’t work. For brain-workers, attention is golden. Focusing on one thing at a time is the way to go.
What does this mean in terms of Tilde? If you are in the middle of a task, try not to get distracted. Focus on finishing what you are working on. Then look for the next high priority task.
If you task switch every time something new comes along and invite your teammates to tap you on the shoulder every 5 minutes you won’t get much focus in.
Have you heard of flow? It’s the best place to be for a dev. It generally takes 20 minutes to get into the flow. Getting out of flow is expensive.
Of course, waiting is pointless. If someone is waiting for you, your highest priority task would be to unblock them.
This means the following things take precedence over writing new code:
If a card keeps bouncing back between review feedback and review then that’s wasteful. For every bounce, there will be some wasteful waiting going on. There’s also an emotional cost, it sucks to have to deal with the same task over and over.
How this relates to Tilde:
The earlier you find a problem, the cheaper it is to fix. This is true in software and life. Did your grandmother ever tell you “a stitch in time saves 9”? Cheesy but true.
If someone doesn’t get feedback, then they don’t get to learn about their mistakes. They then just make the same mistakes.
This is another reason why giving people thorough feedback is such an important task. And it’s another reason why people need to act on feedback quickly and completely.
Imagine you are building cars. Cool. Now imagine you have a big giant box of gearboxes sitting in a pile waiting to be used. Producing more gearboxes wouldn’t be the top priority unless you were going to run out soon. Gearboxes take time, effort and attention to produce, the materials cost money.
Now imagine Tshepo has 10 cards in his review feedback column. He also has 2 cards in the Review column. This situation isn’t super cool.
If the effort is put into reviewing Tshepo’s 2 Review cards, then the feedback would just clog up his feedback column. There might be a better way to add value.
In this case, helping Tshepo by doing some pairing with him could be useful, maybe he needs some support.
Generally, if there are too many things clogging up a column, it means something has gone wrong. When something goes wrong it’s important to:
Kinds of waste: https://www.computer.org/csdl/pds/api/csdl/proceedings/download-article/12OmNwJybT0/pdf