Shoeisha Technology Media

CodeZine(コードジン)

特集ページ一覧

コードレビューをドメイン学習にも役立てる――ZOZOTOWNに学ぶレガシーアプリ開発の知見

「iOS開発チームの特徴と開発方法を公開!」レポート(2)

  • ブックマーク
  • LINEで送る
  • このエントリーをはてなブックマークに追加
2020/02/25 11:00

 2020年1月27日、Sansan株式会社の社内にある多目的スペース「Garden」にて、各社のiOSエンジニアが開発の知見を共有するイベント「iOS開発チームの特徴と開発方法を公開!」が開催された。本稿では、株式会社ZOZOテクノロジーズのばんじゅん氏によるセッションをレポートする。このセッションでは、長い歴史を持つアプリをメンテナンスすることの難しさと、レガシーと向き合いながらサービスを開発する知見をばんじゅん氏が解説した。

目次

※記事内で登場する数値は、いずれも2020年1月27日の登壇時点の情報。

株式会社ZOZOテクノロジーズ ばんじゅん氏(Twitter)
株式会社ZOZOテクノロジーズ ばんじゅん氏(Twitter

多人数によるレビューをドメイン学習にも役立てる

 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へのレビュー体制。多くのメンバーがレビューに携わっていることがわかる。
Pull Requestへのレビュー体制。多くのメンバーがレビューに携わっていることがわかる。

 多人数でのレビューを行うことで、機能の追加・変更の情報がチーム内においてソースコードレベルで共有されるのだ。これにより、品質の確保とともにドメイン学習も行える。

 また、メンバー全員がドメイン理解の大変さを知っているからこそ、Pull Requestへの積極的なコメントや仕様の共有、チーム内での用語統一などが自発的に実施されているという。「今後は、ペアプログラミングの導入も検討しています」とばんじゅん氏は語る。


  • ブックマーク
  • LINEで送る
  • このエントリーをはてなブックマークに追加

著者プロフィール

  • 中薗 昴(ナカゾノ スバル)

     週の半分はエンジニア、もう半分はライター・編集者として働くパラレルキャリアの人。現職のエンジニアとして培った知識・経験を強みに、専門性の高いIT系コンテンツの制作を行う。

バックナンバー

連載:イベントレポート

もっと読む

All contents copyright © 2005-2020 Shoeisha Co., Ltd. All rights reserved. ver.1.5