ヤフーのアプリにおける会社全体での業務効率化について #devsumiC

640 Views

July 03, 19

スライド概要

Developers Summit 2019 Summer C-2 の登壇資料です。

profile-image

2023年10月からSpeaker Deckに移行しました。最新情報はこちらをご覧ください。 https://speakerdeck.com/lycorptech_jp

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

関連スライド

各ページのテキスト
1.

ヤフーのアプリにおける 会社全体での業務効率化について 2019年7⽉2⽇ 鎌倉 和弘 Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.

2.

⾃⼰紹介 鎌倉 和弘 Kazuhiro Kamakura CTO室 アプリ統括部 SDKCore リーダー Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 2

3.

⾃⼰紹介 鎌倉 和弘 Kazuhiro Kamakura CTO室 アプリ統括部 SDKCore リーダー CTO室 アプリ統括部 ←全社横断組織 Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 3

4.

アジェンダ • Yahoo! JAPANについて • 開発体制について • 様々な課題に対する全社横断組織について • 事例集 • まとめ Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 4

5.

Yahoo! JAPANのアプリについて Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 5

6.

Yahoo! JAPANのサービス 提供サービス数 100以上 ※出典:Yahoo! JAPAN Annual Report 2018 Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 6

7.

Yahoo! JAPANのアプリ ネイティブアプリも 50以上 ※ App store及び、Play storeで公開中のアプリ。両OS合計 Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 7

8.

開発体制について Copyright (C) 2019 Yahoo Japan Corporation. All Rights Copyright (C) 2019 Yahoo Japan Corporation. All Reserved. Rights Reserved.

9.

Yahoo! JAPANの開発体制 サービスごとにチームが分離 開発、運⽤など多くが権限移譲 Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 9

10.

それぞれの組織のエンジニア、デザイナー Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 10

11.

それぞれの組織のエンジニア、デザイナー 開発⼿法もそれぞれ別々 開発者数もサービスそれぞれで異なる Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 11

12.

メリット • サービスごとに柔軟な開発 • それぞれの判断で、スピーディーな開発 Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 12

13.

⼀⽅… • ノウハウがサービス内に閉じてしまう • 同じ課題を同じように踏んでしまう Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 13

14.

つまり • それぞれの事業部での連携はあるが、 現場では他のサービスがどういう⾵に 開発しているかなかなか⾒えづらい Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 14

15.

例えば • テストはどのくらい書いているんだろう • OSのサポートはどこまでしているんだろう • もっと良い⽅法はないのだろうか・・ Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 15

16.

そこで Copyright (C) 2019 Yahoo Japan Corporation. All Rights Copyright (C) 2019 Yahoo Japan Corporation. All Reserved. Rights Reserved.

17.

アプリの全社横断をする組織 全社横断組織 (CTO室アプリ統括部) Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 17

18.

アプリの全社横断組織 サービス横断チーム アプリWG SDK Core 業務の課題解決メイン (社内の様々な相談) 実際の開発メイン (課題の実装部隊) Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 18

19.

アプリの全社横断組織 サービス横断チーム(全員兼務) アプリWG アカウント管理や会社全体で Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 19

20.

アプリの全社横断組織 サービス横断チーム アプリWG 業務の課題解決メイン Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. + SDK Core 実際の開発メイン 20

21.

アプリの全社横断組織 各サービスのアプリ担当者から兼務で参加してもらい、 ヤフーのアプリ全体の課題解決を図るチームを結成 サービス横断チーム Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 21

22.

兼務で参加しているサービス ショッピング ヤフオク! 路線 GYAO MAP IDチーム 広告チーム など Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 22

23.

⿊帯の⽅も両OSとも参加 ヤフーには⿊帯制度という制度があり、 その⽅々も参加しています ⿊帯とは︓ 「該当分野について突出した知識とスキルを持っている第⼀⼈者」 iOSとAndroidでも各OS1⼈ずつ選出されています Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 23

24.

⿊帯の参加によって アプリ開発で悩んだ時にトップレベルの⼈にすぐに聞け、 開発が可能に 作るプロダクトもある⼀定以上の⽔準に︕ Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 24

25.

つまり 独⽴した組織ではあるのですが、 主務の⼈だけでトップダウンでやるのではなく 会社全体で⼀緒に課題解決をします ⼀緒に課題解決︕︕︕ Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 25

26.

開発場所(ペアプロエリア) Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 26

27.

開発⾵景 Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 27

28.

開発期間 Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 28

29.

リリース数 過去との⽐較 6 5 4 3 2 1 iOS Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 20 18 年 5月 4月 iOS 20 18 年 20 18 年 3月 20 18 年 2月 Androd 20 18 年 1月 月 20 17 年 12 11 月 20 17 年 20 17 年 10 月 0 Androd 29

30.

30 Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 20 20 20 20 20 17 … 17 … 17 … 17 … 17 … 17 … 16 年 … 16 年 … 20 20 20 16 … 16 … 16 … 16 … 16 … 16 … 16 … 16 年 … 20 20 20 20 20 20 20 16 … 16 … 15 年 … 15 年 … 20 20 15 … 15 年 … 20 20 20 20 20 残業時間 残業時間(h) LEAN XP開始 ■ iOSチーム 日付

31.

ペアプロによってお互いの 技術⼒もナレッジもUP Copyright (C) 2019 Yahoo Japan Corporation. All Rights Copyright (C) 2019 Yahoo Japan Corporation. All Reserved. Rights Reserved.

32.

卓球台 Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 32

33.

活動時間 • 開発は週4時間(週2時間 ✖ 2) • 1週間の約10% Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 33

34.

活動時間 • 開発は週4時間(週2時間 ✖ 2) • 1週間の約10% 週2回はまとまった時間を確保︕︕ Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 34

35.

どうやって 課題をキャッチアップ するのか︖︖ Copyright (C) 2019 Yahoo Japan Corporation. All Rights Copyright (C) 2019 Yahoo Japan Corporation. All Reserved. Rights Reserved.

36.

兼務で参加しているメンバー • 活動時間中に参加メンバー同⼠で 困っていることの共有 Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 36

37.

お問い合わせページ Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 37

38.

質問内容例 • APIの負荷相談 • 新技術の相談 • 課⾦系の相談 • ASO相談 など Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 38

39.

アプリまとめツール • ⾃動で課題を可視化するためのツールの開発も Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 39

40.

ツールで取れる値例 • クラッシュ率 • 開発者のコミット数 • 使⽤しているOSS • レーティング • サポートOS • アプリサイズ など Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 40

41.

⾃動でみれるメリット • SDK提供側が最低OSバージョンを各サービスに聞かな くて良い • 他サービスを⾒て⾔語の変更などが促進される Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 41

42.

事例 (3つ) Copyright (C) 2019 Yahoo Japan Corporation. All Rights Copyright (C) 2019 Yahoo Japan Corporation. All Reserved. Rights Reserved.

43.

事例1 • 同じ機能だけれど各サービスでそれぞれ開発を⾏ってい る(⾞輪の再発明) 機能A Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 機能Aʼ 機能Aʼʼ 機能Aʼʼʼ 43

44.

共通化できるライブラリを作成 • すでにあるSDK以外にも共通のライブラリを作成 機能A Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 44

45.

ただ、作っただけでは • 作って⼊れてくださいといっても実績がないSDKは 導⼊しづらい。。 Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 45

46.

そこで 既にサービスが導⼊済みのを全社⽤に改修 Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 46

47.

全社でも使えるように 他サービスでも使えるようにしました Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 47

48.

共通化ライブラリ 機能A(社内OSS) Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 48

49.

作成したライブラリ • アップデートSDK • 単体テスト⽤のモック • ABテストをしやすくする • ログイン周りの共通ライブラリ化など Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 49

50.

結果 • 新規で作るサービスでは低⼯数で機能追加できるように • 既存で作成してあるサービスはテストの追加などにより さらにブラッシュアップ︕ Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 50

51.

事例2 • 新しく発表された技術を使ってみたいけど、 リソースが⾜りない Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 51

52.

毎年技術の更新はありますが… Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 52

53.

実際は 期初に設定した 開発予定もあるので 発表されたばかりの機能を 急遽実装は難しい Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 53

54.

特に調査コストが・・ 出たばかりで 情報が少ない>< Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 54

55.

そこで • 社内のカンファレンスの参加者の取りまとめ • いち早く情報の収集、実装まで • 横断組織で⼀緒に開発 Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 55

56.

社内の参加者の取りまとめ • 社内のアプリのメンバーとお互いに情報 共有できるように • 特に現地では密に連絡を取り合う Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 56

57.

なぜ現地︖ • 動画は⽇本でも⾒れるし良いのでは︖ Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 57

58.

なぜ現地︖ • 動画は⽇本でも⾒れるし良いのでは︖ → 現地のエンジニアに疑問点をすぐに聞いて解消が できる →どこよりも早く機能を試せる Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 58

59.

実装できたら他のサービスにも共有 1つのサービスで出来たら それを共有して 調査コストを減らす Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 59

60.

他サービスだけれどもPR 他サービスでも連携してPRを送ります Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 60

61.

他サービスとの開発例 • OSの⾳声機能の追加 • ⾳声検索の追加 • アプリに機械学習の追加 • など Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 61

62.

結果 • 新しい知識を会社全体で共有しやすく • 調査のコストを減らし横連携で新しい機能を 実装が可能に • サービス側が忙しくても助け合って開発できるように Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 62

63.

事例3 • 主務の⽬標に対して直接的に コミットしないのは後回しになってしまう Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 63

64.

例えば • OSSでの還元 • 最新の⾔語対応 • テストの追加 • など Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 64

65.

そこで • OSSでの還元 →兼務の時間で社内SDKの社外OSS化対応 • 最新の⾔語対応 →⾃サービス以外のSDKの最新バージョンに変更 Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 65

66.

AppFeedback SDK 数⾏の実装でアプリ内からフィードバックを 投稿できる機能を追加できるライブラリ スクショや動画つきのフィードバックを Slack に投稿 Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 66

67.

元は社内で使用していたSDK 67 Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.

68.

AppFeedback SDK 両OSともOSSとして公開しています︕ iOS版 https://github.com/yahoojapan/AppFeedback-ios Android版 https://github.com/yahoojapan/AppFeedback-android Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 68

69.

まとめ • 週4時間決まった時間で 他サービスと⼀緒に開発は多くのメリットが︕ • トップダウンだけではなく、 ⼀緒に開発・成⻑︕︕ Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 69

70.

ご静聴ありがとう ございました Copyright (C) 2019 Yahoo Japan Corporation. All Rights Copyright (C) 2019 Yahoo Japan Corporation. All Reserved. Rights Reserved.