天の月

ソフトウェア開発をしていく上での悩み, 考えたこと, 学びを書いてきます

「LINE Fukuoka & ヤフー福岡 Developer Meetup #1」に参加してきた

yahoo-fukuoka.connpass.com

「LINE Fukuoka & ヤフー福岡 Developer Meetup #1」のイベントに参加してきたので、会の様子と感想を書いていこうと思います。

参加したきっかけ

最近自分自身が興味を持っている、品質担保についてセッションがあるということで、現場に何か適用できたり参考になったりすることがあるのでは、と思い参加してきました。

会の概要

以下、Connpassからの引用です。

Yahoo! JAPAN と LINE の経営統合にともない、エンジニアの街福岡でも今後ますます親密になっていくヤフー福岡とLINE Fukuoka。その両社のエンジニアが、それぞれの互いの文化について交流し学び合う「LINE Fukuoka & ヤフー福岡 Developer Meetup」をパブリック開催します。第1回は、両社のテスト・品質担保に関して造詣が深いエンジニアが、現場で培った品質の担保の悩みに向き合うためのソリューションや、PR Drivenによる実践的なテストによる開発体験(DX)の向上について深く話します。トークセッションでは、ヤフーとLINE Fukuokaのエンジニアがそれぞれの会社での品質への向き合い方について、質問に答えつつディスカッションを深め、みなさんと一緒に品質について考えていきます。

※ 現在エンジニアの方、またはエンジニア志望の学生など基本的にプログラミングに関わっているみなさまを対象としております。

会の様子

コンテンツの時系列順に会の様子を書いていこうと思います。

品質と向き合うための第一歩

中々定量化しにくい内部品質をSonarQubeを活用して定量化して、チームで品質に対する理解を揃えた話を聴いてきました。
品質が何も見えない状態だったところから、Cognitive ComplexityやCyclomatic complexityといった数値に定量化して、チーム全員が高い解像度で品質に向かい合うようになったということで、聴いていて純粋に感動しました。
また、発表中に、実際に稼働しているシステムCognitive Complexityをリポジトリごとに見せてもらえたり、一部のリポジトリについては、内部のクラスファイルのCognitive Complexityとソースコードの複雑具合(ソースコードについて、勿論変数名やメソッド名は隠されていました)を紹介してもらえたりして、大変参考になりました。
また、複雑なコードに対してのアプローチとして、コメントを充実させるという現実解とエンジニアのスキルアップ(負担が軽い勉強会の開催)という根本的な解決策が挙げられていたのも印象的でした。

PR-Driven E2E Testを用いた開発者体験向上の取り組み事例

LINEのSETが開発者体験(=DX Developer eXperience<)の向上を目的としてどのようにテストを活用しているのかという話でした。
「実際に一緒に開発してみないと、開発者がどのような体験をしているかは分からない」というコンセプトの基でSETが一緒にサービス開発をしながら開発者体験を向上に貢献していったという素敵な取り組みが紹介されていました。(この取り組みの結果、開発メンバーがE2Eテストに対して更に関心を持つようになったりといった良い変化が生まれたということでした。)

具体的にどのような技術を使って実現しているかの話は、今回は時間の都合上簡単な紹介にとどまったのですが、資料を連携していただけたので、読んでみようと思います。(本記事の最後に参考資料として添付しておきます)

また、発表内容の本筋とはずれますが、金子さんの発表が上手で聴きやすかったです。

品質向上に対する二社(Yahoo&LINE)のアプローチの違いを深掘り!

ディスカッション形式で、YahooとLINEの皆さんが品質をテーマに話をしてくれました。
QAチームの位置づけ(そもそもQAチームという用語から何を連想するか)だったり、リリース時の品質担保、リリース禁止日(リリースフリーズ)の話、開発チーム構成の話...あっという間の30分でした。
自分も含め、リリース時の品質担保としてYahooで行われているというリリース承認会議の話題は特に盛り上がっており、開催の基準*1や承認会議で重点的に確認がなされること*2など、会議の内容が深堀されていきました。

感想

どのコンテンツも面白かったので満足しています。各コンテンツについて質問もかなり出ており、会が盛り上がっている様子が伺えました。
実際に現場で開発をされている方たちの具体的な話を聴くことができたのがとても良かったです。
実際に稼働しているシステムでCognitive Complexityを計測した結果の話や、リリース承認会の話...はかなり現場に踏み込んだ内容で、中々他のイベントで聴くことはできないように感じました。
LINEのSETについても、Developer eXperience向上という目的の基、こちらも具体的にどのような取り組みをしているのかが聴けて楽しかったです。

参考 : PR-Driven E2E Testを用いた開発者体験向上の取り組み事例のプレゼンの中で紹介があった資料

blog.autify.com

linedevday.linecorp.com

*1:他アプリケーションとの連携がどれ位あるかや、バグがあった場合の業務インパクトなどを基に決められるようです

*2:品質担保として実施したテストケースの他に、バグがあった場合のコンチプラン...を確認されるということです