※記事内で登場する数値は、いずれも2020年1月27日の登壇時点の情報。
多人数によるレビューをドメイン学習にも役立てる
ZOZOTOWNのiOSチームには、6名のメンバーが所属している。リーダー1名と、新機能開発を担当するメンバーが3名、アプリのさまざまな改善を担当するメンバーが2名。そして、社外からの技術顧問として岸川克己氏を迎えている。
「私たち6名のメンバーは、みな2019年からiOS版のZOZOTOWNの開発に参画し、全員がプロジェクトに1年未満しか携わっていません。『その状態で、ちゃんと開発できているの?』と思われる方もいるかもしれませんが、もちろん大丈夫です。プロジェクトを円滑に進められている理由を解説していきます」
iOS版のZOZOTOWNは、2010年11月にリリースされたアプリだ。約10年もの歴史があるため、ドキュメントで調査できる情報には限界がある。他のチームから、歴史的経緯を知るメンバーを探してヒアリングしなければいけないこともある。さらには、レガシーコードを読み解く大変さから開発速度が下がってしまうケースも発生するという。これらの課題を、ZOZOTOWNのiOSチームではどのように解決しているのだろうか。
まずは、機能追加のPull Requestが発行された場合を例に、ソースコードレビューにおける工夫について解説していく。iOSチームでは前述のように、新機能開発をメインで担当するメンバーが3名おり、それらのメンバー同士でのピアレビューを行う。かつ、他の2名の固定レビュアーによるApproveを必須にしている。
多人数でのレビューを行うことで、機能の追加・変更の情報がチーム内においてソースコードレベルで共有されるのだ。これにより、品質の確保とともにドメイン学習も行える。
また、メンバー全員がドメイン理解の大変さを知っているからこそ、Pull Requestへの積極的なコメントや仕様の共有、チーム内での用語統一などが自発的に実施されているという。「今後は、ペアプログラミングの導入も検討しています」とばんじゅん氏は語る。