The term “continuous improvement” (CI) has become something of a catchphrase in the software industry. Pretty much every organization says that they practice CI, but in reality, very few companies take full advantage of the practice.
What is Continuous Improvement?
The concept of continuous improvement (or “kaizen”) was developed in the mid-twentieth century in Japan, where it was largely responsible for the miraculous Japanese industrial and economic post-war boom.
Some of the tenets of kaizen are:
- If there’s a problem, fix it before it festers. If anyone in the organization sees a manufacturing defect, they immediately pull the “rip cord” which stops the assembly line from continuing. Everyone immediately gathers, figures out the problem, and fixes it before the line starts up again.
- Root cause analysis. When there is a problem, try asking “the five whys” in order to get to the root cause.
- Great ideas can come from anyone. Employees at all levels should feel free to speak their minds. If they don’t feel comfortable speaking up in front of senior management, then consider breaking into small groups.
The general idea of continuous improvement is that you can always find ways to make your products, processes, and people better. It’s about constantly learning from feedback, data, and experiments, and making small but impactful changes that add up over time. It’s about empowering people at all levels of the organization. Most importantly, it’s about listening to your customers and other stakeholders.
How does it apply to the software industry?
Software development is a complex and dynamic process with many unknowns and hurdles. Requirements change, technologies evolve, markets shift, and customers demand more. Software companies must be nimble and adaptable in order to survive and prosper in this climate.
Continuous improvement assists software firms in accomplishing this by allowing them to:
- Deliver better products that meet customer needs and expectations
- Reduce waste and inefficiencies in their processes and workflows
- Increase productivity and quality of their teams and individuals
- Foster a culture of learning and collaboration among their employees
- Gain a competitive edge and grow their business
Do we use Continuous Improvement at CodeStringers?
We like to think that we do. About 5 years ago, we started a product called Ella Learning, which is a new kind of Learning Management System (like Canvas, Schoology, and Google Classroom) which aims to help students develop better study habits that will help them achieve more in school and in life. This is a passion project for us. It’s what we want to be known for and remembered for after we’re gone. It’s our opportunity to take all the skills we’ve learned over the years and apply them towards doing something good for the world.
However, it has been far from straightforward. We’ve had almost a perfect storm of challenges; e.g., COVID, internal personnel changes, financial constraints. Furthermore, the first version of the software that we put out turned out to be too challenging for teachers and students. We made some overly ambitious assumptions about our customers that turned out to be incorrect.
Fortunately, we used that time to develop a culture of Continuous Improvement. For example:
- We tightened our Agile-based development process and incorporated the voice-of-the-customer. This seems like common sense, but, in fact, it’s a subtle difference from what we were doing before. Originally, we had asked the customers what they wanted in focus groups and surveys, and then we built our product based on what we thought that they had asked for. However, we discovered that this feedback loop was too slow. In response, we moved to a truly Agile approach in which we release new features every 2-3 weeks, and ask for customer feedback at the end of each of these development sprints.
- We embrace lean principles for our product development process. We followed the build-measure-learn cycle, which helped us validate our assumptions, test our hypotheses, and learn from our experiments. This helps us clearly define what features our customers and users really want. Instead of “copying” existing features of similar software, we focus on developing features that are really useful for users. We are willing to remove or hide features that are not really useful. As a result, we save significant software development time, costs, and our products become leaner and easier to use.
- To do the above and maintain it for the future, we established a culture of open feedback and constructive criticism at all levels of the company. Everyone encourages to share their ideas, opinions, and suggestions. We look for this personality trait when hiring and we nurture it in our everyday work. It is considered an honor when someone at the “worker bee” level is able to talk our executives, or even the client, out of a bad idea.
- We also create opportunities for learning and growth, such as training sessions, workshops, and retrospectives. Since our product is education based, we bring in former educators and ed-tech professionals to speak to the entire team in order to educate them about how secondary education works and what challenges they face.
- Perhaps most importantly, we set measurable goals and make sure everyone on the team knows what the goals are and keeps them in mind when making decisions. For example, Ella’s goal, for now, is to increase the homework turn-in rate. We know from our customer research that if we can show an improvement in this area, that teachers, parents, and administrators will be beating down our door to license our product. Consequently, when we’re prioritizing features or prioritizing where to expend our energy, we always ask ourselves what will be the most likely to improve upon our measurable goal.
As I mentioned before, I’m sure this seems like common sense to the majority of readers. Every organization probably thinks they do most, if not all of the Continuous Improvement activities that I just mentioned. I can assure you, however, that this is not the case. I’ve worked for and with several major corporations in my career, and in the vast majority of cases, the company culture actually discourages CI. How many Fortune 500 companies do you think would encourage an entry-level engineer to try to talk the CEO out of making a bad decision?
Also, please don’t think we’re trying to brag our “toot our own horns” with this article. We’re far from perfect. It took us over three years to build a product that we would have liked to have built-in half that time. Our intention here is simply to point out what we have learned through overcoming these challenges so hopefully, you can have a head-start over your competition.
Embracing continuous improvement has been a game-changer for us. I encourage other business owners and leaders to adopt this mindset and watch how it makes a positive impact on your results.
Let’s commit to never settling for “good enough” and strive for excellence in all we do!