Upgrade to Pro — share decks privately, control downloads, hide ads and more …

歩みを振り返ると見えてくる 今、新たな「仲間」がWEARアプリ開発に必要な理由 / WEAR iOS needs a newcomer

D602b0407248ac9baa84748ec858095a?s=47 chen
December 07, 2021

歩みを振り返ると見えてくる 今、新たな「仲間」がWEARアプリ開発に必要な理由 / WEAR iOS needs a newcomer

ZOZO Tech Talk #2 iOSイベント登壇資料

D602b0407248ac9baa84748ec858095a?s=128

chen

December 07, 2021
Tweet

Transcript

  1. 歩みを振り返ると見えてくる
 今、新たな「仲間」が
 WEARアプリ開発に必要な理由
 株式会社ZOZO
 メディア開発本部 WEAR部 iOSブロック
 
 小野寺 賢

    Copyright © ZOZO, Inc.
  2. © ZOZO, Inc. 株式会社ZOZO
 メディア開発本部 WEAR部 iOSブロック 小野寺 賢
 2016年

    8月に中途入社
 高校からZOZOTOWNを使い始めて会社を知り、入社しまし た。(新卒は落ちた)
 入社後からiOSを学び、現在WEARのアプリ開発に携わって います。
 
 2
  3. © ZOZO, Inc. https://wear.jp/
 3 • ファッションコーディネートアプリ
 • 1,500万ダウンロード突破、コーディネート投稿総数は1,100万件以上 (2021年9月末時点)


    • ピックアップタグから最新のトレンドをチェック
 • コーディネート着用アイテムをブランド公式サイトで購入可能
 • WEAR公認の人気ユーザーをWEARISTAと認定。モデル・タレント・デザ イナー・インフルエンサーといった各界著名人も参加

  4. © ZOZO, Inc. WEARチームとは
 4 Vision
 
 WEAR FOR CONNECTION


    世界中の人を服でつなげよう
 

  5. © ZOZO, Inc. WEARアプリの歴史
 ・2013年にサービスが開始(8年前)
 ・最初のiOSアプリは外部委託
 
 5 2013 現在

    👶 iOSチームの 状況 喜 悲
  6. © ZOZO, Inc. WEARアプリの歴史
 ・徐々に内製化(エンジニア 2〜3人 & 業務委託)
 ・数ヶ月で100万突破とダウンロード数も増加
 ・海外向け画面、SAVEフォルダ公開など機能追加に取り組む


    6 😎 2013 現在 👶 iOSチームの 状況 喜 悲
  7. © ZOZO, Inc. WEARアプリの歴史
 ・社内で新しい動き(ZOZOSUITなど新しいプロジェクトが始動)
 ・WEARの優先度が一時降下
 ・チームメンバーの移籍(3→2人 & 業務委託)
 ・デザイン改修などで基盤を強固なものに


    7 😰 😎 2013 現在 iOSチームの 状況 喜 悲
  8. © ZOZO, Inc. WEARアプリの歴史
 ・新機能の増加
 ・仲間も増加(今年度は3→5人 & 業務委託)
 ・急激な変化でまだまだ人手は不足
 


    8 🤩 😰 2013 現在 iOSチームの 状況 喜 悲
  9. © ZOZO, Inc. 近年の取り組み(新機能)
 この1年の間に
 
 ①動画でのコーディネート閲覧
 ②複数枚のコーディネート投稿 / 閲覧


    ③コーディネート画像からのアイテム検索
 
 の新機能が増加
 
 
 
 
 9
  10. © ZOZO, Inc. 近年の取り組み(新機能)
 ①動画でのコーディネート閲覧
 
 ・今までのWEARにない、新しい体験の追加
 ・特に若年層へ向けた新しい試み
 
 


    
 
 
 
 
 10
  11. © ZOZO, Inc. 近年の取り組み(新機能)
 ②複数枚のコーディネート投稿 / 閲覧
 
  ・様々な角度から着こなしの表現を可能に
  ・アピールしたいポイントの発信の強化


     ・最大5枚の投稿
 
 
 
 
 
 
 
 11
  12. © ZOZO, Inc. ③コーディネート画像からのアイテム検索
 
 ・アイテムの探しやすさの向上
 ・コーディネートへアイテムの紐付けが容易に
 ・研究所チームとの共同開発
 
 


    
 
 
 
 近年の取り組み(新機能)
 12 帽子:普通の登録
 靴:画像検索で登録

  13. © ZOZO, Inc. 一方で
 
 13

  14. © ZOZO, Inc. 状況の変化
 WEARは2013年から運用を続けている
 
 ・サービス開始から8年が経過
 ・当時の開発言語はObjective-C一択
 ・当時作った画面や機能はまだまだ現役
 


    運用期間と共に技術的負債も積もっていく
 14
  15. © ZOZO, Inc. 技術的負債に対する取り組み
 
 15

  16. © ZOZO, Inc. 近年の取り組み(技術的負債返済)
 ワーニングの解消
 
 ・元々は1000件超え
 ・0を目標に毎年少しずつ削減
 ・残っているワーニングは
  依存ライブラリが大半を占める


    
 
 
 16 2018 現在 2019 2020 ワーニングの推移
  17. © ZOZO, Inc. 近年の取り組み(技術的負債返済)
 Objective-Cの削減
 
 ・新規画面はSwiftで実装
 ・不要な機能やファイルの削除
  (直近では日記機能を削除)
 ・Objective-CをSwiftへ書き換え


     (理想:MVC→MVPへアーキテクチャの変更)
 
 
 17
  18. © ZOZO, Inc. チーム
 どんな感じ?
 ☕
 
 18

  19. © ZOZO, Inc. コミュニケーション
 困りごとには、チームで協力して解決
 
 ・タスクや方針:Google Meet(朝礼 / 定例)


    ・作業中の問題:Slack / ハドルミーティング / Discord
 ・コードレビュー
 
 他iOSチームとの関わり
 
 ・技術共有会
 ・オフィスアワー(技術顧問 岸川さんへのQ&A)
 
 
 19
  20. © ZOZO, Inc. 自分の生活に合った働き方が選択可能
 
 全国在宅勤務制度:好きな場所で働く※
       (WEAR iOSチームの例:東京/千葉/神奈川/岩手/福井)
 
 フルフレックス制度:好きな時間に働く


    
 
 
 ※会社イベント時、業務都合等により、会社が指定した場所に出社していただく場合がございます。
 ※担当業務により一部社員が対象外となります。
 
 働き方
 20
  21. © ZOZO, Inc. 5:40 起床 🌞
 
 6:40 帰宅
 


    7:00 朝食
 
 8:00 始業
 
 
 
 
 働き方
 21 9:00
 
 10:00
 
 
 11:30朝礼
 
 13:00 お昼
   
 14:00 始業
 
 17:00 小野寺 退勤
 
 18:00 フットサル
     キックオフ ⚽
 
 21:00 帰宅
 
 22:00 就寝 🌙
 
 
 
 ジョギング 󰝊 仕事中 💻 仕事中 💻 お昼寝💤 「半分くらい出社」 小野寺目線のアプリチームのある日の一日
 「チーム1か2番乗り」 「全員出社」 「全員退勤」 同じ8時間でも
 リズムはそれぞれ

  22. © ZOZO, Inc. 入社後
 こんな感じの1ヶ月
 
 22

  23. © ZOZO, Inc. 中途 / 新卒向け 入社後のフォロー体制
 慣れるまでの1ヶ月は特にフォローが手厚い※
 
 ・メンターと毎日

    1on1
 ・メンバーと毎週 1on1
 ・テーマは 仕事 / 趣味 / 疑問 など自由にとにかく話す
 
 人を大事にするZOZOの文化がチームにも反映
 
 
 
 
 ※ 直近のWEAR iOSチームの中途入社メンバーの例
 23
  24. © ZOZO, Inc. 向き合う課題
 
 24

  25. © ZOZO, Inc. 課題
 取り組んでもなお、抱える技術的負債
 
 ・BaseViewControllerへの依存
 ・メンテナンスが終了したライブラリへの依存
 ・Objective-CとSwiftが共存(50%)
 


    新機能の増加に伴い、技術的負債返済に滞り
 
 
 
 
 
 25
  26. © ZOZO, Inc. 課題
 技術的負債がもたらす問題
 
 ・機能追加に多くの改修がつきまとう
 ・機能追加によって新たな技術的負債が発生
 ・メンテナンスが困難
 


    スピード感をもった開発を目指す中、問題が重荷となっている
 
 
 
 26
  27. © ZOZO, Inc. 課題
 技術的負債返済を目標に掲げてチームとして取り組む
 
 ・新機能追加と同等に技術的負債返済も重要視
 ・チーム / 個人それぞれで目標に掲げて取り組む


    
 
 
 新機能が増えていることでなお、技術的負債返済が追いついてない
 
 
 
 
 27 But
  28. © ZOZO, Inc. 課題解決に向けて
 エンジニアを募集しております
 28

  29. None