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

不確実性に立ち向かう、開発組織カルチャー

Avatar for ruwatana ruwatana
November 16, 2023

 不確実性に立ち向かう、開発組織カルチャー

【for Engineer】複雑性に立ち向かうプロダクト開発の挑戦 - connpass
LT #4:不確実性に立ち向かう、開発組織カルチャー
https://gaudiy.connpass.com/event/299887/

Avatar for ruwatana

ruwatana

November 16, 2023
Tweet

Other Decks in Technology

Transcript

  1. 👀 数字で⾒るGaudiyのエンジニア組織 • エンジニア在籍⼈数: 24名 • プロダクト開発チーム数: 5 + 1

    各チームにエンジニア3~5名が在籍 Feature Team 1 特定IP特化 Feature Team 2 特定IP特化 Feature Team 3 エンハンス / 運⽤ Feature Team 4 ブロックチェーン Feature Team 5 カジュアルゲーム Enabling Team 基盤開発運⽤ 2
  2. 󰞵 Feature Teamのエンジニアの特性 • Feature(機能)の実現に必要なあらゆることを個⼈/チームで完結できる = フルサイクルエンジニア (※ Full Cycle

    Developers at Netflix より) 仕様要件の 検討 / レビュー アーキテクチャ コーディング QA リリース 保守‧運⽤ バグ対応 / 改善 etc… ※ 出典: https://netflixtechblog.com/full-cycle-developers-at-netflix-a08c31f83249 5
  3. 🔄 Feature開発における主な開発フロー 1. アーキテクチャ/データモデリング設計(& チーム外レビュー) 2. スキーマ駆動開発 (GraphQL / gRPC)

    3. Frontend / BFF / Backendのロジック実装 4. 動作確認/コードレビュー 5. テスト環境でデイリーQA 6. 翌朝リリース 7 Keyword ‧Monorepo構成 ‧フィーチャーフラグ ‧トランクベース開発
  4. 👉 仕様や要件に対する反証や提案も⼤事! • その仕様を本当にユーザが必要としているか? • こうした⽅がより良い価値が提供できるのではないか? • IP特化の仕様ではなく汎⽤的にできる余地はないか? • ⼩さく分割して検証できる余地はないか?

    • 既存のドメインと衝突しそうなので、あまり使われていないこの機能はつい でに捨てられないか? • 今後も考えるとまずはこの技術的負債を解消してからにしたい • etc... 9
  5. 🤔 Why フルサイクルエンジニア? • 価値提供のデリバリーを“最速”で⾏うため ◦ 承認フローが最⼩になる ▪ Product ManagerやDesignerもワンチーム

    ◦ 属⼈化による待ちタスクが発⽣しなくなる ▪ FE専⾨/BE専⾨がいるとお互いに助け合えなくなる ▪ もしかするとFE or BEしか触らない要件の場合もありうる ◦ コンテキストの集中と集合知の共有がしやすい ▪ コンテキストスイッチが不要で⼀つのことに集中しやすい ※ https://note.gaudiy.com/n/n3a9d9f59191d 11
  6. 🧘 フルサイクルエンジニアに必要なスキル/マインド • “フルスタック” でなく“フルサイクル” ◦ エンジニアリングは「技術」だけではない • 必要とあらば柔軟に役割を変化できる ◦

    PdMやScM的な動きをしてチームに貢献するメンバーも少なくない • 不確実性やピンチを楽しみながら乗り越えられる ◦ 「たのピンチ」というGaudiyの⾏動規範(クレド)も ※ • 好き/嫌いや得意/苦⼿はあれどなんでも主体的にやる姿勢 ◦ 「FEしか知らないからBEは任せた」でなく「BEもできるようになる」が⼤事 ◦ 「決まった要件を実装する」でなく「最⼩⼯数で最⼤アウトカム達成」を常に疑う • 仲間や組織のためにサポート的な動きができる ◦ チームメンバーの底上げがチーム⼒向上に繋がる ◦ 「個」の⼒だけでなく「集」の⼒ ※ https://note.gaudiy.com/n/n3a9d9f59191d 12
  7. ✨ Gaudiyの現在 🙆 GOOD • 様々な企業とコラボレーションができている • Web3スタートアップ企業として注⽬されている • 順調に組織がスケールしてきている

    🙅 MORE • プロダクトや売上が爆発的に伸びているわけではない • 何が真にマーケットフィットしていくかが不確実 13
  8. 🤝 Agility and Quality 16 Agility • いかに素早く仮説検証‧価値提供を回せるか • 最⼩のアウトプットを常に⼼がけ、最⼤のアウトカムを

    Quality • 仮説や価値の質をどれだけデリバリー前に上げられるか • 負債化や複雑化しにくい要件/実装で実現ができるか • バグやデグレが起きない状態でデリバリーできるか • 問題が発⽣しても早期に解決ができるか
  9. • 使われてない/価値のない機能をそのままにしない ◦ 「機能は負債である」 by Ward Cunningham ◦ エンジニアから提案をあげていく •

    毎週⽔曜のEmpower-Day ※を活⽤する ◦ 普段の業務で中々できないことをやる⽇ ◦ 負債の解消や未来への技術投資を • 時には現在の業務を⼀時的に⽌めてでも ◦ 例) 2023.03: 約1ヶ⽉間でシステムをマルチテナントへ完全移⾏ ▪ 開発体験も運⽤⼯数も⼤幅に改善 💵 技術負債や複雑性をしっかり解消しきる 18 ※ https://note.com/abe_hr/n/n9a516c2163f8
  10. 👥 ペア/モブプログラミングの活⽤ 19 • 期待する効果 ◦ 共有知を増やしフルスタック⼈材を育成 ◦ コンテキスト集中と分散防⽌ ◦

    ⼿詰まりや⼿戻りを未然に防ぐ ◦ 新参者の⼼理的安全性担保 • ツールも有効活⽤ ◦ Visual Studio CodeのLive Share機能 ◦ Slackのハドルミーティング常時接続 ◦ GitHub CopilotなどのAIツールも駆使
  11. 📊 品質へのアプローチ(WIP) • すべてはユーザーに安⼼して使っていただくために • IPの信頼を裏切らないように • バグの未然防⽌、課題の早期発⾒‧早期復旧を徹底 ◦ テストカバレッジやチームQAの質の向上

    ◦ メトリクス監視やアラーティングの改善 ◦ 障害対応タスクフォースによる優先度とアサインの切り分け ◦ 緊急対応時のマニュアル策定 20