Kaizen:

Japenese for “Improvement” or “Change for the better”.

More than that Kaizen, in the agile world, is the concept of aggressive continuous improvement. Defined by the processĀ Plan, Do, Check, Act. It is a simple, straight-forward approach to improvement that requires the acknowledgement of problems, and the willingness to act on them. Acknowledgment is the clincher though.

Any and all pain points represent a chance for improvement, but the acknowledgement of problems is a murky area that often leads to arguments, discourse and ultimately a sense that everyone is left feeling unhappy. The problem in the real world is that ego and conflicting ideals will cause one solution to a problem to create pain points for other people, and compromise isn’t in our natures.

Generally speaking, the ideal would be that improvement becomes a part of the very nature of a company, it is in the genome of a group of people to seek pain points and provide solutions. In reality what you get is an unwillingness to change and an obsession with maintaining the status quo.

My best advice is, first and foremost, to try to implement that change in the mentality. Management should get people focused on identifying pain points and working to improve them. Where pain points not be improved, they should be regularly reevaluated to see if a solution has come forward since the problem came to light. All attempts at improvement should be measured and, where the effects were negative, discarded out of hand. The willingness to say “This didn’t work, let’s move on,” has to be understood top to bottom and accepted as a natural part of growth and improvement.

No one, no matter how hard they’ve tried, has perfected the process of software development. There are always challenges, always pain points, and we should be working to improve those at all times.

If there’s too much resistance to improvement, too much “let’s not change things yet,” then it’s time to move on. Some corporate cultures can’t be changed, and sometimes it’s not worth it to beat your head against a brick wall.

Improvement matters for you, your company and every developer who works with, under or above you.