新規事業×生成 AI の不確実性を乗り越える開発プロセス
by
noy
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
不確実性を乗り越える 開発プロセス id:noy72/@noynote 1 新規事業 ✖ 生成 AI の 2024/10/24 はてな 生成AI×新規事業 の挑戦
Slide 2
Slide 2 text
id:noy72 (のい) ● 2021 入社 ➡ 社内向けプロダクト開発 データ基盤 ➡ 新規事業 2
Slide 3
Slide 3 text
話すこと ● toitta の開発にあたり ○ 何を考えて ○ どのように開発を進めることにしたのか ○ その結果どうだったのか ○ 今はどうなのか 3
Slide 4
Slide 4 text
当時の状況 ● βリリース前の検証段階 ● 以下を知りたい ○ 開発しているプロダクトに需要があるかどうか ○ AI の生成物が受け入れられるかどうか 4
Slide 5
Slide 5 text
5 新規事業 ✖ 生成 AI の 不確実性には何があるの か
Slide 6
Slide 6 text
6 不確実性は山ほどある
Slide 7
Slide 7 text
新規事業で問題になりそうな点 ● ユーザーの欲しいものがわからない ● チーム内でプロダクトや機能に対する 理解が一致していない ○ 手戻りが発生するかも 7
Slide 8
Slide 8 text
新規事業だからなおさら 問題になりそうな点 ● ユーザーの欲しいものがわからない ● チーム内でプロダクトや機能に対する 理解が一致していない ○ 手戻りが発生するかも 8
Slide 9
Slide 9 text
生成 AI で問題になりそうな点 ● 生成物の品質の評価が難しい ○ 改善できているかどうかの判断が難しい ○ 「どこまで」改善すればよいのかわからない ● 生成物の品質を上げるためのコストを 予測しにくい ○ 計画が立てにくい 9
Slide 10
Slide 10 text
これらをうまく扱いたい ● ユーザーの欲しい ものがわからない ● チーム内でプロダ クトや機能に 対する理解が一致 していない ● 生成物の品質の評価が 難しい ● 生成物の品質を上げる ためのコストを予測し にくい 10
Slide 11
Slide 11 text
11 どんな開発プロセスが 良いのか
Slide 12
Slide 12 text
これらをうまく扱いたい ● ユーザーの欲しい ものがわからない ● チーム内でプロダ クトや機能に 対する理解が一致 していない ● 生成物の品質の評価が 難しい ● 生成物の品質を上げる ためのコストを予測し にくい 12 再掲
Slide 13
Slide 13 text
13 どのような対策がある?
Slide 14
Slide 14 text
(1) ユーザーの欲しいものがわからな い ● ユーザーに話を聞きに行く ○ 考えていること、作ろうとしているもの、 実際にできているものを見せる 14
Slide 15
Slide 15 text
(2) チーム内でプロダクトや機能に 対する理解が一致していない ● 「作りたい機能」と「作った機能」が 一致しているか確認する 15
Slide 16
Slide 16 text
(3) 生成物の品質の評価が難しい ● 人力で評価する ○ 生成物を見比べて、どちらがより良いか選ぶ ● 確認する頻度を上げる 16
Slide 17
Slide 17 text
(4) 生成物の品質を上げるためのコス トを予測しにくい ● 現時点でどのくらいの品質なのか、 他に考えられる品質向上の案があるかを 定期的に伝える 17
Slide 18
Slide 18 text
18 →フィードバックが重要
Slide 19
Slide 19 text
19 開発する人たち プロダクトオーナー (ディレクター) フィードバックが重要
Slide 20
Slide 20 text
20 開発する人たち プロダクトオーナー (ディレクター) フィードバックが重要
Slide 21
Slide 21 text
21 開発する人たち プロダクトオーナー (ディレクター) 方法不確実性 ⬇ 通信不確実性 ⬇ フィードバックが重要
Slide 22
Slide 22 text
22 開発する人たち プロダクトオーナー (ディレクター) 方法不確実性 ⬇ 通信不確実性 ⬇ ユーザー フィードバックが重要
Slide 23
Slide 23 text
23 開発する人たち プロダクトオーナー (ディレクター) 方法不確実性 ⬇ 通信不確実性 ⬇ ユーザー フィードバックが重要
Slide 24
Slide 24 text
24 開発する人たち プロダクトオーナー (ディレクター) 方法不確実性 ⬇ 通信不確実性 ⬇ ユーザー 目的不確実性 ⬇ に貢献 フィードバックが重要
Slide 25
Slide 25 text
25 🤔
Slide 26
Slide 26 text
26 1週間スプリントの スクラムをやる?
Slide 27
Slide 27 text
27 🤔🤔
Slide 28
Slide 28 text
28 ユーザーに話を 聞きに行くのは 週に一度だけ?
Slide 29
Slide 29 text
29 「生成物の品質を上げ る」 は見積もれる?
Slide 30
Slide 30 text
30 🤔🤔 🤔
Slide 31
Slide 31 text
31 フィードバックはすぐにもら う やることは柔軟に決める
Slide 32
Slide 32 text
32 スプリント期間 固定しなくてよいかも
Slide 33
Slide 33 text
toitta の開発プロセス 1. 達成したいこと・実装したい機能を決める 2. タスクを列挙して見積もり、 完了予測日を出す 3. 「いつまでに何を達成するのか」を決める 4. タスクが完了したら できるだけ早くフィードバックをもらう 33
Slide 34
Slide 34 text
toitta の開発プロセス ● タスクの差し込みは「いつまでに」を 調整して対応する ○ フィードバックの対応 ○ AI 生成物の品質を上げる 34
Slide 35
Slide 35 text
toitta の開発プロセス ● できるだけ早くレビューを受ける ○ 「スプリントレビュー」という名前のイベントはない ● ふりかえりは週ごとに行う 35
Slide 36
Slide 36 text
36 実際にやってみて どうだったか
Slide 37
Slide 37 text
よかったこと ● 開発の進め方で迷うことはなかった ● 新規機能はすぐにチーム内に共有、 ユーザーに紹介できる状態にできた ● 大きな手戻りは起こらなかった ● AI 周りのタスクで過剰に時間を使ってしまう ことはなかった 37
Slide 38
Slide 38 text
38 現在の様子
Slide 39
Slide 39 text
現在のチーム ● 開発プロセスは大きく変わってない ● レビューの頻度を落とした ○ プロダクトに機能が増えた ○ 人が増えた 39
Slide 40
Slide 40 text
40 スプリント期間 固定してもよいかも
Slide 41
Slide 41 text
なぜそう思ったのか ● 「新規度」はどんどん減っていく ○ プロダクトは大きく、機能は増えていく ○ プロダクトへの理解が深まっていく ● AI タスク専任エンジニアの存在 ○ AI と web アプリケーションを 分けられるようになってきた 41
Slide 42
Slide 42 text
42 まとめ
Slide 43
Slide 43 text
まとめ ● タイムボックスの期間を決めず、 フィードバックを素早く受け取る 開発プロセスを紹介した ● 事業の状態やチームの人員によって適切な 開発プロセスは変わる 43