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

緩やかに死んでいくシステム / You won't be in the team forever

緩やかに死んでいくシステム / You won't be in the team forever

Talked at Cloud Native Lounge #2「クラウドネイティブなシステムの継続的改善と企業文化」.

https://forkwell.connpass.com/event/215798/

Tori Hara
PRO

June 30, 2021
Tweet

More Decks by Tori Hara

Other Decks in Technology

Transcript

  1. twitter.com/toricls
    緩やかに死んでいくシステム
    Tori


    June. 30, 2021

    View Slide

  2. twitter.com/toricls
    Tori Hara /


    Sr. Product Developer Advocate


    Elastic Containers, AWS


    ❤ AWS Fargate, AWS App Runer, AWS Lambda
    toricls
    New!

    View Slide

  3. twitter.com/toricls
    https://speakerdeck.com/toricls/for-whom-that-platform-runs
    https://speakerdeck.com/toricls/the-debt
    Mar. 12, 2021
    Sep. 9, 2020

    View Slide

  4. twitter.com/toricls
    システムの継続的改善

    View Slide

  5. twitter.com/toricls
    なぜシステムを改善していくのか
    実装当時に最適解と考えられたものが
    時間の経過とともに
    最適とは評価され得なくなるから
    https://speakerdeck.com/toricls/the-debt

    View Slide

  6. twitter.com/toricls
    『時間の経過』がもたらすもの
    ▶︎
    ビジネスを取り巻く状況の変化
    ▶︎
    ⾃⾝の持つ知識や理解、洞察⼒の深化
    ▶︎
    システムに関わる組織・チームの規模や役割の変化
    ▶︎
    テクノロジの進歩や進化、新たな技術的選択肢の登場
    https://speakerdeck.com/toricls/the-debt

    View Slide

  7. twitter.com/toricls
    『時間の経過』がもたらすもの
    ▶︎
    ビジネスを取り巻く状況の変化
    ▶︎
    ⾃⾝の持つ知識や理解、洞察⼒の深化
    ▶︎
    システムに関わる組織・チームの規模や役割の変化
    ▶︎
    テクノロジの進歩や進化、新たな技術的選択肢の登場
    →『最適』が変化していくから、継続的改善が必要
    https://speakerdeck.com/toricls/the-debt

    View Slide

  8. twitter.com/toricls
    システムの継続的改善可能性と容易性

    View Slide

  9. twitter.com/toricls
    システムの継続的改善可能性と容易性
    ▶︎
    ビジネスが⾦を稼いでいる、あるいは稼ぎそうである
    ▶︎
    適切な戦略に基づく優先順位
    ▶︎
    疎結合なビルディング・ブロックの組み合わせ
    ≒ システム構成要素の⼊れ替え・追加可能性と容易性
    ↔︎
    フルスクラッチ💸
    ▶︎ etc., etc.

    View Slide

  10. twitter.com/toricls
    『⼈間による』システムの継続的改善可能性
    ▶︎
    継続的改善の必要性を理解するリーダー層
    ▶︎
    ステークホルダのシステムへのオーナーシップ
    ▶︎
    適切な粒度のゴール設定と効果測定、やり切る⼼
    ▶︎
    そのシステムのアーキテクチャ(とビジネスドメイン)への知⾒
    ▶︎
    AWS を使っているなら AWS 各サービスへの知⾒も
    ▶︎ etc., etc.

    View Slide

  11. twitter.com/toricls
    『⼈間による』システムの継続的改善可能性
    ▶︎
    継続的改善の必要性を理解するリーダー層
    ▶︎
    ステークホルダのシステムへのオーナーシップ
    ▶︎
    適切な粒度のゴール設定と効果測定、やり切る⼼
    ▶︎
    そのシステムのアーキテクチャ(とビジネスドメイン)への知⾒
    ▶︎
    AWS を使っているなら AWS 各サービスへの知⾒も
    ▶︎ etc., etc.

    View Slide

  12. twitter.com/toricls
    “今⽇から新しい会社で働くことになりました!”



    View Slide

  13. twitter.com/toricls
    今⽇から新しい会社で働くあなた
    🙋
    ユーザー
    🕵
    リクエスト
    レスポンス
    謎の⼒

    View Slide

  14. twitter.com/toricls
    🕵
    今⽇から新しい会社で働くあなた
    🙋
    ユーザー
    リクエスト
    レスポンス
    謎の⼒
    Needs to be a “Detective”
    🕵
    ▶︎
    ⻑⽼への(度重なる)ヒアリング
    ▶︎
    コードの読み込み
    ▶︎
    (もしあれば)過去イシューやプルリクからの解きほぐし
    ▶︎
    (もしあれば)過去の障害情報や対応履歴からの解きほぐし
    ▶︎ etc., etc.

    View Slide

  15. twitter.com/toricls
    継続的な改善を殺すもの

    View Slide

  16. twitter.com/toricls
    継続的な改善を殺すもの (の⼀例)
    ▶︎
    主体的思考の⽋如と緩慢なオーナーシップ
    ▶︎
    「そうなっている理由」を説明できない
    ▶︎
    e.g. 事情もサイズも能⼒も違うキラキラ他社事例を鵜呑みにしたコピー
    ▶︎
    肥⼤化した組織やチームによる緩慢かつ遅い(あるいは存在しない)意思決定
    ▶︎
    チーム開発意識の⽋如
    ▶︎
    永遠に⾃分が開発・運⽤することが前提になってはいませんか
    ▶︎
    個⼈で開発しているつもりになってはいませんか
    ▶︎
    組織内で知⾒の共有ではなく、安易に “Wrap” していませんか
    ▶︎
    ⻑⽼だけが知るシステム全体概要と退職・異動済みの⻑⽼たち
    ▶︎ etc., etc.

    View Slide

  17. twitter.com/toricls
    継続的な改善を⽌めないために

    View Slide

  18. twitter.com/toricls
    継続的な改善を⽌めないために at AWS
    ▶︎
    組織のスピードとスケーラビリティ
    ▶︎
    チームを⼩さく保つ / 2-pizza team
    ▶︎
    チーム内あるいは他チームとの依存関係を減らし、各チームが
    主体的かつ迅速に意思決定と改善を⾏うことを可能にする
    (≒マイクロサービス)
    ▶︎
    デザインドキュメント
    ▶︎ etc., etc.

    View Slide

  19. twitter.com/toricls
    デザインドキュメント - Amazon ECS アーキテクチャ全体概要

    View Slide

  20. twitter.com/toricls
    デザインドキュメント - Amazon ECS Exec

    View Slide

  21. twitter.com/toricls
    なぜデザインドキュメントを書き、更新していくのか at AWS
    ▶︎
    改善の適切なアプローチを最短パスで発⾒するため
    ▶︎
    既存システムや仕組みがなぜそうなっているのか?を理解せずに適切なアプローチでの改善は
    難しい
    ▶︎
    ⻑⽼への不必要な依存度を減らし、⾃律的に改善タスクを進めたい
    ▶︎
    コードから分からないことの情報としての重要性
    ▶︎
    (そもそも)初期デザイン時に適切なレビューを実施するため
    ▶︎
    コラム: AWS における Principal Engineer の役割
    ▶︎
    e.g. 2019 年 CloudWatch での⽉あたりの観測メトリクス 1,000 兆、イベントのトリガー 3.9 兆、
    受け取りログ 100 ペタバイト

    View Slide

  22. twitter.com/toricls
    デザインドキュメントに何を書くか

    View Slide

  23. twitter.com/toricls
    デザインドキュメントの項⽬例
    ▶︎
    プロダクト開発・機能開発・改善の背景
    ▶︎
    課題は何か = 何を解決するのか
    ▶︎
    システムの技術的全体概要やアーキテクチャー図
    ▶︎
    スコープ
    ▶︎
    ⽤語集
    ▶︎
    選定した解決⼿段について
    ▶︎
    選定の根拠、トレードオフ
    ▶︎
    詳細なアーキテクチャー図など
    ▶︎
    PoC の内容と結果
    ▶︎
    選定しなかった解決⼿段 x N について
    ▶︎
    ⼿段の概要と不採⽤の根拠
    ▶︎
    外部依存の概要
    ▶︎
    機能そのもの、解決⼿段についてセキュリティ観点
    からの考察
    ▶︎
    現時点で考えられるリスク x N
    ▶︎
    リスクの概要
    ▶︎
    考えられるリスクへの対応策
    ▶︎
    現時点で対応策をとらない理由
    ▶︎
    テスト観点からの考察
    ▶︎
    運⽤観点からの考察
    ▶︎ References


    ▶︎ etc., etc.

    View Slide

  24. twitter.com/toricls
    デザインドキュメントの項⽬例
    ▶︎
    プロダクト開発・機能開発・改善の背景
    ▶︎
    課題は何か = 何を解決するのか
    ▶︎
    システムの技術的全体概要やアーキテクチャー図
    ▶︎
    スコープ
    ▶︎
    ⽤語集
    ▶︎
    選定した解決⼿段について
    ▶︎
    選定の根拠、トレードオフ
    ▶︎
    詳細なアーキテクチャー図など
    ▶︎
    PoC の内容と結果
    ▶︎
    選定しなかった解決⼿段 x N について
    ▶︎
    ⼿段の概要と不採⽤の根拠
    ▶︎
    外部依存の概要
    ▶︎
    機能そのもの、解決⼿段についてセキュリティ観点
    からの考察
    ▶︎
    現時点で考えられるリスク x N
    ▶︎
    リスクの概要
    ▶︎
    考えられるリスクへの対応策
    ▶︎
    現時点で対応策をとらない理由
    ▶︎
    テスト観点からの考察
    ▶︎
    運⽤観点からの考察
    ▶︎ References


    ▶︎ etc., etc.

    View Slide

  25. twitter.com/toricls
    このセッションでは、システムの継続的改善を殺すものとして
    主に「ドキュメンテーションの⽋如」に⾔及しました

    View Slide

  26. twitter.com/toricls
    『継続的に改善できる』システムにしていくために
    いま着⼿すべきことは何か?
    あらためて、考えてはみませんか?
    \ thank you
    🙌
    /

    View Slide