Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
技術的負債の返却をスクラムで: 会計SaaSの開発チームの挑戦の軌跡
Search
okeicalm
June 25, 2024
0
310
技術的負債の返却をスクラムで: 会計SaaSの開発チームの挑戦の軌跡
Scrum Fest Osaka 2024の登壇資料です。
okeicalm
June 25, 2024
Tweet
Share
More Decks by okeicalm
See All by okeicalm
プロダクトチームが挑むユーザー価値の計測と開発生産性
okeicalm
1
190
マネーフォワード関西開発拠点の SREの始まりと今と未来
okeicalm
0
24
複数のスクラムチームをサポートするエンジニアリングマネジメントの話
okeicalm
0
3.4k
マテリアルデザインガイドライン輪読会#1 - Components(button) -
okeicalm
0
600
マテリアルデザインガイドライン輪読会#1 - Material Design -
okeicalm
0
700
Featured
See All Featured
Testing 201, or: Great Expectations
jmmastey
42
7.5k
How to Think Like a Performance Engineer
csswizardry
23
1.6k
Thoughts on Productivity
jonyablonski
69
4.6k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
49k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
8
700
Building Adaptive Systems
keathley
41
2.5k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.4k
Music & Morning Musume
bryan
47
6.5k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
357
30k
Building Flexible Design Systems
yeseniaperezcruz
329
39k
Faster Mobile Websites
deanohume
307
31k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
137
33k
Transcript
スライドトップと してご利用ください マネーフォワード事業本部 山田 太郎 © Money
Forward, Inc. 技術的負債の返却をスクラムで 会計SaaSの開発チームの挑戦の軌跡 株式会社マネーフォワード 大阪開発拠点長 大倉 圭介 © Money Forward, Inc.
Money Forward Engineering Manager 大阪開発拠点長 大倉 圭介 (@okeicalm) ©
Money Forward, Inc.
© Money Forward, Inc. スクラムと私 • 前職時代(新卒から9年くらい) ◦
2012年ごろにアジャイル開発に出会う ◦ 2年くらいスクラムマスターとしてスクラムを経験 ◦ 1.5年くらいプロダクトオーナーとしてスクラムを経験 • マネーフォワード時代(4年弱くらい) ◦ 1年くらいエンジニアとしてスクラムを経験 ◦ 3年くらいエンジニアリングマネージャとしてスクラムを経験 詳しくはこちら: https://note.com/okeicalm/n/nc97a55959d43
© Money Forward, Inc. チーム作りのポリシー 良いチームで良いプロダクトを届ける チームが成長と貢献を実感できる
© Money Forward, Inc. 本日のアウトカム 技術的負債の解消に向けた 具体的なアプローチと戦略のヒントを得られます
© Money Forward, Inc. Agenda • イントロダクション •
技術的負債解消プロジェクトの概要 • スクラムを用いたアプローチ • 主な課題とその解決策 • 結果と学び
© Money Forward, Inc. イントロダクション
© Money Forward, Inc. マネーフォワード クラウド会計Plus チーム人数の推移 会計Plusとは 開発プロセス
成長企業のための 内部統制を備えた会計SaaS スクラム→LeSS 1チームから 複数のスクラムチーム規模に グローバル化も推進中 プロダクトの状況 最初のマーケットでPMF達成 新たなマーケットへ挑戦
© Money Forward, Inc. マネーフォワード クラウド会計Plus ビジネスと共に成長する、つながる会計 会計Plusのプロダクトビジョン
© Money Forward, Inc. マネーフォワード クラウド会計Plus ゴルフ会員権 ERP開発本部 前受収益
小口現金 Derivative 関西開発部 東京開発部 インド拠点 技術的負債解消PJ Feature開発
© Money Forward, Inc. プロジェクト背景 • 2020年2月にサービスリリース •
歴史あるプロダクトをフォークして開発 • フロントエンド領域については機能開発を優先してリー ズナブルな実装をする戦略を取った • これにより後々になって様々な課題が発生した フロントエンドが返済時期の過ぎた技術的負債に
© Money Forward, Inc. 技術的負債とは 技術的負債(英語: technical debt)、設計負債、またはコード負債と は、ソフトウェア開発における概念であり、時間はかかるがより良いア
プローチを選択する代わりに、簡単ではあるが限定的な解決策を選択 することで生じる、将来的な手直しにかかる暗黙のコストを示すもので ある。 引用:https://ja.wikipedia.org/wiki/%E6%8A%80%E8%A1%93%E7%9A%84%E8%B2%A0%E5%82%B5
© Money Forward, Inc. 技術的負債の概要とその影響
© Money Forward, Inc. お分かりいただけただろうか...?
© Money Forward, Inc. 技術的負債の概要とその影響 • レガシーなテックスタック •
複数の設計ポリシーで記載された複雑なコードベース • バージョンアップ困難なライブラリ 既存機能の改修コストの増大 フロントエンドエンジニアが活躍しづらい環境 適切なUIが実装しづらい状況
© Money Forward, Inc. 技術的負債解消 プロジェクトの概要
© Money Forward, Inc. プロジェクト開始までの軌跡 2020 2021 2022 2023
★リリース ★戦いその1 ★戦いその2 ★PoC ★リアーキテクチャ プロジェクトが開始 数々の戦いの結果、専任チームの必要性を痛感 プロダクトグロースに不可欠であると 事業責任者と合意形成 20%ルールでの改善 新規機能開発での利用
© Money Forward, Inc. プロジェクトキックオフ
© Money Forward, Inc. プロジェクトのゴール • フロントエンドがRuby on Railsから分離されており、Ruby
on RailsはAPIサーバーとしての責務のみを有している状態になっ ている • フロントエンドのコードベース、開発環境が整っており、開発体 験が良く、生産性の高い状態で開発が行えている
© Money Forward, Inc. マイルストーンとしての1st リリース • フロントエンド開発の基盤が整っており、チームが自走してフロ ントエンド開発ができる状態になっている
• フロントエンド開発に必要なAPIがGraphQLで提供されており、 今後の開発についてもGraphQLベースで行えるよう開発指針 が定まっている
© Money Forward, Inc. スクラムを用いた アプローチ
© Money Forward, Inc. 体制 • プロダクトオーナー • スクラムマスター
• エンジニア • デザイナー (おそらく)一般的なスクラムチーム
© Money Forward, Inc. プロセス スクラムガイド通り(+LeSSのイベント)
© Money Forward, Inc. 既存のチームから「のれん分け」したチームなので Feature開発と同じように進んでいくだろう
© Money Forward, Inc. という仮説は脆くも崩れ去ったのであった
完 © Money Forward, Inc.
© Money Forward, Inc. 嘘です
© Money Forward, Inc. 主な課題と解決策
© Money Forward, Inc. (エリア)プロダクトオーナーは誰が適切?
© Money Forward, Inc. プロダクトオーナーは誰が適切? • 初期はドメインに詳しいプロダクトマネージャがプロダク トオーナーを担当
• ユーザーストーリーには直接紐づかないバックログアイ テムが多数存在 Feature開発とは明らかに様子が違う...
© Money Forward, Inc. 直面した課題 • 得意とするユーザー価値の探索とは違い技術的負債 に対しての優先順位づけが難しい
• 技術的負債についてのソリューションを一緒に考えるこ とが難しい プロダクト仕様とエンジニアリングに詳しい EMにプロダクトオーナーを交代
© Money Forward, Inc. 技術的負債の返却において 何に対して探索と実験を行う?
© Money Forward, Inc. 技術的負債の返却において、何に対して探索と実験を行う? • ゴールから逆算すると、プロダクト全体を見通して開発 生産性や開発者体験を高めるためには何が必要かに 対して仮説と検証が必要
• まずは既存の画面から抽出して、共通的なUIコンポー ネントを揃えるところからスタートする方針に
© Money Forward, Inc. 直面した課題 • 実際の機能・画面を開発する前に共通的な要素を抽出 して実装する難易度が高過ぎた
◦ どこまで考慮して、どこまでやるのか問題 • 既存コードがないので初めましての設計議論が多い 困難であることを認めて、まずは機能実装をしながら インクリメンタルに改善していく方針に転換
© Money Forward, Inc. やるべきだったけどやらなかったこと • 最初に着手した画面は改善することで非常にレバレッ ジの効くが、非常に仕様の複雑な画面
• 技術的にもチャレンジなので、もっと簡単な画面から着 手すべきだった プロダクトオーナーのワガママを通してしまいました
© Money Forward, Inc. トレードオフスライダーをどう設定する?
© Money Forward, Inc. トレードオフスライダーをどう設定する?
© Money Forward, Inc. 直面した課題 • コード品質を高めるための試行錯誤をしながら進めた 結果、まあまあのスケジュール遅延が発生
• その結果、当初想定からスコープも極限まで圧縮 ここまではトレードオフスライダー通りの意思決定
© Money Forward, Inc. 直面した課題 • しかし、際限なくスケジュールを伸ばすことはコストの観 点から不可能
◦ トレードオフスライダーとの矛盾・・・ • プロダクトオーナーとして苦渋の決断を迫られる 結果として一部のコード品質には目を瞑って リリース後にリファクタすることにした
© Money Forward, Inc. 技術的なチャレンジのあるバックログアイテムが進まない
© Money Forward, Inc. 技術的なチャレンジのあるバックログアイテムが進まない • 技術的なチャレンジのあるバックログアイテムに対して スパイクを打って事前の調査や検証などはしている
• しかし、実際にスプリントで着手すると全然進まない状 態になった
© Money Forward, Inc. 直面した課題 • スパイクを担当した人は知っているが、そうじゃない人 は知らない
• スキルがない状態で開発しようとしてしまっている 新しい技術要素に対してキャッチアップする バックログアイテムを追加して全員の学習を強制
© Money Forward, Inc. 「混ぜるな危険!」問題
© Money Forward, Inc. 「混ぜるな危険!」問題 • 実は技術的負債の返済以外にもやることを混ぜちゃい ました ◦
新しいデザインスタンダードの適用 ◦ 並行していたFeature開発の機能をつける ◦ UX悪いところを改善する
© Money Forward, Inc. 直面した問題 • Feature開発のスケジュールに間に合わせるために意 思決定の幅を狭めてしまった
◦ 結局、Feature開発のスケジュールには乗れなく なって別で開発した • デザインスタンダードの適用のためのコミュニケーショ ンコストも想定より発生した
© Money Forward, Inc. 解決策...? • デザイナーのアサイン変更をして、このプロジェクトに かけれるキャパシティを大幅に増やした
UXの悪い状態を新しい技術で再現するのは 投資として適切でないと判断して路線変更しなかった
© Money Forward, Inc. 結果と学び
© Money Forward, Inc. 1stリリースを達成
© Money Forward, Inc. チームの状態
© Money Forward, Inc. チームの状態
© Money Forward, Inc. チームの成長と今後の展望 • これまでカオスだった類似画面を全て新規実装で置き 換えていく
• 次のコア機能の置き換えにチャレンジ • 別チームへのナレッジシェア • そして全ての画面を置き換えへ...
まとめ © Money Forward, Inc.
© Money Forward, Inc. まとめ • 目に見えるものを小さく作って小さく改善を積み重ねて いくという基本は変わらない •
Feature開発とはプロダクトオーナーに必要とされるス キルセットが違うことを認識しておく • 混ぜるな危険!!!
ご清聴ありがとうございました © Money Forward, Inc.