SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

イベントレポート

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

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

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

 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への積極的なコメントや仕様の共有、チーム内での用語統一などが自発的に実施されているという。「今後は、ペアプログラミングの導入も検討しています」とばんじゅん氏は語る。

会員登録無料すると、続きをお読みいただけます

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

次のページ
改善はゴールではなくプロセス

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加
イベントレポート連載記事一覧

もっと読む

この記事の著者

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

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

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/11986 2020/02/25 11:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング