7 Lean wastes that you need to avoid at all cost

We need to avoid them at all cost if we want to become more productive.

We often think that we waste our time because of small things. Like getting a coffee or having a bigger lunch. But the reality is that the work we do is filled with time wasters that cost us more time than any break that we take.

If we are not able to identify and mitigate them, we are doomed to never get rid of them.

The initial 7 lean waste came from the Toyota Production System, and were applied to lean manufacturing. In a sentence, to factories. But over the years it has evolved. It evolved in a way that we were able to map them to our industry of software development.

This is a summary of the 7 lean wastes.


#1 Task-Switching

Man Connection Utp Cables on Switch Hub Inside Room

We waste time when task or context switching because of something called the psychological refractory period.

Without entering into much science, it means that whenever we need to stop what we are doing and move to something else, our brain needs to adapt. That adaptation is not free, it takes processing power and that in the end is time. It can cost you up to 40% when task-switching.

And if you are thinking. NO, I can multitask without wasting time. Then, my friend, you are a lucky one and part of a very exclusive group. Only 2% of the population is good at that, so, congrats.

Read the full article here

#2 Partially Done Work

Newly Make High Rise Building

Yesterday I was having a chat with one of my teammates and he mentioned the analogy I used for this one. I think it is the best way to explain partially done work.

One person is peeling an apple with a knife, and another person is peeling a potato with a potato peeler. Who is the fastest?

You may say the potato person is the faster right? He/she has the right tool. And we all know that if we use the right tool for the job we become more productive.

But the devil is in the details. The outcome in both cases is very different. One gives you an edible product that you can use right away, the other will still need extra steps to be completed, like seasoning and cooking. Unless you like raw potatoes, then this is completely different.

If you think about it, when you leave partially done work on the table, you are also task switching. One waste feeds into the other.

Read the full article here

#3 Delays

Person Wearing Round White Analog Watch at 10:09

Why do we leave partially done work on the table? Most of the time, not all of the time, but most of the time this is due to delays. If you need to start tackling any waste, I would suggest going for this one first. Why? Because it bleeds into two of the other lean wastes.

Delays cause work to be unfinished (partially done work), so we need to move our focus to something else (task-switching). This is why communication is important, proper planning so that we don’t get held up with delays.

Plans are nothing; planning is everything.

 Dwight D. Eisenhower

As President Eisenhower said, planning is important, but don’t get held up on the plan either. We need to malleable. We need to have the agility to adapt to what comes ahead.

If you want to fix one and only one of the lean wastes, as I said before, try and fix this one.

Read the full article here

4# Hand-Offs

Pile of Folders

I love this quote.

Code is like a good joke, if you have to explain it, you are doing it wrong.

Ok, I understand it is not as simple as that, but it makes a point. If your code does not speak for itself, then we need to do a hand-off, right? And hand-offs take time. They need to be documented (extra work). Meetings need to be setup (task-switching).

Another quote that I love is:

The best communication is no communication

If what you have is so clear that you don’t need to explain it, then there is no need to hand-off. We can save time by making everything visible that can be visible.

And remember, hand-offs only work, because we assume no information will be lost during the hand-off. If you ask me, this is a real risk assumption.

Read the full article here

#5 Extra Work

Person in Blue Shirt Wearing Brown Beanie Writing on White Dry Erase Board

If you do waterfall software development, there is a high chance you are doing extra work. Why? In one word, Feedback loop.

Extra work occurs when you don’t know that you did everything that needed to be done. As simple as that.

80% of the value comes from 20% of the features

We all know this. Just look at the options bar on Microsoft Word. How many of those features do you use? Now think about how many other pieces of software you have that contain features that you never use. If most people don’t use it, why did we spend time building it?

Well, the answer is simple. Delays in the feedback loop. We kept on doing things without asking “If we deliver now, do you have everything you need? Or do you want to spend more of your money developing these extra things?”

Read the full article here

#6 Defects

Black Claw Hammer on Brown Wooden Plank

Oh, the dreaded defects. Bugs. Incidents. Status pages and on-call support.

One thing we can all agree on, and if we cannot, we should, is that bugs are part of any software. So why are they a problem? Simple, they cost time to fix. Not just the time to fix, but also the time they were in production messing something else without being found.

We can never get rid of all the bugs, but that doesn’t mean we should not try and mitigate them. There are several ways we can do this.

We need to have automated testing and continuous delivery to prevent errors that we already know. We should have on-call support, triage phase, and an internal service desk to deal with new bugs that escape our process.

Just because we cannot live without them, doesn’t mean we need to accept them. Especially if we have already dealt with them. Which segways right into the last lean waste.

Read the full article here

#7 Relearning

Person Behind Books

Nothing is more frustrating than having to learn what you already learned before. Imagine that today you completely forget the ABC and have to learn it all over again. How long do you think it will take you?

In reality, it doesn’t matter how long, it is already a waste. Why did you forget it in the first place? This is the real question that causes re-learning.

How much did civilization lose, when the great library of Alexandria burned to the ground?

Usually, there are deeper underlying causes than just forgetting. For example, hand-offs. There is a high chance something will be lost in translation. Information lost is information that needs to be gathered again, meaning, re-learned.

Those who do not learn history are doomed to repeat it

The agile manifesto puts a good emphasis on “working software over comprehensive documentation” and I couldn’t agree more. Pay close attention, it says over, not instead. Proper documentation will save you time if you ever have to re-learn something.

Read the full article here

Cheers,



Join this newsletter to get exclusive content.

A quick summary of what I posted this past week

Welcome to the end of 2019 week 45. This week we continued with the focus on time wasters, mainly the lean wastes. Things that we do everyday without even noticing that take our time away from other more important tasks.

Welcome to the end of 2019 week 45. This week we continued with the focus on time wasters, mainly the lean wastes. Things that we do everyday without even noticing that take our time away from other more important tasks.
Here is a quick summary of what happened.

📅 Monday: Why you need to eliminate hand-offs to be more effective

LEAN WASTE #4 : Hand-Offs are just a waste of time

I need you to create a functional document, then I will read it, create my technical document and give it to someone else. Sounds familiar?

CLICK HERE FOR FULL …

📅 Tuesday: The most important metric you need to track

LEAN WASTE #5 : Delays are killing your productivity

For today, the focus is Delays. This is the most important metric you should be tracking because it impacts everything else.

CLICK HERE FOR FULL …

📅 Wednesday: Why you need to stop obsessing about working hours

Working hours and hours worked are 2 different concepts

It feels a bit strange that in 2019 we are still talking about working hours and how different they are from hours worked

CLICK HERE FOR FULL …

📅 Thursday: These are the 3 ways bugs are destroying your output

LEAN WASTE #6 : Bugs / Defects

Bugs are part of life and part of any code, but they cost time to resolve. They cause extra work on the part of the development team, usually at bad times, causing unnecessary stress.

CLICK HERE FOR FULL …

📅 Friday: Relearning might look like a good thing, but it’s not

LEAN WASTE #7 : Relearning. Learning is good, relearning is bad

If learning is good, why is re-learning a waste?

How much did civilization lose, when the great library of Alexandria burned to the ground?

CLICK HERE FOR FULL …

💡 Saturday: A couple of “learnings” from this past week

A retrospective of the week that passed and what I’ve learned from it.

This past week was an intense one at work, but also a lot of fun. I had a couple of agile friends visiting from Poland, a workshop to facilitate for more than 50 people. Loads of fun, loads of work, happy that it is done 😄

CLICK HERE FOR FULL …

Cheers,



Join this newsletter to get exclusive content.

Relearning might look like a good thing, but it’s not

If learning is good, why is re-learning a waste?

How much did civilization lose, when the great library of Alexandria burned to the ground?

👇 (This is the same intro for all the lean waste posts. If you have read it already, scroll down for 4 paragraphs) 👇

We waste time all the time. Small unimportant tasks. Procrastination. Looking at nothing (this one is not really a time waster if it clears your head). The world is filled with traps that make us waste our time, and some of them we already know how to detect and adapt to them.

Photo by Stas Knop from Pexels

Lean Manufacturing talks about the 7 lean wastes, these wastes can also be mapped to software development.
During these next 7 days, I will pick up one of the wastes and investigate the following questions

  • Why does it impact our work?
  • What could be the causes of this?
  • How can we measure it?
  • How can we avoid it?

For today, the focus is re-learning. If learning is good, why is re-learning a waste?

How much did civilization lose, when the great library of Alexandria burned to the ground?

Learning how to do something is the most rewarding experience one can have. But if we learn and then forget, what value is in this learning?
The same goes for software projects. If the code we do is so complicated that the next time we look at it we don’t understand, that is a very big waste of time.

Information that is lost in translation, lack of comments or documentation, is information that we will need to re-learn later in the future. Re-learning is usually fueled by other gateway drugs of time waste. Hand-offs, delays, and task-switching are the major causes of having to re-learn what we already did.


Why does it impact our work?

Photo by Pixabay from Pexels
  • We don’t learn new things and keep re-learning that same thing over and over.
  • If we don’t remember, we are doomed to commit the same mistakes.

What could be the causes of this?

Photo by Pixabay from Pexels

How can we measure it?

Photo by Lukas from Pexels
  • # time to repair. If your bugs are similar, the time to repair should be reduced over time
  • # similar bugs. If we keep committing the same mistakes.
  • Code standards, smells and linting.

How can we avoid it?

Photo by Linda Eller-Shein from Pexels
  • Code should be properly documented and reviewed by your peers
  • Refactor constantly to keep the code fresh
  • Automate everything that can be automated, that way you don’t need to remember
  • Continuous improvement – Kaizen
  • Pair programming and knowledge sharing

Cheers,



Join this newsletter to get exclusive content.

These are the 3 ways bugs are destroying your output

Bugs are part of life and part of any code, but they cost time to resolve. They cause extra work on the part of the development team, usually at bad times, causing unnecessary stress.

👇 (This is the same intro for all the lean waste posts. If you have read it already, scroll down for 4 paragraphs) 👇

We waste time all the time. Small unimportant tasks. Procrastination. Looking at nothing (this one is not really a time waster if it clears your head). The world is filled with traps that make us waste our time, and some of them we already know how to detect and adapt to them.

Photo by Stas Knop from Pexels

Lean Manufacturing talks about the 7 lean wastes, these wastes can also be mapped to software development.
During these next 7 days, I will pick up one of the wastes and investigate the following questions

  • Why does it impact our work?
  • What could be the causes of this?
  • How can we measure it?
  • How can we avoid it?

For today, the focus is on Defects. Bugs are part of life and part of any code, but they cost time to resolve. They cause extra work on the part of the development team, usually at bad times, causing unnecessary stress.

Left to themselves, things tend to go from bad to worse

Murphy’s Law

Although some bugs are part of life and we cannot run from them, others are just a symptom of a bigger problem. Not only do we have to spend time fixing and testing the code that will resolve the bug, the main issue is also all the time the bug has been undetected.
When we finally find it, there is a high chance more bugs will come from that one.

Anything you try to fix will take longer and cost you more than you thought.

Murphy’s Law

Why does it impact our work?

Photo by Pixabay from Pexels
  • Task-switching and Partially Done work, we need to move from our development work to solve a bug.
  • Blocker on production affecting a large number of customers becomes “all hands on deck”, stopping all other work immediately.
  • Minor defects get de-prioritized and then come back in the future to bite us.

What could be the causes of this?

Photo by Pixabay from Pexels
  • Extremely tight deadlines that force the team to hack the code together.
  • None or a small amount of test coverage.
  • No automated tests.
  • Manual steps in the deployment process.

How can we measure it?

Photo by Lukas from Pexels
  • Time to Repair, how long on average do bugs take to resolve
  • Number of Bugs created vs resolved per week

How can we avoid it?

Photo by Linda Eller-Shein from Pexels
  • Automated and high test coverage
  • Continuous integration and deployment
  • No manual steps after the code has been validated

A 100% bug-free code is a myth. Defects will always happen, the only thing we can do is to mitigate the risk, but never eliminate it completely.

Every solution breeds new problems.

Murphy’s Law

Cheers,



Join this newsletter to get exclusive content.

The most important metric you need to track

For today, the focus is Delays. This is the most important metric you should be tracking because it impacts everything else.

👇 (This is the same intro for all the lean waste posts. If you have read it already, scroll down for 4 paragraphs) 👇

We waste time all the time. Small unimportant tasks. Procrastination. Looking at nothing (this one is not really a time waster if it clears your head). The world is filled with traps that make us waste our time, and some of them we already know how to detect and adapt to them.

Photo by Stas Knop from Pexels

Lean Manufacturing talks about the 7 lean wastes, these wastes can also be mapped to software development.
During these next 7 days, I will pick up one of the wastes and investigate the following questions

  • Why does it impact our work?
  • What could be the causes of this?
  • How can we measure it?
  • How can we avoid it?

For today, the focus is Delays. This is the most important metric you should be tracking because it impacts everything else.

Delays, or waiting time, impact all the other lean wastes. For example:
If you have to wait, you will pick something else to do. This causes context/task-switching.
On the other hand, what blocked you is still not done. This causes partially done work.
If by any chance your work is done, but you are waiting for feedback, there is a high chance you will pick another part of that project. This can cause extra work that the customer won’t need. But we don’t know because we don’t have the feedback yet.

Photo by Pixabay from Pexels

It is like one thing fuels the other and enters a never-ending spiral of wasted time.

Why does it impact our work?

Photo by Pixabay from Pexels

What could be the causes of this?

Photo by Pixabay from Pexels

How can we measure it?

Photo by Lukas from Pexels
  • Age of the backlog. Old tasks that are there waiting for a long time.
  • The amount of time an item is flagged.
  • Gates in the process. I.E time waiting for UAT, waiting for release approval.
  • Gap between development ended and test starting.
  • Gap between work DONE and releasing it to production.

How can we avoid it?

Photo by Linda Eller-Shein from Pexels

Cheers,



Join this newsletter to get exclusive content.

Why you need to eliminate hand-offs to be more effective

I need you to create a functional document, then I will read it, create my technical document and give it to someone else. Sounds familiar?

👇 (This is the same intro for all the lean waste posts. If you have read it already, scroll down for 4 paragraphs) 👇

We waste time all the time. Small unimportant tasks. Procrastination. Looking at nothing (this one is not really a time waster if it clears your head). The world is filled with traps that make us waste our time, and some of them we already know how to detect and adapt to them.

Photo by Stas Knop from Pexels

Lean Manufacturing talks about the 7 lean wastes, these wastes can also be mapped to software development.
During these next 7 days, I will pick up one of the wastes and investigate the following questions

  • Why does it impact our work?
  • What could be the causes of this?
  • How can we measure it?
  • How can we avoid it?

For today, the focus is Hand-offs. These can come in the form of documentation, extra training or meetings.

I need you to create a functional document, then I will read it, create my technical document and give it to someone else. Sounds familiar?
When we are all done, we will create user manuals and run-books for the team that will maintain our project. To make it easier for them, we will have several meetings where we explain what we did and how it runs.

Sounds like a lot of work? That is not even the worst part. This whole process follows the assumption that nothing, absolutely nothing, will be lost in translation.

Code is like a good joke, if you have to explain it, you are doing it wrong.

Add this to a developer working on more than one project, and you have the trifecta.

Photo by George Becker from Pexels

Hand-offs that need to happen when we switch from project to project, to keep the team informed. Task-switching by moving from one task to the other, in some cases, several times a day. Partially Done work, because you never finish what you start. Keep jumping from one task to the other.


Why does it impact our work?

Photo by Pixabay from Pexels
  • Information may be lost on the hand-off chain
  • This requires extra effort in the form of meetings, more documentation, and possible training
  • If we use documentation as the only source of hand-off, there is a limit of what can be represented in text and diagrams. Try teaching someone to ride a bike by reading a bike riding book.

What could be the causes of this?

Photo by Pixabay from Pexels
  • Teams don’t own what they do
  • Too many gates to your process. For example, if you are using the waterfall way of working.
  • The hidden hand-off is when a developer passes the code to a tester to test.

How can we measure it?

Photo by Lukas from Pexels
  • # of sign-offs in your process
  • # of extensive documents that your team needs to produce for other teams.
  • QA specific tasks. UAT team.
  • Time spent on the steps of your process that are not done by your development team.

How can we avoid it?

Photo by Linda Eller-Shein from Pexels

Cheers,



Join this newsletter to get exclusive content.

How to do less work and skyrocket your productivity

This is a clear case of effectiveness vs efficiency. We have the best code ever. 100% test coverage. A dream pipeline that delivers everything to production without a single bug. If no one is going to use it after, we just wasted our time.

👇 (this is the same intro as yesterday’s post if you have read it already, scroll down 4 paragraphs) 👇

We waste time all the time. Small unimportant tasks. Procrastination. Looking at nothing (this one is not really a time waster if it clears your head).
The world is filled with traps that make us waste our time, and some of them we already know how to detect and adapt to them.

Lean Manufacturing talks about the 7 lean wastes, these wastes can also be mapped to software development.
During these next 7 days, I will pick up one of the wastes and investigate the following questions

  • Why does it impact our work?
  • What could be the causes of this?
  • How can we measure it?
  • How can we avoid it?

For today the focus is Extra Work. Extra work means everything that we did that didn’t need to be done.

80% of the value comes from 20% of the features

This is a clear case of effectiveness vs efficiency. We have the best code ever. 100% test coverage. A dream pipeline that delivers everything to production without a single bug. If no one is going to use it after, we just wasted our time.

It may look counter-intuitive to consider a waste if you are producing more, but the output is not the same as the outcome. Producing more of something that will not be used has 0 value. Heck, in this case, it even has a negative value because you could be spending your time with something else.

Imagine you have the best hot dog stand in the world, but you are parked in an area of vegetarian and vegan customers. It doesn’t matter how good your hot dogs are, no one will buy them.

Why does it impact our work?

  • If it’s not going to be used, why do it?
  • We will need to maintain them.
  • If they break, they may break something else that is being used.
  • Our team spent time testing, reviewing and deploying it for nothing.
  • Increase our code complexity.

What could be the causes of this?

  • We don’t know our customers and his/her needs.
  • We don’t validate value propositions.
  • We don’t have customer metrics that allow us to understand what is being used or not.

How can we measure it?

  • #features in production that are used by the customer
  • #items delivered that are focused on the MVP

How can we avoid it?

  • Break features as small as possible and review them with your stakeholders.
  • Release to production often and gather usage metrics.
  • Proper prioritization of the backlog and focus on MVP by using the Eisenhower matrix.

Cheers,



Join this newsletter to get exclusive content.