$30 off During Our Annual Pro Sale. View Details »
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
プロダクトの品質に コミットする / Commit to Product Quality
Search
pekepek
December 04, 2024
Programming
1
690
プロダクトの品質に コミットする / Commit to Product Quality
2024/12/4 スタートアップ5社集合!開発スピードと品質における各社の取り組み LT
pekepek
December 04, 2024
Tweet
Share
Other Decks in Programming
See All in Programming
たのしいparse.y
ydah
3
110
talk-with-local-llm-with-web-streams-api
kbaba1001
0
150
HTTP compression in PHP and Symfony apps
dunglas
2
1.5k
WebAssembly Unleashed: Powering Server-Side Applications
chrisft25
0
2.1k
これが俺の”自分戦略” プロセスを楽しんでいこう! - Developers CAREER Boost 2024
niftycorp
PRO
0
120
Full stack testing :: basic to basic
up1
1
880
暇に任せてProxmoxコンソール 作ってみました
karugamo
1
230
Reckoner における Datadog Browser Test の活用事例 / Datadog Browser Test at Reckoner
nomadblacky
0
190
PaaSとSaaSの境目で信頼性と開発速度を両立する 〜TROCCO®︎のこれまでとこれから〜
gtnao
6
7.1k
Modular Monolith Monorepo ~シンプルさを保ちながらmonorepoのメリットを最大化する~
yuisakamoto
11
4k
社内活動の取り組み紹介 ~ スリーシェイクでこんな取り組みしてます ~
bells17
0
390
tidymodelsによるtidyな生存時間解析 / Japan.R2024
dropout009
1
590
Featured
See All Featured
BBQ
matthewcrist
85
9.3k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
1
110
Fontdeck: Realign not Redesign
paulrobertlloyd
82
5.3k
Done Done
chrislema
181
16k
Facilitating Awesome Meetings
lara
50
6.1k
Agile that works and the tools we love
rasmusluckow
328
21k
Keith and Marios Guide to Fast Websites
keithpitt
410
22k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
27
890
The Invisible Side of Design
smashingmag
298
50k
Rails Girls Zürich Keynote
gr2m
94
13k
Java REST API Framework Comparison - PWX 2021
mraible
PRO
28
8.3k
Fireside Chat
paigeccino
34
3.1k
Transcript
© 2024 Loglass Inc. 0 © 2024 Loglass Inc. 開発スピードと品質についての考え方
プロダクトの品質に コミットする 石畑 翔平 @pekepek 2024.12.04
© 2024 Loglass Inc. 1 自己紹介 2014 年に新卒で Sansan 株式会社に入社
データ統括部門で名刺のデータ化や名寄せサービスなどを開発。 その後、新規事業開発に異動し、EM となる。 2024 年 4 月に新たなチャレンジを求めて、ログラスにジョイン。 数年ぶりに楽しく実装中。 技術書典で「Loglass Tech Frontiers Vol.1」という本を出して、 自分は SQL の話を書いたので、ぜひダウンロードして下さい! 開発部 エンジニア 石畑 翔平 Ishihata Shohei
© 2024 Loglass Inc. 2 Loglass について
© 2024 Loglass Inc. 3 はじめに 今日する話 ✅ 手戻りを無くす、無駄なものを作らないことで生産性を高くする ✅
そのためには検証段階から技術面も含めて、不確実性を取り除くことが重要 ✅ ログラスではどのようにディスカバリー(顧客価値の探索)からエンジニアが入り、 デリバリーにつなげているか具体例を紹介
© 2024 Loglass Inc. 4 はじめに 今日しない話 ❌ 品質を高めるためのアーキテクチャ、CI/CD の構築
❌ バグを減らすためのテスト手法 ❌ 生産性指標の話
© 2024 Loglass Inc. 5 本日のテーマ 「開発スピードと品質」
© 2024 Loglass Inc. 6 開発スピードと品質 開発スピードが早い状態とは? • リードタイムやリリース数も大事だが、生み出した顧客価値が最も重要 •
売上・ビジネス価値に貢献する ◦ いわゆるレベル 3 の生産性 ◦ ここの生産性を上げたい 広木 大地. 開発生産性について議論する前に知っておきたいこと. https://qiita.com/hirokidaichi/items/53f0865398829bdebef1
© 2024 Loglass Inc. 7 高品質なプロダクトを作るの難しい... でも、価値の高いプロダクトを作るの難しい... • 何が正解かわからない •
上手く行かないことだらけ ◦ 画期的なアイディアだが、いざ開発したら難しくていつまでも実現できない ◦ なんとか実装できたけど、動作が遅すぎて使う気にならない ◦ リリースされたけど、思ったより売れない・使われない ◦ 使ってもらえたが、バグだらけで障害が多発する
© 2024 Loglass Inc. 8 高品質なプロダクトを作るの難しい... ベント・フリウビヤ; ダン・ガードナー. BIG THINGS
どデカいことを成し遂げたヤツらはなにをしたのか?. サンマーク出版 “ 99.5%のプロジェクトが、予算超過か工期遅延、 便益過小、またはそれらの組み合わせに終わる。
© 2024 Loglass Inc. 9 高品質なプロダクトを作るの難しい... PJ が予想通りに進むことはない • ほとんどの
PJ は想定以上のコストがかかる、予定通りリリースされない、 期待通りの価値を出せずに失敗する • どうすればいいのか? → 失敗する前提で機能開発する
© 2024 Loglass Inc. 10 Fail First 失敗は成功の基 すべての失敗が悪いわけではない •
良い失敗 : ダメージが小さく、学びが大きい • 不確実性の高い世界では、経験しないとわからない 失敗から学び、 軌道修正をすることが大切
© 2024 Loglass Inc. 11 Fail First PJ 後半の失敗は致命的 •
実装後に仕様が変わる ◦ 複数のエンジニアが実装に関わり、既に多くのコストがかかっている ◦ コードを戻すにも多くのコストがかかる → 開発規模によっては致命的に • リリース後に問題が発生する ◦ ユーザー影響があるため、機能変更・削除のコストが大幅に上がる → 不要な機能が残り続け、長期的なコストになることも ◦ セキュリティやデータに問題があると、一発で致命傷になり得る
© 2024 Loglass Inc. 12 Fail First Fail First •
検討段階での失敗はコストが低い ◦ アイディアやモック作成は小さく試せる ◦ 手戻りも小さい • いかに早い段階で失敗できるかが重要
© 2024 Loglass Inc. 13 Fail First どう進めていくか? • 急いで実装せず、検証に時間をかける
• アイディアの段階から様々な視点からレビューする ◦ ユーザー ◦ ビジネス ◦ 技術 • ログラスでは、ディスカバリーから PdM、CS、デザイナー、エンジニアでタッグを組む ◦ ソリューションと技術は切り離せない ◦ 技術的困難が合った際に、エンジニアも深い顧客理解が必要 • 実装をする前にいかに不確実性を減らせるか
© 2024 Loglass Inc. 14 ログラスでの取り組み
© 2024 Loglass Inc. 15 ログラスの取り組み例 カスタマー ジャーニーマッ プ 実例
マッピング テスト分析 ドメイン モデリング スパイク 受け入れ基準 なぜやるのか? 目的の明確化 要件・ストーリー の精度を上げる リスクの洗い出し ※ 実際は単純なフローではなく、 横断的に実施したり、行ったり来たりする システムのための 抽象化 技術的な 仮説検証 バックログの 明確化 ログラスの取り組み例 PBI の作成 設計 実装
© 2024 Loglass Inc. 16 ログラスの取り組み例 カスタマー ジャーニーマッ プ 実例
マッピング テスト分析 ドメイン モデリング スパイク 受け入れ基準 なぜやるのか? 目的の明確化 要件・ストーリー の精度を上げる リスクの洗い出し ※ 実際は単純なフローではなく、 横断的に実施したり、行ったり来たりする システムのための 抽象化 技術的な 仮説検証 バックログの 明確化 ログラスの取り組み例 PBI の作成 設計 実装 様々な取り組みでレビュー・認識合わせをして 実装前に不確実性を減らしていく
© 2024 Loglass Inc. 17 ログラスの取り組み例 カスタマー ジャーニーマッ プ 実例
マッピング テスト分析 ドメイン モデリング スパイク 受け入れ基準 なぜやるのか? 目的の明確化 要件・ストーリー の精度を上げる リスクの洗い出し ※ 実際は単純なフローではなく、 横断的に実施したり、行ったり来たりする システムのための 抽象化 技術的な 仮説検証 バックログの 明確化 ログラスの取り組み例 PBI の作成 設計 実装 今日は実例マッピングに ついて取り上げる
© 2024 Loglass Inc. 18 実例マッピング 実例マッピング • 具体例からストーリーについて話し合い、確定・未確定なことについて明確にする •
実際の数値やユースケースを当てはめて議論することで、気づきや共通認識を得る • 作成したマップはテストやモデリング時にも使える
© 2024 Loglass Inc. 19 実例マッピング どのように実施しているか紹介
© 2024 Loglass Inc. 20 実例マッピング 実施タイミング・参加者 • 実施タイミング例 ◦
ソリューションが見えて簡単なモックが出来たので、懸念点を洗い出したい ◦ 顧客価値の検証が完了し、モデリングを行うために要件を明確にしたい ◦ バックログを作成し、受け入れ基準を作成したい • 参加者 ◦ PdM、CS、デザイナー、エンジニア、QA など
© 2024 Loglass Inc. 21 実例マッピング やることイメージ 4 色の付箋を用意
© 2024 Loglass Inc. 22 実例マッピング やることイメージ 議論するストーリーについて書く
© 2024 Loglass Inc. 23 実例マッピング やることイメージ 事前にわかっている要件などがあれば Rule に置いていく
© 2024 Loglass Inc. 24 実例マッピング やることイメージ Example に疑問や具体例を書いていく
© 2024 Loglass Inc. 25 実例マッピング やることイメージ 質問に答えながら議論していく
© 2024 Loglass Inc. 26 実例マッピング やることイメージ 新たに確定した仕様があれば、Rule の更新や追加を行う
© 2024 Loglass Inc. 27 実例マッピング やることイメージ その場で決められなかった論点を Question に残す
© 2024 Loglass Inc. 28 実例マッピング やることイメージ 議論を進めていくことで、確定・未確定なことが明確になる 未確定部分は優先度を決めて ディスカバリーを行う
© 2024 Loglass Inc. 29 実例マッピング その他のおすすめ観点 • 未確定の議論に時間を取りすぎない →
まずは論点を洗い出すことが価値 • 参加者で実例マッピングの目的を揃える → 顧客価値検証や受け入れ基準作成で抽象度が大きく違う • Rule や Example に画面・図があれば紐づける • 議論した背景や関連情報、質問なども残しておく → 後でドキュメントとなる
© 2024 Loglass Inc. 30 実例マッピング やってよかった事例
© 2024 Loglass Inc. 31 実例マッピング 事例 1 : 抽象的に捉えていたことによる考慮漏れの発見
• 「非財務科目階層化」という機能を開発 • 既に別機能で階層化は行っており、「同じ体験」が提供できればいいと考えていた • しかし、実例を挙げていくことで非財務科目特有の体験が必要なことが発覚 • モデリングに影響する観点だったため、実装前に気づけたことで手戻りを防げた https://www.loglass.jp/news/press-20241112
© 2024 Loglass Inc. 32 実例マッピング 事例 2 : データや条件による体験の考慮漏れの発見
• ある機能開発で、UI も含めて体験設計が完了 • 設定項目の多い画面の改修のため、パターンごとの実例を挙げていった • 特定のケースでは顧客体験が十分でない可能性があり、特定の UI パターンについて 再検討することに
© 2024 Loglass Inc. 33 実例マッピング 事例 3 : ドメイン知識の共有
• 複数の機能を横断的に改修する PJ • 影響範囲が大きく、個人で全ての機能を把握するのは困難 • 各ドメインに詳しいエンジニア複数人で、実例マッピングを行うことで 現状の仕様のキャッチアップになった
© 2024 Loglass Inc. 34 実例マッピング やってよかった実例マッピング • 具体を考えることで価値・アイディアのレビューが可能 •
一人では気付けない発見がある • 議論した結果がそのままドキュメントになる このような取り組みで 実装後の「想像と違った」を無くす
© 2024 Loglass Inc. 35 まとめ
© 2024 Loglass Inc. 36 まとめ 今日した話 • プロダクト開発は不確実性が高く、理想通りに進めることはできない •
失敗は早い段階で経験し、可能な限り不確実性を減らした状態で実装に入りたい • そのためにログラスではディスカバリーからエンジニアが入り、さまざまな取り組みを 行っている • 一例として実例マッピングについて紹介
© 2024 Loglass Inc. 37 参考資料 • 実例マッピング : nihonbuson.
ブロッコリーのブログ. これから実例マッピングを使おうと思っている人へお伝えしたい 日本語情報のリンク集. • その他の取り組み ◦ カスタマージャーニーマップ : 及川 卓也, 小城 久美子, 曽根原 春樹. プロダクトマネジメントのすべて ◦ テスト分析 : Janet Gregory, Lisa Crispin, and Yuya Kazama. Agile Testing Condensed Japanese Edition ◦ ドメインモデリング : little_hands. little hands' lab. 簡単にできるDDDのモデリング - ドメイン駆動設計
© 2024 Loglass Inc. 38