Editors Note: Introducing Adam Baechler, Product Manager at PayrollHero. He will be contributing to the PayrollHero blog from time to time.
On April 14th I was fortunate enough to attend Kiro Harada workshop on Improving Scrum with Kaizen in Singapore. Kiro is an Agile coach and is super knowledgeable of agile principles and methodologies including Scrum, Kanban, Lean, and Kaizen. Kiro was also kind enough to stop by our office and give us a brief introduction into how he use Domain Driven Design (DDD) within his teams. You can find Kiro on Facebook or LinkedIn. (Kiro was gracious enough to visit the Singapore PayrollHero office the next day to do a private session with our team)
I been practicing scrum for about 3 years now so I found the discussions about Kaizen and Domain Driven Design from the last couple of days the most interesting. So I thought I would share quick summary.
Disclaimer: I’m new to this and I have yet to implement any of these teachings. So please do seek out the advice of experts like Kiro.
Kaizen
For those who have not heard of Kaizen, it is a methodology for continuous improvement. Surprisingly the Kaizen didn’t originate in Japan but in the United States during WW2.
The core principle is to make your work easier and safer.
When applying Kaizen to a process you can think of it in 3 phase; Fix the leaks, Make it flow and finally Create a new process.
Fix the leaks first. When you are working and you notice a process is not producing the desired results. Slow down or even stop so you can inspect the process. Focus on effectiveness not on efficiency. The goal here is to creating constant value from your process.
Make it flow. Now that your process is creating value constantly we want to make it flow by increasing efficiency without sacrificing the quality of your output. A great way to do this is through E.C.R.S. First try to Eliminate steps from your process. Next try to Combine some steps together. Next try to Rearrange steps in the process. Lastly, try to Simplify individual steps in your process. Never try to go faster in this process by following E.C.R.S you should accelerate naturally.
Once your process is flowing smoothly you should feel your work is easier and safer. Now is the time to dream up a new process that will deliver better quality and value.
As a scrum team we follow similar actions of inspect and improve through our retrospectives. however this is only done at the end of our sprints. I hope that our team can adopt the principles of Kaizen to apply continuous improvement throughout our sprints.
Domain Driven Design (DDD)
We only had a short introduction here but in that short time we saw the huge value of Domain Modeling. Domain Modeling is a great way to visualize your products domains, decide how they should interact and test out your logic before you build it out extensively.
At PayrollHero we are going to try to use the Domain Modeling technique to identify the Domains of our applications to create a better system architecture.
Thanks for reading. Drop any questions you have in the comments below.
(Some photos from the day with Kiro)
Pingback: Domain Driven Design Workshop by Mr. Kiro Harada
Pingback: Faster CI - Our Journey To Halving Our Test Runtimes