The western world prides itself on the technological and business process innovations developed over the past century and, from a broad perspective, enormous strides have been made. Yet a puzzling aspect of the changes we have seen is that no matter what the West does, the East soon seems to catch up and overtake it in the production of high quality products.
A similar process is now happening in the software development arena. Who would have thought 10 years ago that western programmers would lose their jobs to eastern developers? It would seem that the West is good at creating products and developing the building blocks for business software development, but it does not have the ability to maintain its innovative lead when it comes to commoditised products.
Malcolm Rabson, MD Dariel Solutions
Many people think that software applications are a special type of product that can not be held to the same standards and expectations as a physical product such as a car or a DVD player. That is only true if the management of the development process is lacking and the people involved do not have a personal stake in the final product – and that does not necessarily mean a financial stake.
A personal stake in quality
After the Second World War, Japan’s economy was almost non-existent. Through the development of the Kaizen (or Gemba Kaizen) management methodology, the country was able to become a global manufacturing powerhouse in 20 years.
Western thinking has management as the celebrities, while the people producing the products are expendable expenses. Alternatively, the Kaizen methodology turns the western hierarchy upside down and places the emphasis on the workers in their environment – since this is where the real value is added to the organisation.
Kaizen means continuous improvement, while Gemba refers to the workplace. Thus, using the Kaizen process, workers are seen as valuable assets within the organisation and are encouraged to continually try to improve the quality of work. There is no supervisor looming large and waiting for a chance to attack each worker when they find an inefficiency to fix. Rather, all are held accountable by their peers for quality. This continual cycle of small improvement leads to continuous small profit increases, as costs are cut in multiple areas of the production cycle. While these practices are now manifesting in software development under the guise of eXtreme Programming and Agile Methodologies, Gemba Kaizen remains the forefather of these approaches.
Most employees raised in the western culture are used to the ‘manage by allocation of blame’ methodology. Therefore, many western companies waste time in finding out who to blame and then persecuting them. The incorrect premise in this approach is the philosophy that ‘blame and shame’ tactics prevent people from making the same mistakes twice.
The western problem management culture can be described as follows:
* Identify the problem.
* Identify the person responsible.
* Persecute the person.
* Hope that others are sufficiently scared so that the problem does not occur in the future.
* Possibly solve the root cause.
The result of this management culture is that most westerners react to problem critique emotionally. Conversely, eastern management culture and that of Kaizen, is based on continual improvement. Thus, a problem-solving methodology might go as follows:
* Identify the problem.
* Understand the problem.
* Solve the problem.
The result is that most eastern people react to problem critique with an unemotional and logical solution.
Using Kaizen principles in software development also results in products of improved quality. If developers are held accountable – by their peers – for those components of an application for which they are responsible, the resulting system will be of a higher quality. In terms of psychology, accountability to peers is far more powerful than accountability to superiors, as staff have morale and desire to do a good job when accomplishing personal and team goals. In contrast, when developers are rushed to simply ‘get a product out of the door’ at the cost of quality, morale decreases. The result is a vicious cycle, in which the unmotivated developer does not produce work of a high quality.
Additionally, the Kaizen approach reduces the costs of development. When a problem is detected too late and an erroneous piece of software enters production, the final cost of developing that component is three times what it would cost to do it right the first time. This is due to the fact that the organisation pays for the initial development, the time to fix it and, most elusively, in lost opportunity cost.
An argument often levelled against the Kaizen approach is that formalised processes such as ISO9000 and the Capability Maturity Model already exist. These methodologies attempt to improve quality by forcing workers to adhere to a checklist that may not necessarily match the task being undertaken. Additionally, these processes may also prove to be too ‘heavy weight’ for small to medium enterprises. Gemba is contrary, in that it achieves buy-in from the developer, by encouraging intelligent decision making based on the contextual experience of the developer. This is not to say that the approach is not standards-based, it simply states that the workforce is responsible for designing the standards. Kaizen focuses on small quality improvements, which is far more achievable for the developer than attempting to realise a full blown enterprise strategy. Therefore, as developers maintain the cycle of continuous improvement, development cycles become shorter while errors and costs decrease.
In light of the above, incorporating eastern-style philosophy and management techniques into western cultures is simply a practical approach to ensuring that an organisation is able to compete. Developing high-quality products, whether software or hardware, not only gives a company an edge in the market, but also improves staff morale and commitment to the company while cutting costs, resulting in improved profitability.