🐥⾃律可能なチーム、オーナーシップ
▌現状はアプリケーションに境界がなく、判断が全体に及ぶ
n コストやリスクが⾼く、誰もそんな判断はやりたくない
▌チーム、アプリケーション単位で分割し影響範囲で明確に
n チームの中で意思決定可能な状態にする
n チームの中に決断するために必要な⼈がいる状態を⽬指す
Slide 16
Slide 16 text
🐥⾃律可能なチーム、オーナーシップ
▌チームを超えた Contribution
n ⾃律 ≠ サイロ化
n チームは Contribution を受け⼊れられる体制を整備する必要があ
る
n チームを超えたコミュニケーションを推奨する⽂化づくり
n 社内だけでなく社外に対してもオープンに
今回で最もチャレンジングな部分の⼀つ
🤸我々は失敗する、挑戦しないと失敗しない
▌影響範囲を⼩さくすることで、失敗した場合の影響範囲も⼩さくなり、リ
カバリも可能になる
n ⻑期にわたって正しいと⾔える選択をすることは難しい
n 短期的には正しかった選択が後々の状況の変化で最適ではなかった
ということも起こる
▌失敗という経験はチームにとって貴重な経験であり、多くの⼈の糧になる
n 参考: 我々はいかにして技術選択を間違えたのか︖ 2016 - Cybozu Inside Out | サイボウ
ズエンジニアのブログ
Slide 20
Slide 20 text
🌏Web は変化を続けるプラットフォーム
▌⾃分たちは変わらなくても、周りの状況は変化し続ける
n Cookie の SameSite=Lax, UserAgent, Referrer-Policy
n Service Workers, Web Components
n SPA, SSR, Dark Theme
▌それに伴いユーザーの体験は変化を続けており、変化に対応できる状態
にすることは必須
n 変わらない ≠ 利⽤者のユーザー体験が変わらない
Slide 21
Slide 21 text
⏳最適解は常に変化する
▌プロダクトやチームも変化していく。そのため、最適な状態も変化していく
▌最適なチームの単位や責務も変化していく
n チームの単位や責任範囲も柔軟に定義できることで常に最適な状態
を⽬指せるようにする
n → チーム単位での Monorepo 構成
Slide 22
Slide 22 text
❓FAQ
Slide 23
Slide 23 text
各チームが⾃由に作るということで、プロダクトにおいて
⼀貫性を保つことが難しくなりませんか︖
Slide 24
Slide 24 text
🥷横断的な関⼼毎に対してオーナーシップを持つチーム
▌チーム・アプリケーション横断の関⼼毎は存在するため、そのためのチーム
を作る
n ユーザー体験を最⾼にするチーム
n ⾃律的な開発を実現するためのプラットフォームを作るチーム
▌これらのチームとアプリケーション開発チームは、相互に Contribution
を⾏う必要がある