Jun 24, 2021

Kata as a method for Target-Oriented Continuous Improvement

Kata as a word probably first brings to mind the repetitious practice of moves in martial arts. And repetition is definitely the key in that learning process. First you learn the basics of how a punch or kick is delivered. Then, little by little, you get better. You can move faster, the moves follow each other more fluently, there's no need to think.

Photo RODNAE Productions from service Pexels

Kata can be applied also in many other things as a method of target-oriented continuous improvement. The form I will describe here was made popular by Mike Rother in his book Toyota Kata and further instructions to implement the method can be found in Toyota Kata Practice Guide.

First we want to understand where we want to go. What is our vision? This is needed as a north star. It can be something huge and far in the future, but it will help in directing our efforts to correct direction.

Then we definitely want to know that where are we now. What is the current condition? Most probably our current condition is far from our vision, but with the two points we can form a line.

Next we can try to define a meaningful target condition that would be in the direction of our vision. This one should be a bit more realistic to reach within a time horizon of at least couple of months. In enterprise setup the target condition could be at the end of a quarter or year half.


Once we know where we stand currently and have defined our target condition, we probably realise that there is something blocking us from advancing directly to the target. There are things that we don't know and uncertainties. We lack information. This boundary of information is called knowledge threshold. To widen the area of our knowledge and understanding, we can make experiments. Actually a lot of the process is about conducting these experiments. The next part is iterative.

  1. We formulate an experiment. Something that will help us increase our knowledge threshold.
  2. We list down our assumptions. What do we expect to happen.
  3. We conduct the experiment.
  4. We list down the results. What actually happened and how did the things go?
  5. We analyse the results, reflect and learn from the experience.
Actually those 5 steps are then repeated time after time. As a companion for our experiments we will greatly benefit if we can come up with good metrics to assess our progress. Otherwise it will be difficult to measure if we are actually getting closer to the target or further away from it.

Apr 9, 2021

Horizon 3 Development

The following post is not that directly concentrating on software development, but more in the early stage business development in B2B field. The learnings here seem to apply to domains that are a bit slow moving, like maritime and telecommunication. Maybe they can be applied more widely, but I have no first hand experience from others. Would be interesting to hear your thoughts if you have similar experiences from other business fields.

 McKinsey's three horizons is a framework for categorising businesses that are in different stages. 

Three Horizons

Horizon 1 (later H1) is a steady running mature business. One that is no longer growing much, but generates revenue steadily. Aim in this business is to maximize profitability. 

Horizon 2 (later H2) is growth business. It is not yet necessarily profitable, but the engine of growth has been found and there's a good product-market fit. Aim is to maximize the growth while there's still market left. At the later stage the goal is to make the business profitable a.k.a become H1 business.

Horizon 3 (later H3) is new business. Usually far from profitable, maybe even no customers at all. In this category useful metrics can be found from Lean Startup. In theory companies would like to minimize the time spent in H3 and skip this part with as little effort as possible and become an H2 business.

One can see similarities in the three horizons model and Technology adoption lifecycle model. The early adopters are willing to try new things and are willing to accept some 'children's deceases' in the products partially for the possible edge they can gain from the new innovation, partially for the sheer value of being seen as pioneers or forerunners.

Picture from S. Hermann & F. Richter from Pixabay

The Problem in H3

The problem is that one cannot advance from H3 to H2 without really having a solid, scalable solution. H3 customers might be willing to have a proof of concepts, co-develop or co-create a solution together with the solution provider, but usually customers at later stages are expecting more maturity. And there are two options: you build the basis for scalability while you are still seeking the product market fit with your H3 business or you are late and will have huge delivery pains at the beginning of your H2 journey.

Needless to say, the problem is not that trivial to solve. H3 businesses are usually startups or internal startups with limited resources and budgets. Time is their biggest enemy, because time equals salaries and other operational expences and with a long time to market you probably lose the opportunity window and some competitor gets the customers. The time constraint is the reason companies do sub-optimal design choices that result in non-scalable architectures. Instead of taking the extra time to do things properly, companies take technical debt. And when you reach the growth phase it might be really difficult to find the time to pay the debt back.

What to Measure

In my experience (B2B software development in telecommunication field), the biggest bottleneck is not software, it's customer access. The metric I propose to follow in H3 phase is how deep customer relationship you have been able to develop.

  • How many meetings you have had with different people in the customer organisation?
  • What are the roles and ranks of persons you have been interacting with?
  • How precise questions they have asked?
  • How well have you been able to understand the customer's business and identify the customer's painpoints and problems?
  • Are you able to provide them with something that helps them
    a) save money
    b) get more money
    c) help them do something they couldn't before

Picture by Mediamodifier from Pixabay
Deepening the customer relationship takes a lot of time. So does finding new customers. That's why testing your ideas might be really slow compared to working in B2C where you can more easily reach many customers (although I'm aware that it is nowadays really difficult to get consumers attention). Keep track of your progress and you are able to make decisions based on data!