Aiming for further quality improvement in Money Forward, Chief Quality Officer (CQO) was appointed last year. On this occasion that a year has passed since then, we heard his story about what he has in mind and where we are heading for.
Juichi Takahashi
Ph.D. in Comupter Science. Studied software quality under the guidance of Dr. Kaner (inventor of exploratory testing method) and Dr. Whittaker (author of How Google Tests Software) at Florida Institute of Technology graduate school before earning a Ph.D. in studies on software quality at Hiroshima City University. Engaged in software testing at Microsoft Seattle headquarters and SAP Japan and worked as director of software quality at Sony Corporation before being appointed Money Forward CQO. His hobby is canoeing, particularly going down various difficult places including the Yukon River.
Organization and External Environment under Drastic Change
–A year has passed since you joined Money Forward. Please tell us about what you have felt, and what you are thinking about as the Money Forward CQO.
Takahashi: First of all, I have come to grasp the characteristics of Money Forward quality and what needs to be done at Money Forward.
Money Forward is a rapidly growing company with its sales and the number of employees increasing at a rate of several tens of percent every year. The sizes of its products and source code are growing at much higher rates than competitors.
Under this situation, it is important how to keep a balance between Quality, Cost, and Delivery (QCD) and that is the challenging point.
This is a pretty difficult challenge, but in the past year, I have come up with various ideas through discussions with many people.
Besides that, Money Forward is currently actively recruiting at overseas bases and opportunities to collaborate between domestic and overseas teams are increasing.
We need to keep implementing various ideas into practice regarding language and culture.
–Has the number of QA engineers also increased in the past year?
Takahashi: QA engineers have increased, but development members have increased far beyond. This is regardless of whether it is overseas or domestic.
–To my understanding, last year has marked an exponential spread of generative AIs outside the company such as ChatGPT and GitHub Copilot. Given this change, has anything changed in the field of QA?
Takahashi: I believe Generative AI will greatly boost productivity in future software development and I am paying attention to it.
Money Forward has also started utilizing them, which enabled a speedier development than ever and an increase in development productivity.
However, with quality and testing, generative AI has yet to go at the moment in order to boost productivity.
In GitHub Copilot, there is a tool called TestPilot, which generates unit test code automatically, but its accuracy is not so high yet.
Thus, generative AI boosts the productivity of developers but not drastically for the productivity of QA engineers. Then, development speed increases while testing cannot catch up.
Therefore, it is necessary not only for QA engineers but also for development engineers to play a part in thinking about quality more than ever while creating things. Given that development speed has increased, we should spend the saved time to think about quality.
Enabling Quantitative Quality Judgement through Total Optimization
–I believe there have been many changes within the year. Given this, what do you think is necessary for us to try from now on?
Takahashi: First, I feel the need to make it possible to judge by using a measurement of quality.
Although we are constantly dealing with quality improvement, we hardly quantitatively show whether the current quality is better or worse compared to the previous year. In order to advance quality activities, we need to make it possible to report the situation firmly to the executives.
Second, it is necessary to increase the development speed without compromising quality in order to grow further.
I consider my mission for the current fiscal year as the CQO is to find a way to realize these two necessities.
–What do you think is necessary to “make it possible to judge the quality quantitatively”?
Takahashi: I think we need to deal with total optimization.
Until now, Money Forward has conducted development in small teams putting emphasis on speed, and has put importance on delivering value to the customers quickly.
However, as the organization has grown to the current big size, services have increased, and overseas development locations are increasing, we will not be able to secure the quality if everyone conducts development putting focus only on speed.
Thus, we need to be creating development process and quality standards based on total optimization. Of course, a meaningless rule will not make sense, so I would like to search for the optimal method that fits where we are currently.
When total optimization is realized, each product can be created in the same way, so transfer of personnel will become smooth, making it possible to concentrate human resources on projects we want to promote.
–GIven our current situation with more than fifty products and over two thousand employees, I imagine it is pretty difficult to implement total optimization. Where should we start?
Takahashi: It is important to enforce connections among different job types and share the knowledge. It is also important to launch a pilot project1 where quality is optimized and test new methods on it.
Also, in order to change something in an organization this big, I think it is important to make decisions not only from the bottom up but also from the top down.
Not limited to the issue of how to promote total optimization, technology is evolving day by day, so we need to change the style of doing things each year.
I would like to keep deciding “what kind of challenges are important for the organization to make at that point” and dealing with them.
Improving Development Speed by Introducing Shift Left
–Next, what is necessary for the second issue “to boost the development speed without sacrificing quality”?
Takahashi: I would like to utilize shift left method more.
Shift left is a development method that executes security measures and tests in earlier development stages than usual.
Up until now, it has been the mainstream to write specification documents, write the source code, and then test at the last stage. However, software development is rather primitive and a human has to write the code line by line just as when you write a novel. Therefore, it is unavoidable that mistakes and bugs are formed.
At Money Forward, several thousand lines of code are written daily, so I would like to develop a scheme to bust the bugs as early as possible.
In order to do that, I expect the developers and the QA engineers to come together and create a flow in which a bug is busted right after it is introduced and to think about what kind of code they should write in order to prevent bugs.
I think the introduction of shift left is also beneficial from the point of view of business. For example, if an entire test suite that has taken one month before release can be tested in earlier stages, then the development budget will be reduced and the delivery speed can be increased.
To be honest, such attempts to implement shift left have barely been made at Money Forward. That is why I think there is room for improvement.
–Is there a certain quality standard that Money Forward is ultimately aiming for?
Takahashi: The definition of quality entirely differs among times, so we shall change ourselves along with time, defining the best quality for the particular time, and providing that quality.
In the course of doing so, User Focus becomes an important keyword.
For example, users nowadays are happier if releases are made earlier and it does not take much time to contact the person in charge and have an anomaly fixed rather than having to wait long for a perfect product.
On the other hand, needless to say, we do not want each product to break shortly after its release. And in companies like Money Forward, which deliver multiple products of a similar kind, we want to avoid anomalies that showed up in some product from appearing again in a different product.
Being conscious with User Focus, I will deal with quality improvement while balancing speed and quality.
I Would Like to Work with People Who can Involve Developers to Make Challenging Attempts
–What kind of skills and minds do you expect for people joining your team?
Takahashi: People with high communication skills and a mind capable of continuous challenges.
As I said previously, Money Forward has to involve developers while dealing with challenging attempts to improve the quality of the products.
To do that, I prefer people who are able to collaborate and communicate firmly with developers to think about how we can create things of high quality.
Particularly, I expect them to implement shift left and to consider at which points software testing can be automated and put that into practice.
Also, technology keeps evolving further and further, so it is important to be able to catch up not only with QA knowledge but also with development knowledge. I am not sure if I should call such catching up and studying a challenge, but the current knowledge would be outdated in five years, so I expect them to be challenging various things.
… which is my ideal expectation, but people around me worry that there are no such people. (lol)
Therefore, as the CQO, what I actually think I have to be most concerned about and deal with is to increase good colleagues by letting people know that Money Forward can challenge various things.
–It looks like more and more development engineers are going to become QA engineers from now on, doesn’t it?
Takahashi: Actually, we are also dealing with such things starting this year.
I myself am an ex-developer, who wanted to enter Microsoft as a development engineer but, the position not being vacant, was offered a QA engineer position by chance.
Many overseas development engineers choose the career path of switching to a QA engineer, which broadens the scope of work, and I would like to promote that in Money Forward too.
[PR] We are hiring Software Development Engineers in Test (SDET) and QA Engineers
At Money Forward, we are actively hiring Software Development Engineers in Test (SDET) and QA Engineers. For a list of job openings, please refer to this. We are also accepting casual interviews.
- A pilot project is an experimental project which is executed while restrictive constraints are imposed. ↩︎