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

チームでモデリングを育てるうえで 考えたこと・気づいたこと / Cultivating Mod...

チームでモデリングを育てるうえで 考えたこと・気づいたこと / Cultivating Modeling in Teams: Thoughts and Insights

2024年03月24日に開かれた Object-Oriented Conference 2024 での発表資料です。

日時:2024/03/24 13:30〜
会場:Track E(共1-304)

【トーク概要】
https://fortee.jp/oocon-2024/proposal/9d03d0b4-62af-497f-b02e-ad0e09e616c9

【イベント connpass ページ】
https://ooc.connpass.com/event/305241/

【OOC 公式サイト】
https://ooc.dev/2024/

mackey0225

March 24, 2024

Transcript

68 slides
  1. チームでモデリングを育てるうえで考えたこと・気づいたこと 育てるために考えたこと 5W1H に沿って考えた When Where Who What Why How

    対象を「どの形式で」管理するか 「どこで保管・管理」するか 「どのタイミング」で作成・更新するか 「誰が」作成・更新するか 「なぜ」行うのか 「どのような運用・手順で」行うのか
  2. チームでモデリングを育てるうえで考えたこと・気づいたこと Why - なぜ行うのか 前提に立ち返って、何のために育てるのかは明文化する • 複数人で意思を統一させる • 手段と目的の逆転に気づく •

    定期的に活動を振り返り、「向き直り」を図る 自分・あなたがいなくなっても、モデル図は生き続ける 目的を見失うと、すぐに破綻する
  3. チームでモデリングを育てるうえで考えたこと・気づいたこと When/How - どのタイミングでどう更新するか • 定期:一定期間ごとに見直す ▪ 個人ワーク / モブワーク

    / スプリントレビュー • 不定期:日々の開発スプリント内で見直す ▪ 改修時のプルリクエスト ▪ ソースコードから生成(cf. JIG)
  4. チームでモデリングを育てるうえで考えたこと・気づいたこと When/How - どのタイミングでどう更新するか • 定期:一定期間ごとに見直す ▪ 個人ワーク / モブワーク

    / スプリントレビュー • 不定期:日々の開発スプリント内で見直す ▪ 改修時のプルリクエスト ▪ ソースコードから生成(cf. JIG) メンテナンスにかかるコストと負荷が 目的(Why)に見合っているかを考慮する
  5. チームでモデリングを育てるうえで考えたこと・気づいたこと Where/What - どこにどの形式で管理するか(1) • フォーマットと管理場所は強い結びつきがある ▪ draw.io ↔ Google

    Drive / Notion ↔ Mermaid • 学習コストや保守性も考慮 ▪ PlantUML や Mermaid は開発組織外だとつらい ▪ GUI か、テキストベースか ▪ 版管理ができるか(Git管理、ツールの機能)
  6. チームでモデリングを育てるうえで考えたこと・気づいたこと Where/What - どこにどの形式で管理するか(2) • 将来的な人数も考慮 ▪ 同期方法の有無 ▪ 同時接続の可否

    ▪ 費用面、ライセンス管理の負荷 メンバーと運用タイミングに応じて選択する 学習コストや将来的な負荷も加味しておく
  7. チームでモデリングを育てるうえで考えたこと・気づいたこと 課題 • リソースの確保 ▪ モブワークで定期的に工数が必要 ▪ 開発の優先度と調整になる • コストメリットがまだ出ない

    ▪ モデル図だけではサービスへの還元にはならない ▪ 顧客課題がすこしでも早く解決するにはまだ先 • あるべき姿の見直し ▪ まだそこまでたどり着けていない
  8. チームでモデリングを育てるうえで考えたこと・気づいたこと まとめ • Why(目的)から始める • Who が決まれば、方法や手段が決まる • 運用設計でも MVP

    の考えは有用 • リファクタリングに近い副次効果がある • 運用する際は努力ではなく仕組み化を考える • ドキュメントも負債、バランスが重要

More Decks by mackey0225

Other Decks in Programming