$30 off During Our Annual Pro Sale. View Details »

さぁ、フルサイクル開発をはじめよう / Let's Start Full Cycle Development

さぁ、フルサイクル開発をはじめよう / Let's Start Full Cycle Development

Developers Summit 2021 Summer (2021/07/30) の登壇資料です。
https://event.shoeisha.jp/devsumi/20210730/session/3240/

Masachika Yamaguchi

July 30, 2021
Tweet

Other Decks in Technology

Transcript

  1. ©2021 Mirai Translate, Inc. All Rights Reserved.
    さぁ、フルサイクル開発をはじめよう
    株式会社みらい翻訳 プラットフォーム部
    ⼭⼝ 真親
    2021.7.30
    Developers Summit 2021 Summer

    View Slide

  2. ©2021 Mirai Translate, Inc. All Rights Reserved.
    ⾃⼰紹介
    株式会社みらい翻訳
    プラットフォーム部 開発チーム
    エンジニアリングマネージャー
    ⼭⼝ 真親 (Masachika Yamaguchi)
    2
    ▶経歴
    SIerでキャリアをスタートし、事業会社でインフラエ
    ンジニアへキャリア移⾏。インフラを経験した後、開
    発マネジメントに携わる。
    2020年9⽉から現職、開発チームのEM。
    娘(5歳)、息⼦(4ヶ⽉)がワーキャー⾔ってる賑やかな
    ⾃宅でリモートワーク⽣活を楽しんでいます︕
    @catnapper_mar

    View Slide

  3. ©2021 Mirai Translate, Inc. All Rights Reserved.
    VISION
    Make machine translation the new lingua franca to bring new life
    and work style across different languages by 2028.
    (provide English native speakers' experience to the rest.)
    ⾔語の壁を超え、新しい⽣活と仕事の様式をもたらす
    共通語の機能を機械翻訳として2028年までに作る。
    (世界のすべての⼈々に英語を⺟国語とする⼈々と同じ体験を与える)

    View Slide

  4. ©2021 Mirai Translate, Inc. All Rights Reserved.
    企業向けクラウドAI⾃動翻訳 Mirai Translator®
    • ⾼い翻訳精度
    • TOEIC960点〜プロ翻訳者レベルの翻訳精度を誇る⾼精度な機械翻訳エンジン
    • ⾼いセキュリティ
    • ISO27017/ISO27001を取得
    • ⾦融機関、製薬会社および政府系機関などの厳しいセキュリティ要件にも対応
    • ユーザー視点でのUX
    • 誰もが使いやすいシンプルなUI、わかりやすいエフォートレスなUX
    • 3つの主要な機能
    • ⽂書の⽂字⾊・網掛けなどの装飾を保持したまま翻訳可能なファイル翻訳
    • 作業効率アップのためのカスタマイズ機能(⽂体、ユーザー辞書)
    • ビジネス利⽤のためのユーザー/プロファイル管理機能
    4
    サービス紹介

    View Slide

  5. ©2021 Mirai Translate, Inc. All Rights Reserved.
    今⽇お話しすること
    • フルサイクル開発との出会い
    • フルサイクル開発とは
    • みらい翻訳はなぜフルサイクル開発をやろうと思ったのか
    • 今取り組み始めている課題
    • 取り組んでみてわかったこと
    5

    View Slide

  6. ©2021 Mirai Translate, Inc. All Rights Reserved. 6
    フルサイクル開発との出会い

    View Slide

  7. ©2021 Mirai Translate, Inc. All Rights Reserved.
    ある⽇の社内MTGでのCTOの⼀⾔
    7
    「今⽇から皆さん、フルサイクルエンジニアです」

    View Slide

  8. ©2021 Mirai Translate, Inc. All Rights Reserved.
    フルサイクルエンジニアって何︖
    • フルスタックの間違い︖
    • みんな知ってるの︖流⾏ってるの︖
    • 今⽇からなれるの︖
    どうやら「フルサイクル開発」というものがあるらしい
    8

    View Slide

  9. ©2021 Mirai Translate, Inc. All Rights Reserved. 9
    フルサイクル開発とは

    View Slide

  10. ©2021 Mirai Translate, Inc. All Rights Reserved.
    フルサイクル開発とは
    Netflixで提唱された “Full Cycle Developers” に由来
    10
    【出典&参考】
    “Full Cycle Developers at Netflix ̶ Operate What You Build” https://netflixtechblog.com/full-cycle-developers-at-netflix-a08c31f83249
    (⽇本語訳︓”Netflixにおけるフルサイクル開発者―開発したものが運⽤する” https://techlog.voyagegroup.com/entry/2019/02/04/171325)
    • ⾃分たちで開発したものを⾃分たちで運⽤する
    • システムを開発するチーム(Dev)が運⽤とサポート
    (Ops)にも責任を持つ
    • DevOpsがDevとOpsとの歩み寄りにより実現する
    のに対し、フルサイクル開発はDevチームで完結す
    るモデル
    • 開発チームが学習とフィードバックループの恩恵
    を直接受けられる

    View Slide

  11. ©2021 Mirai Translate, Inc. All Rights Reserved.
    ⼀番気になっていたこと
    11

    View Slide

  12. ©2021 Mirai Translate, Inc. All Rights Reserved.
    サポート
    運⽤
    デプロイ
    フルサイクルに求められる範囲とは
    • フルスタック︓技術レイヤーの上から下までカバー
    • フルサイクル︓ソフトウェア開発ライフサイクルの全プロセスをカバー
    12
    テスト
    実装
    設計
    要件定義
    フロント
    エンド
    バックエ
    ンド
    インフラ

    View Slide

  13. ©2021 Mirai Translate, Inc. All Rights Reserved.
    サポート
    運⽤
    デプロイ
    フルサイクルに求められる範囲とは
    • フルスタック︓技術レイヤーの上から下までカバー
    • フルサイクル︓ソフトウェア開発ライフサイクルの全プロセスをカバー
    13
    テスト
    実装
    設計
    要件定義
    フロント
    エンド
    バックエ
    ンド
    インフラ
    フルスタック

    View Slide

  14. ©2021 Mirai Translate, Inc. All Rights Reserved.
    サポート
    運⽤
    デプロイ
    フルサイクルに求められる範囲とは
    • フルスタック︓技術レイヤーの上から下までカバー
    • フルサイクル︓ソフトウェア開発ライフサイクルの全プロセスをカバー
    14
    テスト
    実装
    設計
    要件定義
    フロント
    エンド
    バックエ
    ンド
    インフラ
    フルスタック
    フルサイクル・・・︕︖

    View Slide

  15. ©2021 Mirai Translate, Inc. All Rights Reserved.
    いやいや
    ちょっと待て、それは無理
    15

    View Slide

  16. ©2021 Mirai Translate, Inc. All Rights Reserved.
    教えて偉い⼈
    Netflixによると、
    ʮϑϧαΠΫϧ։ൃऀ͸ιϑτ΢ΣΞϥΠϑαΠΫϧͷશͯͷ෼
    ໺ʹ͓͍ͯ஌͕ࣝ͋ΓޮՌతͰ͋Δ͜ͱ͕ظ଴͞ΕΔɻʯ
    としているが、実際にNetflixが到達したモデルは
    ʮઃܭɺ։ൃɺςετɺσϓϩΠɺӡ༻ɺαϙʔτͱ͍ͬͨϑ
    ϧιϑτ΢ΣΞϥΠϑαΠΫϧ΁ͷ੹೚Λ࣋ͭ։ൃνʔϜ
    ͩɻʯ
    16
    【出典&参考】
    “Full Cycle Developers at Netflix ̶ Operate What You Build” https://netflixtechblog.com/full-cycle-developers-at-netflix-a08c31f83249
    (⽇本語訳︓”Netflixにおけるフルサイクル開発者―開発したものが運⽤する” https://techlog.voyagegroup.com/entry/2019/02/04/171325)

    View Slide

  17. ©2021 Mirai Translate, Inc. All Rights Reserved.
    フルスタックでなくて良い︕(よかった)
    つまり必ずしも個⼈でフルサイクルを担う必要はない。
    重要なのはチームでフルサイクルを回せること
    17

    View Slide

  18. ©2021 Mirai Translate, Inc. All Rights Reserved. 18
    みらい翻訳はなぜフルサイクル開発をやろうと
    思ったのか

    View Slide

  19. ©2021 Mirai Translate, Inc. All Rights Reserved.
    プロダクトの急成⻑
    • ここ2年ほどで急速にサービスが売れるようになった
    • セールスからの要望が増えた
    • ユーザーフィードバックも多くいただくようになった
    • 要望・フィードバックをもとに開発を加速させたい
    • ⾃律的な開発チームを作りたい
    フルサイクル開発を⽬指すきっかけ
    19

    View Slide

  20. ©2021 Mirai Translate, Inc. All Rights Reserved.
    現場︓DevとOpsの分断
    Øリリースをインフラチームに依頼していた
    • 通信キャリア並のガチ品質を求める⽂化
    • ガチガチのマニュアル⼿順による作業(⼿順で守るしかない)
    • 膨⼤な⼿順書作成と厳重なチェック
    • 重厚なプロセスを踏むためリリースまで約1ヶ⽉
    求めるスピード感とのギャップが⼤きすぎる
    20

    View Slide

  21. ©2021 Mirai Translate, Inc. All Rights Reserved.
    問題解決のために始めたこと
    Øリリースを開発チームに移管
    • SREチームを結成
    • リリースの各プロセスを整理
    • ⼩さな変更は⼿順を定型化、レビューも簡潔に
    21
    【効果】
    • リリースまでの期間︓1ヶ⽉ → 最短1週間程度
    • リリースのハードルが下がった
    • 開発状況、スコープに合わせてリリース⽇程を分ける選択肢も
    • 現在もブランチの最適化、作業の⾃動化等をSRE中⼼に整備中

    View Slide

  22. ©2021 Mirai Translate, Inc. All Rights Reserved.
    さて改善はできた、が
    これはみらい翻訳にとっては確実な⼀歩
    だが、まだ「Devがリリースをする」状態になっただけ
    フルサイクル開発と⾔うには解決すべき課題は他にもたくさんある
    22

    View Slide

  23. ©2021 Mirai Translate, Inc. All Rights Reserved. 23
    今取り組み始めている課題

    View Slide

  24. ©2021 Mirai Translate, Inc. All Rights Reserved.
    課題は⼭積み
    1.DevとQAの分断
    2.開発チームの負担増⼤
    3.最上流と最下流へのアプローチ
    フルサイクルへの道は険しい…
    24

    View Slide

  25. ©2021 Mirai Translate, Inc. All Rights Reserved.
    1. DevとQAの分断
    ØDev-QAの依頼関係によるQA⻑期化
    • QAチームへの伝達コスト
    • QAで問題が発⽣した場合の⼿戻りが⼤きい
    設計 実装 テスト
    QA
    (回帰テスト等)
    開発
    仕様説明、テスト設計/
    結果の説明
    問題発⽣時⼿戻り
    リリース

    View Slide

  26. ©2021 Mirai Translate, Inc. All Rights Reserved.
    1. DevとQAの分断(取り組み)
    26
    Ø開発プロセスにQAを融合
    • QAメンバーを開発チームの⼀員に
    • 開発初期からテスト観点レビューとE2E⾃動化を実施
    • 伝達コストと⼿戻りのリスクを削減
    設計 実装 テスト
    QA
    (回帰テスト等)
    開発
    リリース
    QA(レビュー, E2E⾃動化)

    View Slide

  27. ©2021 Mirai Translate, Inc. All Rights Reserved.
    2. 開発チームの負担増⼤
    Øリリースばかりやってる
    • リリース作業に⼿作業、確認作業が多い
    • 共有リソースに起因したリリース順序の調整、変更の取り込み
    • ビジネス側と開発側のリリース⽇程調整が難航
    27
    リリース作業カレンダー

    View Slide

  28. ©2021 Mirai Translate, Inc. All Rights Reserved.
    2. 開発チームの負担増⼤(取り組み)
    28
    Øモノリシックアーキテクチャの刷新、マイクロサービス化
    • 業務スコープを⼩さく分離して他チームに影響しないように
    • スコープが明確なチームはうまく回りやすい
    Øデプロイとリリースの分離
    • Feature Flagsの仕組みを使いデプロイをリリース⽇の前に実施可
    能にする
    Feature Flagsの仕組み

    View Slide

  29. ©2021 Mirai Translate, Inc. All Rights Reserved.
    3. 最上流と最下流へのアプローチ
    ØPdMとサポートがチーム外に居る
    • PdMチームが別に存在し複数開発チームを兼務
    • 開発が要件定義を待つ、開発視点のレビューで⼿戻り
    • 開発とサポートの情報格差による回答速度、コミュニケーションコスト
    29
    PdM 開発 サポート
    サポート
    運⽤
    デプロイ
    テスト
    実装
    設計
    要件定義

    View Slide

  30. ©2021 Mirai Translate, Inc. All Rights Reserved.
    3. 最上流と最下流へのアプローチ(取り組み)
    30
    Ø開発チーム内にPdMを配置
    • PdM(PO)を中⼼とした⾃律的なチームの構築
    • エンジニアも企画・要件定義を⾏う
    Ø開発チーム内でサポート対応も⾏う︖
    • サポート担当をチームの⼀員にして連携強化
    • AI機械翻訳のノウハウを活かせないか(妄想)
    ⼀部のチームでは取り組みが出来つつある

    View Slide

  31. ©2021 Mirai Translate, Inc. All Rights Reserved. 31
    フルサイクル開発に取り組んでみて思ったこと

    View Slide

  32. ©2021 Mirai Translate, Inc. All Rights Reserved.
    どうすればフルサイクル開発になるのか︖
    • 各課題はフルサイクル開発を意識しなくても直⾯するものでは︖
    • 課題に対して、開発サイクルを早く回すためにチームとしてできるこ
    とを増やしていく、という⽅針がフルサイクル開発につながっている
    • 業務/機能スコープを明確にするのは⼤事
    • Netflixと同じレベルでやろうとしなくてもよい
    • 考え⽅を理解した上でチームに合ったフルサイクル開発の形を作って
    いければよい
    32

    View Slide

  33. ©2021 Mirai Translate, Inc. All Rights Reserved.
    ところで
    フルサイクルエンジニアに任命されてだいぶ経ちますが
    今⽇もフルサイクル開発チームを絶賛構築中です
    33

    View Slide

  34. ©2021 Mirai Translate, Inc. All Rights Reserved.
    同じような課題を抱えている⽅々に向けて
    あなたのチームでも
    フルサイクル開発、やってみませんか︖
    ⼀緒に挑戦しましょう︕
    34

    View Slide

  35. ©2021 Mirai Translate, Inc. All Rights Reserved. 35
    ご清聴ありがとうございました

    View Slide