マネーフォワードのさらなる品質向上を目指し、昨年CQO(Chief Quality Officer:最高品質責任者)が就任しました。就任から1年が経ち、改めてどんなことを考えて、これからどうしていくのかについて、お話を聞きました。
高橋 寿一
情報工学博士 フロリダ工科大学大学院にてCemKaner博士(探索的テスト手法考案者)、JamesWhittaker博士(How Google Tests Software著者)にソフトウェア品質の指導を受けたあと、広島市立大学にてソフトウェア品質研究により博士号取得。 Microsoft シアトル本社・SAPジャパンでソフトウェアテスト業務に従事、ソニー(株)ソフトウェア品質担当部長を経て、マネーフォワードCQOに就任。趣味はカヌー、ユーコン川を含め数々の難所を下ること。
急速に変化していく組織と外部環境
ー就任から1年が経ちますが、マネーフォワードのCQOとして感じたことや考えていることを教えてください。
高橋: まず、マネーフォワードの品質の特徴ややるべきことがわかってきました。
マネーフォワードは、毎年何十パーセントという割合で売上や従業員数が伸び、成長している企業です。つまり、それをはるかに超える割合で製品やコードが増えています。
このような状況の中で、どうQCD(Quality、Cost、Delivery)のバランスを保ちながら開発を進めていくかが重要であり、難しいポイントです。
なかなか難しい課題ですが、この1年でたくさんの人と話をする中でアイデアもいくつか出てきました。
他にも、マネーフォワードは今、海外拠点での採用を積極的に行っていて、国内外でチーム連携する機会が増えてきています。
引き続きにはなりますが、言語面でも文化面でも様々な工夫が必要です。
ーQAエンジニアの数も、この1年で増えたのですか。
高橋: QAエンジニアも増えていますが、開発のメンバーが圧倒的に増えています。これは海外拠点だけでなく、国内拠点も同様です。
ーこの1年、社外ではChatGPTやGitHub CopilotといったGenerative AIが爆発的に広がった年だと思います。このような変化を受けてQA業界も何か変わったことはありましたか。
高橋: Generative AIは、今後のソフトウェア開発の生産性をものすごく上げるものだと思うので、とても注目しています。
マネーフォワードでもこれらの活用が始まり、これまで以上にスピード感をもった開発ができるようになり、開発生産性が高まってきています。
けれど品質やテスト面において、現時点でGenerative AIによって開発生産性が高まるのかというと、まだまだです。
GitHub Copilotの下に、テストパイロットというツールがあります。テストのパターンを自動生成してくれるものですが、精度はまだあまり高くありません。
なので、開発者の生産性は上がるけれども、QAエンジニアの生産性は劇的に上がりません。そうすると開発のスピードは上がるのに、テストが追いつかなくなってしまいます。
そのため、QAエンジニアだけでなく開発エンジニアも、今まで以上に品質について考えて、ものづくりをする必要があると思います。開発スピードが上がっているので、そこで生まれた時間で、品質について使える時間にしていきたいです。
全体最適化を通して、品質を定量的に判断できるようにする
ーさまざまな変化があった1年だったと思いますが、これらを踏まえて今後どのような取り組みが必要だと考えていますか。
高橋: 1つ目に、品質を定量的に判断できるようにしていく必要があると思います。
品質向上に常に取り組んではいるものの、去年と比べて品質がいいのか悪いのかということを定量的に示すことが今はできません。しかし品質活動を進めていくためにも、経営陣にしっかりと状況を報告できるようにする必要があります。
2つ目は、今後成長していくためにも品質を落とさず開発スピードを上げることです。
この2つをどう実現していくのかが、僕がCQOとして今年度取り組むべきミッションだと思っています。
ーまず「品質を定量的に判断できるようにする」ために、どのようなことが必要だとお考えですか。
高橋: 全体最適化に取り組む必要があると思います。
今までのマネーフォワードでは、スモールチームでスピードを重視した開発を行い、早く顧客に価値を届けることを特に大事にしてきました。
しかし、現在これだけ大きな組織になり、サービスも増え、開発する場所も国内外に増えていく中で、全員がスピードのみを重視して開発を行うと、品質の担保ができません。
なので、全体最適化した開発フローや品質基準を作っていく必要があります。もちろん、無意味なルール作りは意味がないと思うので、今の自分たちにあった最適な手法を模索したいです。
また、全体最適化ができると、プロダクトごとに同じソフトウェアの作り方ができるので、人の異動もスムーズになり、注力したいプロジェクトに人を集めることも可能になります。
ー現在プロダクトも50を超え、従業員数も2,000名を超える中で、全体最適化を行うのはなかなか大変だと思うのですが、どのような取り組みから始めるといいのでしょうか。
高橋: 職種ごとに横の繋がりを強化してナレッジをシェアしていくことも大切ですし、品質が最適化されたパイロットプロジェクトを立ち上げ、新しい手法を試すことも大切です。1
また、これだけ大きな組織で何かを変える時には、ボトムアップだけでなくトップダウンで方針を決めることも僕は重要だと思っています。
全体最適化をどう進めるかという問題だけでなく、テクノロジーは日々進化しているので、私たちも毎年やり方を変えて変化していく必要があります。
「組織にとって今どんなチャレンジをすることが重要なのか」を見極めて、取り組んでいきたいと思います。
シフトレフトを導入し、開発スピードを上げていく
ー次に、2つ目の「品質を落とさず開発スピードを上げること」についてはなにが必要でしょうか。
高橋: シフトレフトという手法をもっと取り入れていきたいと考えています。
シフトレフトとは、開発工程において、セキュリティ対策やテストを、通常より前倒しして実施する開発手法です。
これまでは、仕様書を作り、ソースコードを書いて、最終段階でテストをするというやり方が主流でした。けれど、ソフトウェアの開発は意外と原始的で、基本的には小説と同じように、1行1行人が書かなければいけません。そうすると、どうしても間違いやバグが生まれるのは致し方ないことです。
マネーフォワードでは、日々何千行ものコードが書かれるので、なるべく早い段階でバグを潰せる仕組みを作っていきたいです。
そのために、開発者とQAエンジニアが一緒になって、コードを書いたらすぐにバグを潰していくフローを作ったり、バグを出さないためにはどんなコードを書くべきなのかを考えていきたいですね。
またシフトレフトの導入は、ビジネス面でのメリットも大きいと思います。 例えば、これまでリリース前に1ヶ月かけて全てのテストをしていたものを前倒しできれば開発費も浮きますし、提供スピードも上げられます。
ただ正直なところ、マネーフォワードではまだこのようなシフトレフトの取り組みは、ほとんどできていないです。だからこそ、改善の余地があると僕は思います。
ー最終的にマネーフォワードが目指している品質基準などは何かありますか。
高橋: 品質は時代によって全く定義が違うので、僕らも時代と共に変化しながら、その時々にあったベストな品質を定義して提供したいと思っています。
その中で、User Focusは一つ大事なキーワードになります。
例えば今の時代、ユーザーは完璧なものができるまで待たされるよりも、早くリリースをして、もし不具合が見つかった場合には、すぐに担当者に連絡ができ、直してくれる方が嬉しいということもあると思います。
ただ、リリースしたものが毎回すぐに壊れるというのは、当たり前ですがよくないです。 またマネーフォワードのように似たような製品を提供している場合、どこかのプロダクトで起きた不具合が、別のプロダクトで起こるということも避けたいです。
User Focusを意識して、スピードと品質のバランスをとりながら品質向上に取り組んでいきます。
開発者を巻き込みながら、チャレンジングな取り組みができる方と働きたい
ー今後、どういったスキルやマインドを持った方に入っていただきたいですか。
高橋: コミュニケーションスキルが高く、どんどんチャレンジできるマインドを持った方ですかね。
先ほども述べた通り、これからマネーフォワードは品質向上に向けて、開発者を巻き込みながらチャレンジングな取り組みをしていかないといけません。
そのため、開発者と一緒になって、品質高くものづくりを行うためにはどうすればいいのかを、しっかりとコミュニケーションをとりながら考えていける方がいいですね。
具体的には、シフトレフトの導入やソフトウェアテストの自動化のポイントを考えて進めてくれることなどを、期待しています。
また、テクノロジーもどんどん進化していくので、QAの知識だけでなく、開発の知識もキャッチアップできることが重要です。 こういったキャッチアップや勉強をチャレンジと呼ぶのが正しいか分かりませんが、5年後には今ある知識だけは通用しなくなるので、色々なことにチャレンジしてほしいです。
……と、理想を話しましたが、そんな人いないんじゃないかと、周りから心配されています。(笑)
なので、CQOとして、マネーフォワードは様々なチャレンジができることをアピールして、良い仲間を増やしていくことが、実は1番の悩みであり、取り組まなければいけないことだと思います。
ー今後は開発エンジニアの方がQAエンジニアになるということも増えていきそうですね。
高橋: 実は今年から、そういったことにも取り組み始めています。
僕自身も Microsoftで働く際、開発エンジニアとして入りたかったのですが、たまたまポジションが空いておらず、QAエンジニアのポジションを打診されていた元開発者上がりです。
海外では開発エンジニアがQAエンジニアになるといった、キャリアパスを選ぶ方も多く、仕事の幅も広がるので、マネーフォワードもそうしていきたいと思っています。
【PR】SDET(Software Development Engineer in Test) & QAエンジニア採用中
マネーフォワードでは、SDET(Software Development Engineer in Test) や、QAエンジニアを積極的に採用しています。求人一覧はこちらをご覧ください。カジュアル面談も受付中です!
- パイロットプロジェクトとは限定的な制約を課し、実行する試験的プロジェクトを意味します。↩