Money Forward Developers Blog

株式会社マネーフォワード公式開発者向けブログです。技術や開発手法、イベント登壇などを発信します。サービスに関するご質問は、各サービス窓口までご連絡ください。

20230215130734

8th長崎QDG 参加レポート 後編

出島メッセ長崎を背景にした集合写真

関連リンク

はじめに

こんにちは、マネーフォワード ERP開発本部 福岡第一開発部 QAグループのゆっきーと申します。

8th長崎QDGで「生成AIで変える問い合わせの未来〜チームグローバル化の香りを添えて〜」というタイトルでLTしてきました8th長崎 QDG 参加レポート 前編は、もうご覧になったでしょうか? まだ読んでいない方はぜひ、読んでみてください。
とても内容の濃い講演で、参加レポートもブログ1本では収めきれなかったため、今回こちらの記事では「8th長崎QDG 参加レポート 後編」を書いていきます。

技術・事例・研究セッション「社内有識者観点を用いたソースコードレビュー自動化の取り組み」 武次 恭平 氏(京セラコミュニケーションシステム株式会社)

担当: @irie.shou

要約

本セッションは、京セラコミュニケーションシステム株式会社におけるコードレビューに関する課題についての紹介でした。 具体的には、レビューの属人化、レビュー待ち時間の発生、採用の増加に伴う教育人材の不足といった問題があり、これらの課題に対して、AIを活用した自動化の取り組みを行い、効率と品質の向上を実現した、という内容でした。

<具体的な取り組み内容>

AIを用いたコードレビューの自動化

  • これまでのソースコードを教師データとしてAIを活用し、コードレビューの負担を軽減することを目指した
  • GitHub Actionsを利用し、プルリクエスト(PR)作成時に自動でレビューを実行する仕組みを構築した

メトリクスを用いた評価

  • コードの品質を評価するために、サイクロマティック複雑度、認知的複雑度、保守容易性指数などのメトリクスを使用して静的解析を行なった
  • AIは一次レビューを担当し、指摘だけでなく「美しいコードですね」といった褒め言葉も提供することで、開発者のモチベーション向上にも寄与した

ユーザーフィードバックと改善

  • ユーザーからのフィードバックを基に、具体的な修正方法が不明確という課題を解決するため、レビュー知識の暗黙知を明文化した
  • さらに、静的解析でルールベースのレビューを追加し、指摘結果を教育資料として活用できるようにした

<レビュー自動化の効果と課題>

これらの取り組みにより、技術的な側面では、一次レビューにかかる時間を削減することができたそうです。しかし、仕様通りに実装されているかどうかは、依然として人による二次レビューが必要とのことでした。

感想

AIを実際に活用し、試行錯誤を重ねながら効果を上げているというお話は非常に興味深いものでした。良い点だけでなく、発生した課題やその対処法についても詳しく説明されており、大変勉強になりました。 特に、AIが褒め言葉を提供するという非機能的な遊び心がエンジニアのモチベーション向上につながるという点は、非常に重要な要素であると感じました。 また、これらの機能がCIに組み込まれ、パフォーマンスを損なうことなく効果を発揮していることに驚きを覚えました。

スペシャルセッション「ゆもつよがこの30年間自ら経験してきたQA、テストの歴史と未来」 湯本 剛 氏(freee株式会社、株式会社 ytte Lab.)

担当: ゆっきー

要約

湯本剛さんのセッションでは、30年以上にわたるソフトウェアテストの分野での豊富な経験をもとに、テストの進化やQAエンジニアの役割の変化についてお話しされました。このセッションの主な焦点は、ソフトウェアテストが製品の品質を向上させるための重要な役割へと進化している点、そしてQA活動が組織全体を巻き込む総合的な品質活動になっている点です。歴史に学び、同じ過ちを繰り返さないことの重要性を強調し、未来は自らの手で作るべきだと語られました。

過去の振り返り
始めに、1990年代から始まったソフトウェアテストの進化を振り返りました。当初、テストは開発の後に行われるものでしたが、1980年代後半から予防志向のテストが導入され、開発ライフサイクルと並行して進められるようになりました。日本では2000年代にリスクベースドテストが紹介され、最近になってようやく根付いてきたとのことです。

現在の状況
昨今、日本のQA(Quality Assurance - 品質保証)はQC(Quality Control - 品質管理)の延長線上にある信頼獲得の活動から、製品の品質を改善する実務的な役割にシフトしています。と同時にアジャイル開発の普及により、QAの役割は単なる監視業務から製品の品質を向上させるための重要な役割へと変わりつつあります。また、QAエンジニアは注目の職種として人気が高まっており、その需要は増加しています。

未来への展望と現代のQAエンジニアに必要なこと
QA活動が総合的な品質のためのQC活動となり、PQCDSME指標1が経営指標として重要になると予測されています。開発だけでなく、全組織を巻き込んだ活動が求められる未来が訪れることでしょう。テストは専用技術として進化し続け、チームの一員として製品開発に貢献することが期待されています。

また、現代のQAエンジニアに必要なこととして、湯本さんは以下の3つをお話しされていました。

  • 事実から積み上げるマインドセット
  • 開発の柔軟性とスピードに足並みを揃える行動
  • 改善サイクルを回すリーダーの役割だという自覚

最後に
湯本さんは歴史に学び、同じ過ちを繰り返さないことの重要性を強調されていました。未来は自分たちで作るものであり、QAエンジニアは単なる決まったことをやるだけの役割ではなく、プロセス改善を含む柔軟で重要な役割を担うべきだと語られていました。

感想

湯本さんが歩まれた軌跡と共に語られたテストの歴史と未来は、とてもボリュームのある内容でした。それもそのはず、1991年生まれの私にとって、湯本さんがソフトウェアテストに関わってきた年月は、まさに私の人生と同じ長さです。年表を見たときに感動しました。この講演を通じて、ソフトウェアテストとQA活動の過去、現在、そして未来について考える貴重な機会を得ました。湯本さんの豊富な経験と知識に基づくお話は、これからの変化に対応し、より良い品質を追求していくためのヒントを提供してくれました。
「歴史に学び、未来を築く」という言葉があるように、過去を知ることの大切さを改めて実感しました。私がソフトウェアテストに関わるようになったときは、すでにテストコミュニティもあり、情報はインターネットや本からたくさん仕入れることができる恵まれた環境にありました。講演資料の年表にもあったように、バグレポートの記録が手書きであったり、環境の変化と共に網羅的なテスト設計が求められてテストケースが肥大化し、耐久試験のようになったテスト実行であったり……そんな現場を試行錯誤で改善してくださった先人がいたからこその今の私たちの環境があるのだと知りました。講演の中に登場した「網羅の呪縛からの解放」という言葉も印象的でした。

今ある手法や技術や活動形態がどのようにして広まっていったのかを理解することは、ただ現状を受け入れるだけでは気づけない重要な要素だと思いました。受け入れること自体は悪いことではありませんが、何も知らずに目の前のものを受け入れていると、これから先「プロダクト利用者や開発技術・ツールが変わると課題も変わる」という大事な要素に気づけないかもしれません。先人たちの知恵と経験を活かせるのは、まさに現在を生きる私たちです。このような講演会に参加できることの大切さを感じるとともに、これからのQA活動に活かしていきたいと思いました。また、素敵な方々と同じ時代に生き、QA活動に携われることを嬉しく思い、さらに学びを深めていきたいと感じました。

クロージングトークセッション「テストエンジニアや品質エンジニアの未来を大いに語ろう」池田 暁 氏(クオリティアーツ、NPO 法人 ASTER)大西 建児 氏(株式会社ベリサーブ)湯本 剛 氏(freee株式会社、株式会社ytte Lab.)

担当: @bun913

最後のセッションは豪華メンバーによる対話形式のクロージングセッションでした。登壇者は以下のとおりです。

  • 池田 暁 氏(クオリティアーツ、NPO法人 ASTER): モデレーター
  • 大西 建児 氏(株式会社ベリサーブ): パネリスト
  • 湯本 剛 氏(freee株式会社、株式会社ytte Lab.): パネリスト

なお、活発かつ自由に議論が行われていたため、途中でパネリストではなかった方(水野昇幸氏)も意見を述べられる場面もあり、非常に盛り上がったセッションでした。

要約

このクロージングトークセッションでは、モデレーターの池田さんとパネリストの大西さん、湯本さんが集い、テストエンジニアや品質エンジニアの未来について熱く語り合ってくれました。

なお、以降は私のメモに基づく要約であり、ご本人の意図や意志の強さを正確に表現できていない可能性があります。その点、ご了承ください。また、敬称をすべて「さん」に統一しています。

1.これまでのテストエンジニアに求められてきた能力と変化 〜そのための教育や育成などのキャリア〜

大西さん:
以前は特に日本では「ソフトウェアエンジニアリング」を体系的に学んでいる人が少なかったと思う。今後はテストエンジニアにも自動化などを含めたソフトウェアエンジニアリングのスキルが求められる。

湯本さん:
自分の場合は、テストに関するコミュニティに入れたことがキャリア上大きな影響を与えたと思う。当時は自分もソフトウェア技術にあまり詳しくなかったが、技術について学ぶことができた。キャリアの中で自動化などを学ぶ機会がなかったが、コミュニティに入ることで学ぶ機会が増えたと思う。

2.これからのテストエンジニアに求められるもの・変化 そのための教育や育成などのキャリア

湯本さん:
今は無料のサイトや安いサイトからでも良い情報を学べる時代だと思う。ただし、例えばテストプロセスなどを書籍で学ぶことも大切だが、そのような技術は現場や状況によって変わるものである。要するに、課題解決をするスキルが重要であり、自身もQAオンラインゼミというものを立ち上げている。

大西さん:
最近は生成AIの進化がすごく、人間がやってきた「ひらめき」の領域に関しても、長期記憶をベースに実行できるAIが出てきている。自身も探索的テストなどの領域は置き換えされないだろうと思っていたが、それも少し怪しいように思っている。今後も人間が出せる価値として「顧客価値が最大かどうか」ということを考えるのはずっと必要なのではないかと思う。そのためにドメインに対する理解を徹底的に深めていくことが重要だと思う。

池田さん(モデレーター):
「価値」という言葉はすごく難しい。顧客が求める価値などは定義するのが難しいと考えている。そのあたりの探究はずっと続くのではないかと思う。

3.コミュニティが果たす役割は・我々の未来

大西さん:
以前開いていたコミュニティ活動は、赤字になっても構わないくらいの熱意でやっていたと思う。また、コミュニティでの人間同士の交流があることで、その人の価値観や考え方がわかることがあり、議論や意見交換がしやすくなっていたと思う。

湯本さん:
コミュニティで人と交流することが大事なのは同意する。また、自身としてはオープンに意見交換をすることがとても大事だと思う。オープンにすることで、社外・コミュニティ外の人でも意見を見ることができ、ひいてはそれが業界や国が良くなることにつながる。その「よくしていく」という意識は、大事にしたい。

4.質問・議論コーナー

ここからは、会場からの質問への回答、それに対する議論が行われていました。以下はその一部です。

【質問】テストエンジニアやQAエンジニアとして働いている人で、開発経験がない方に向けて今後5年間で何を学んでほしいですか?

湯本さん:
自身も学部の出自がコンピューターサイエンスの学部とは違ったし、開発もまったくできなかった(ので気持ちがわかると思う、という趣旨だと思います)。今後5年間のどこかで、「どういう仕組みでシステムやアプリケーションがこのように動いている」というのを理解しないといけない。具体的にはTechPitやReactで作るサーバーレスアプリケーションのような情報が学べるので、そのようなことをやるのが良いと思う。自身もサーバレスなどに知見はなかったが、どういう仕組みか理解するのは重要だと強く感じている。

大西さん:
自分は学生時代に開発の学習をしていたが、仕事では開発をしていなかった。しかし、プログラミングをしており、動く仕組みがわかっていたのが役に立ったと思う。プログラムそのものを学ぶと言うよりも、自分が関わるシステムに必要な技術や仕組みを学んでいくのが大事。

【質問】海外のQAエンジニアと関わるとコンピュータサイエンスにも深い理解があり、スキルが高いと感じています。「このままでは淘汰されるのでは?」という危機感があります。今の日本のQAエンジニアに足りないものや、やった方が良いことなどあれば教えていただきたいです。

大西さん:
今はISTQB(国際的なテストに関する認定試験、および提供する団体の総称として使われる)もスペシャリスト試験がかなり分かれて存在する。それを見るだけでも海外における専門性が理解できると思う。ちなみに、日本に対する製品を作っているか、海外に対する製品を出しているかで、かなり求められる品質に対する考え方が違うと思う。海外では「とりあえず、まずリリースしよう」という感覚が強いところもあると思う。

湯本さん:
まず「海外のエンジニアに対して危機感を持っている」時点で、(優秀だと思うので)安心してほしい。自分としては日本のエンジニアは優秀だと思うが、先ほど大西さんも言っていたように求められる品質に対する考え方も違うので、それは難しいと思う。海外の方とお仕事をするのであれば、「そんなことまで明文化するの?」というくらいまで、ドキュメントを作ることが必要になる場面が出てくることもある。そのくらい多様な考え方がある。

感想

前半のパネルディスカッションも非常に面白かったのですが、やはりこのようなセッションでは「実際に課題感を持っている方」からの深い質問があることが本当の醍醐味ですね。

特に「今後5年間で開発経験のないQAエンジニアに何を学んでほしいか」という質問は、誰もが「よく聞いてくれた!」と思ったことだと思います。

私自身としてもこのセッションを通じて、テストエンジニアとしての未来に向けて何が求められるのか、深く考えさせられました。特に自ら学び続ける姿勢や、コミュニティを通じて成長していく大切さを改めて実感しました。

コミュニティは運営側に回るだけでなく、参加者として熱烈に感想や意見を発信することでも貢献できる側面があると思います。私も運営ができないような状況でも、そのような何かの形で恩返しできるようにしていきたいと思いました。

さいごに

以上が、8th長崎QDG 参加レポート 後編でした。
ここまで読んでくださって本当にありがとうございます。
LT登壇記事、参加レポート前編・後編を合わせて3本立てとなりましたが、どの記事を見返しても、とても素敵な講演だったと思います。今回のイベントを通じて、さまざまな現場での経験や知見を持つ方々と交流し、多くの学びを得ることができました。その学びを自分自身の成長につなげていきたいと思います。

8th長崎QDGで多くの学びを得た翌日は、集まったメンバーで長崎観光をしました。
おいしいご飯屋さんやカフェに行ったり、九十九島水族館海きららにも行きました。
朝は吹雪いていて長崎観光できるのか不安でしたが、幸いなことに出発してからは雪も止み、観光を楽しむことができました。
また行きたいです!

アフターツアーラーメン砦

アフターツアー水族館

恒例のリンクを貼っておきます。 マネーフォワード 福岡開発拠点ではエンジニアを募集しています! よろしくお願いします!
hrmos.co

福岡開発拠点のサイトもあるのでぜひご覧ください。
fukuoka.moneyforward.com


  1. PQCDSME = P:Productivity(⽣産性)、Q:Quality(品質 - ミスなく正確に提供する狭義の品質)、C:Cost(コスト)、D:Delivery(納期)、S:Safety(安全)、M:Morale(⼠気)、E:Environment(環境)