BT

Facilitating the spread of knowledge and innovation in professional software development

Contribute

Topics

Choose your language

InfoQ Homepage Articles Promoting Creativity in Software Development with the Kaizen Method

Promoting Creativity in Software Development with the Kaizen Method

Bookmarks

Key Takeaways

  • Adoption of the Kaizen methodology is a proven way to foster software development teams that are innovators, not just implementers.
  • The Kaizen mindset encourages developers to combine technical skills with creative thinking.
  • There are three models of the Kaizen method to apply to the software development process: reactive, proactive and innovative.
  • Participants in implementing the Kaizen methodology at their organization also realize significant personal benefits.
  • Implementation of the Kaizen methodology requires careful planning, training and ongoing nurturing to produce results.

Are software developers right- or left-brained? Logic would suppose that the left side of the brain, which neuroscientists tell us is connected to one’s quantitative, objective thoughts, would most likely contribute to the ability to write good code.

But software development is not just a technical undertaking. The process requires inspiration to solve complex problems by applying specialized knowledge.

Organizations that nurture activities to tickle the right side of the brain — which is thought to be more focused on emotion, art, and creativity — are more likely to foster software development teams that are innovators, not just implementers.

So how can software development organizations help their software development team members engage both sides of their brains? At SenecaGlobal, we adopted the Kaizen method as an intentional way to motivate and reward programmers for thinking beyond the task at hand and generating solutions that have far-reaching impact.

What is the Kaizen method?

The Kaizen method creates continuous improvements by implementing constant positive changes. Over time, these small, gradual improvements can produce significant results. It has long been a key principle of lean manufacturing methods.

In English, the word "kaizen" means change for the better (kai = change, zen = good). The philosophy was first introduced at Toyota in Japan after World War II. The car manufacturer formed quality circles — groups of workers who perform similar tasks — in its production process. The teams met regularly to identify and review work-related problems, analyze the situation, and offer improvement suggestions.

Masaaki Imai popularized the concept of Kaizen in two books about business process management and via the Kaizen Institute Consulting Group (KICG), founded in 1985 to help Western companies apply the principles.

The ten principles of the Kaizen philosophy are:

  1. Let go of assumptions.
  2. Be proactive about solving problems.
  3. Don't accept the status quo.
  4. Let go of perfectionism and take an attitude of iterative, adaptive change.
  5. Look for solutions as you find mistakes.
  6. Create an environment in which everyone feels empowered to contribute.
  7. Don't accept the obvious issue; instead, ask "why" five times to get to the root cause.
  8. Cull information and opinions from multiple people.
  9. Use creativity to find low-cost, small improvements.
  10. Never stop improving.

The application of the Kaizen method is flexible and can take many forms depending on the size of an organization and its culture. Because team members initiate improvement opportunities at all levels, it requires a management framework focused on empowering everyone to contribute to positive transformation versus a top-down approach.

Organizations that successfully implement the Kaizen method typically follow an intertwined path for the discovery of improvement opportunities and the implementation of positive changes.

Applying the Kaizen method to software development, SenecaGlobal case study

SenecaGlobal decided to adopt the Kaizen approach to help build a culture of continuous learning, integration and innovation for both employees and customers.

We designed three models of the Kaizen method to apply to the software development process: reactive, proactive, and innovative. All three methods aim to produce zero-defect code and/or work(flow) processes that exceed client expectations.

1.    Reactive Kaizen seeks to overcome initial problems identified during the software development process, such as defect targets not being met or inefficiencies in cycle time.

For example, by applying Kaizen principles, an associate at SenecaGlobal, identified that the standard design brief used to launch new products or features was too complex for clients. As a result of this discovery, our team was able to develop an innovative prototyping tool that enables software engineers to explain the end-to-end design process more simply.

The tool proved to be valuable, boosting solution design signoffs to 100%, helping to reduce development times by 40% and identifying security requirements upfront. SenecaGlobal now uses the tool for most client engagements as well as internal projects.

2.    Proactive Kaizen looks for ways to improve upon standard performance, such as exceeding client satisfaction targets or proactively improving skills in anticipation of product requirements.

By applying the Kaizen proactive model, SenecaGlobal recently initiated an innovative process to improve the billing rate for a key client by implementing agile methodologies and conducting regular risk assessments for delivery timelines. As part of discovery, the developers uncovered a way to eliminate the need for a third-party software solution to decrypt/encrypt credit card payments, which resulted in significant cost savings. We also implemented a dashboard for the client to monitor and analyze shipment data, which enabled the client to apply for additional tax waivers from foreign governments through a settlement process.

3.    Innovative Kaizen is the conceptualization and implementation of creative ideas such as developing a new solution or service offering, applying new tools and technologies and creating a new work product.

For example, by following the Kaizen methodology, a SenecaGlobal associate analyzed the process a client used to allocate large orders for shipping via trucks. He realized there was an opportunity to break up order quantities more accurately into purchase orders based on the actual capacity of the trucks to hold skids of product. The existing process was less accurate resulting in wasted time and manpower in the warehouse and purchasing department. The new solution increased the client’s efficiency metric by 50%.

The innovation and improvement process

To implement the reactive, proactive, and innovative Kaizen methods, software development teams follow an eight-step innovation and improvement process that varies slightly between the three types.      

 

Steps Reactive     Proactive     Innovative
1 Identify the problem/non conformance Identify the improvement opportunity Identify the ideation need
2 Write the problem statement Write the improvement statement Write the ideation statement
3 Gather and validate performance data Gather and validate performance data Gather and validate performance data
4 Development of solution based on root cause analysis Development of solution based on a 4 Ws root cause analysis (when, what, who, where) Ideate for solutioning based on cause-effect/how-how analysis
5 Implementation plan Implementation plan Implementation plan
6 Implementation monitoring and control Implementation monitoring and control Implementation monitoring and control
7 Evaluation Evaluation Evaluation
8 Key outcomes, both tangible and intangible benefits Key outcomes, both tangible and intangible benefits Key outcomes, both tangible and intangible benefits

Think beyond technical projects

Ultimately, the goal of the Kaizen method is to improve productivity and quality while driving positive changes to cost controls, employee morale and safety. In parallel to Kaizen initiatives in the software development process, it is useful to engage supporting departments to uncover operational improvements. That way, the entire organization focuses on recognizing and implementing employee-driven changes that improve teamwork, customer service, and product excellence.

Cross-functional teams composed of technical and non-technical employees offer opportunities for everyone to develop new skills and identify how improvements can be implemented company-wide or augment other established practices. For example, at SenecaGlobal we have a Kaizen committee that meets every month to share ideas, assess progress and determine employee recognition awards.

Benefits to participants

In addition to helping the sponsoring organization improve its processes, the Kaizen mindset can be personally beneficial for participants by creating a framework to:

  • Advance technical and business operations skill sets
  • Recognize and reward innovative problem-solving
  • Take risks without fear of failure
  • Collaborate and network with colleagues outside of project teams
  • Develop new solutions or services that can be implemented across the organization

At SenecaGlobal, we have seen our associates benefit by gaining better clarity on how their individual contributions add up to improvements that positively impact the company and our clients.

Tips for rolling out successful Kaizen programs

The Kaizen mindset does not happen organically. From our experience at SenecaGlobal, we know it requires careful planning, training, and ongoing nurturing to produce results. To ensure success, software development teams need to be intentional about how they cultivate the Kaizen mindset.

  1. Create a core Kaizen team with representatives from many departments (for example, senior management, product development and delivery, quality, and human resources) to manage the effort and drive the adoption of formal processes, templates and tools. At SenecaGlobal we find this team keeps us all on track to meet our objectives.
  2. Develop and conduct ongoing training so team members understand how to implement the Kaizen method and set expectations about how the mindset applies to their roles. Our team conducts training and workshop on a regular basis.
  3. Host quarterly sessions where team members share learnings and success stories. Covid-19 pushed our meetings online. When we’re able to meet in person again we like share insights over lunch. We often create events and contests for associates to stimulate further improvement ideas. It’s also helpful to create videos that associates can assess when they need a refresher or are looking for inspiration.
  4. Develop a reward and recognition program that incentivizes team members to explore new ideas outside regular tasks. SenecaGlobal hands out Kaizen awards every six months and bestows instant recognition award for excellence in individual and team achievements.
  5. Track and measure action plans based on discoveries uncovered via the Kaizen method to validate before implementing company wide. We find that the adoption of standardized Kaizen processes, templates, tools, and metrics simplifies the process of evaluating action plans during development and after they have been implemented.
  6. Ask clients (internal and external) to provide feedback on the team’s focus on innovation and continuous improvement. We ask for feedback in our customer satisfaction surveys and work on these inputs, thereby, adding value beyond task delivery.

A culture of creativity

Adopting the Kaizen mindset for software development is an opportunity to demonstrate your company’s commitment to a culture of creativity. The methodology helps engineers and developers tap both sides of their brains to explore innovative solutions.

Training and ongoing support for the program helps team members gain clarity about when and how to apply proactive, reactive, and innovative improvement measures. At SenecaGlobal, our entire organization knows they have the freedom to take risks, try new things and be recognized for their discoveries.

About the Author

Sarma Manthravadi is the senior vice president, operations of SenecaGlobal, a software development, cloud services and technical advisory firm. In this role he manages internal service operations in Hyderabad, India, which include human resources, training, administration, internal IT services, quality, and information security. Manthravadi has more than 30 years of leadership and management experience in the IT sector, successfully leading organizational growth using a customer-centric model.

Rate this Article

Adoption
Style

Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Community comments

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

BT