Kaizen: Art of continuous improvement
The word “Kaizen” in Japanese means “improvement” or “change for better”. The word itself refers to any improvement, but the “Kaizen” practice popularised by the Toyota Corporation typically describes the technique for continuous improvement. The practice itself focuses on small daily improvements that eliminates hard work and teaches to do little experiments to achieve bigger goals.
Applied to the organization, Kaizen suggests that employees of all levels participate and suggest improvements. It encourages creativity and helps engage everyone creating more human and friendly work environment and helps continually eliminate waste in business processes. In Toyota Production System (TPS) that is known for kaizen, the production line is stopped in case of anything abnormal, and improvements are suggested right at the moment when issues are spotted.
Philosophy of Kaizen
There’s more to Kaizen than just spotting issues and suggesting improvement. In Japan, it’s a philosophy of making small, effortless steps to achieve a bigger goal. A journey of a thousand miles begins with a first step — that’s something we all know. Kaizen is a way to keep making small steps without worrying about the burden of the whole journey. It can be applied to almost anything — personal growth, business, relationships, you name it.
When you continue to improve on something each day you start noticing that over time small improvements turn into a big step forward. It takes days and weeks, nothing is going to change overnight, but eventually, the big change happens. Kaizen is about making small improvements one day at a time and not expecting significant progress quickly. Kaizen is the opposite to innovation, that requires dramatic changes and a lot of effort.
Use Kaizen to be productive
The practice of Kaizen is extremely useful for personal growth. We all have big goals that scare us because we imagine the amount of work we have to do. Instead of aiming to make drastic changes in our lives we can start making little improvements today. For example, when I struggled with starting to work out for an hour, this technique helped me to grow into the habit slowly. I started with just five minutes of exercise for a few days and added a few minutes every day. Starting small lowered the barrier of entry and gradually increasing the amount of work I was doing reduced the amount of willpower I had to spend to continue working out.
It works the same way for any other type of goal. Our ability to get things done is bound to how our brain perform. Big goals look scary and overwhelming and ‘freezes’ the brain, causing procrastination or laziness. Of course, you can force yourself, but that will quickly drain your energy and prevent you from doing everything you want to. After all, we all have a limited amount of willpower. Focusing on consistent, continuous improvements make you accept the fact that change is hard and takes time. Becoming one percent better every day is a simple and practical way to achieve any goal. It’s tiny, it’s doable, and it makes anything possible.
Kaizen in software development
There are many ways to apply Kaizen, but to me, the idea of continuous improvement in software development is embracing change and making constant incremental updates versus big releases. We, developers, are keen to make significant rewrites or spend substantial amounts of time to find a perfect solution. Kaizen is a great way to make small visible progress every day and aligns perfectly with Agile and Lean principles. It also applies to how often updates are merged, tested and deployed. I think the Kaizen approach works perfectly with Continuous Integration practice when code updates are regularly merged, deployed and tested. Regularly deploying updates makes bug discovery and fixing a predictable process versus something you need to do in a hurry after the release.
Of course, an approach like that comes at a cost and sometimes is considered an unnecessary expense. To implement continuous improvement and continuous integration a team needs to invest in automated tests. Writing them requires significant effort and sometimes doubles the amount of development time because of the need to cover new features and modifications of existing code. Writing automated tests is art too, and the value they add depends on their quality and how testable actual code is. All this makes continuous integration less practical on small projects or projects with a large amount of legacy code.
Kaizen for entrepreneurs and managers
As an entrepreneur, I constantly face fear and stress because of the constant changes that are happening everywhere. Embracing these changes and taking small and quiet steps towards them reduces anxiety and fear making the creative process flow smoothly. Constant repetition and creating habits also helps a lot. For example, I used Kaizen to build marketing department. There are a lot of steps involved, but I started very simply — writing a hundred words every day to create a habit and help people with my writing by providing actionable advice. A few months later this turned into full-blown writing practice, and a blog and I’m on my way to write a book. It also works well in the business itself — when there’s a change needed in the process, it’s much easier to do it in a lot of small steps versus trying to make people work in a new way overnight.
It’s important to keep goals in mind and ask yourself every day where you and your team are and what is the next small step to do today to move towards the goal. Practice making small actions. For example, if there’s a significant refactoring, your team has to make to reduce the technical debt that you can’t start working on for a long time try cutting a part of it that can be done within an hour. Then have someone working on it an hour a day while continuing to work on next important feature you have on the roadmap. Slowly you’ll see that technical debt is reducing. If your team has to write a lot of unit tests for legacy code, you can try the same approach — have someone working on it an hour a day. It will allow you to learn more about the problem itself and start making progress towards the goal.