生成AIにより加速するアジャイル開発

356 Views

February 22, 25

スライド概要

RedFes'25にてお話したスライドです。

profile-image

エンジニア。スクラムマスター。 Zennでサーバーレス本書いてます。 http://zenn.dev/mistletoe/books/93f5810c20eb9a http://github.com/theMistletoe http://zenn.dev/mistletoe http://qiita.com/mistletoe http://note.com/themistletoe

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

関連スライド

各ページのテキスト
1.

生成AIにより加速する アジャイル開発 株式会社レッドジャー二ー 田中基淳

2.

自己紹介 田中基淳(たなかもとあき) 普段やっていること • プロダクト開発 • スクラムマスター フォローいただけると嬉しいです! 2

3.

今日つたえたいこと

4.

実際に生成AIを使って より良い開発ができそう! …のヒントが得られる

5.

では始めます

6.

アジャイル開発

7.

ハイパープロダクティブ(超生産的)なチーム

8.

どのようにして ハイパープロダクティブなチームを作るのか?

9.

ハイパープロダクティブなチームの構成要素

10.

この3つをどう強くするか?

11.

この3つをどう強くするか?

12.

この3つをどう強くするか?

13.

この3つをどう強くするか?

14.

この3つをどう強くするか?

15.

この3つをどう強くするか?

16.

「人」を変えることは難しい 16

17.

Aさんが急にコードを書くのが 早くなるわけではない 17

18.

では、どうするか? • 書籍を買う? • 勉強する? • 勉強会を開催する?

19.

では、どうするか? • 書籍を買う? • 勉強する? • 勉強会を開催する? →人間そんなに急には進化できない

20.

と、思っていたのか?

21.

生成AI🤖 例) GitHub Copilot, ChatGPT, Cursor, etc.

22.

ChatGPTがでてきて(意外と)久しい

23.

出てきた当初… 23

24.

出てきた当初 • 衝撃 • 「これは自分はもういらなくなるな…」 それ以来 ずっと使ってきた

25.

開発(生産性)のために生成AIを使う

26.

生成AIで取り組んできたこと • プルリクのコードレビューをAIにやってもらう、AIに質問する Zenn • コーディング中にAIでコードを生成する • AIエディターの導入・比較検討 • 生成AIを利用したプロダクト・機能の開発 • UI実装効率化のための、生成AIを利用したプラグイン開発 • 生成AIを使ったプロダクト開発 動画配信 • 生成AI周りで色々登壇してみたり、本を書いたり スライド

27.

わかったこと

28.

導入するだけではダメ

29.

生成AIをただ導入するだけではダメ 当初… 「生成AIをとにかく導入すればそれだけでハッピー!みんな生産性が上がって 幸せしかない!」

30.

しかし、そうでもない 30

31.

生成AIをただ導入するだけではダメ 聞こえてくる生成AIつらいの声 • 言うことを聞いてくれない… • 難しい… • かえって時間がかかる… • 自分で書いた方が早い…

32.

生成AIをただ導入するだけではダメ 聞こえてくる生成AIつらいの声 • 言うことを聞いてくれない… 私「そんなわけないのに…なんで…?」 • 難しい… • かえって時間がかかる… • 自分で書いた方が早い…

33.

🤔なぜ私と他の人でギャップがあるのか? 33

34.

至った結論

35.

AIの使い方がまずい

36.

開発にて生成AIとやり取りする3つのパターン →各パターンには、それぞれ適した使い方や利用シーンが存在

38.

例1) いつものコーディング時 • コードを書いて開発する以上、コー ドエディタにカーソルがあるときは そのまま書きながら生成するのが一 番ムダがない • 関数名を書いてそれに応じた続きの 実装を書いてもらうのが早い。

40.

例2) 相談・対話がしたいとき • コードレビュー • 複雑な処理をわかりやすく解説しても らう • 技術選定や設計についての相談・壁打 ち

42.

例3) 新規or独立性の高いタスク これまでにない実装を書いたり、独立性の高いタスクは任せやすい。 例) • ブラウザで音声を録音する処理など、何も見ずには書けず複雑だが、実 装したいことはシンプルな処理 • 新しいライブラリを使うときの初期化・書き方 • リファクタリング

43.

(ありがちな)まずいケース チャット型/エージェント型ですべてをなんとかしよう とする 1. (例えばバックログ単位とか)粒度の大きいタスクをAIに依頼する 2. プロンプトも荒めになり、想定外or動かせないコードが作られ る(緻密にプロンプトを書いては時間がかかる) 3. そこからチャット上で試行錯誤して、さらに時間がかかる 4. AIが嫌いになる

44.

最終的に実現したいこと

45.

AIでかっこよく開発すること? 45

46.

No! 46

47.

開発完了までの リードタイムの短縮 バリューストリームを意識して、最終的に高速にインクリメントを生み出せればよい

48.

現時点でのエージェント型AIの限界 • エージェント型AIに「ChatGPTえも〜ん」とお願いした場合の精度はまだ期 待より下(時間の問題だが…) • これはAIの性能が悪いのではなく、人間の理解能力・言語化能力の問題 • 言葉はうまく使えているようで、脳の中で考えていることを構造化し、言語 情報として出力することは存外難しいor時間がかかる

49.

現時点でのエージェント型AIの限界 エージェント型のAIに依存した開発する場合、現状の選択肢は2つ 1. AIがさらに空気を読めるまで進化を待つ →これはこれであり 2. 自分が的確にかつ高速に指示できるようになる →これはコスパが悪そう

50.

現実解:開発作業の補助に生成AIを使う なので、今この時点での現実解としては 「生成AIにコーディングしてもらう」というよりは、 「開発中のコーディング作業・補完に生成AI を使って高速に開発する」 という発想の方が、現時点の人類の使い方としてはマッチしていそう。 あくまで開発の補助ツール(ただしめちゃめちゃ強力!) 生殺与奪の権をAIに握らせるな!!

51.

開発作業の補助に生成AIを使う 生成AIとの対話3パターンの内、 コード補完型が最も生成までのリード タイムが短いため、右図のサイクルを 高速で回すのに適している。 高速に試行錯誤しながら 動作するコードにたどり着ける

52.

3つのパターンの使い分けイメージ > 基本的にはここを使 う(生成までのコス トが最も低い→サイ クルを回しやすい) > レビューや 対話をした まとまった いとき お願いできそうなとき コード生成を

53.

学びをふまえて

54.

生成AIを使った開発のハンズオン・モブプロ これらの学びを踏まえ、 生成AIを使った開発のハンズオン・モブ プロを実践中! • チャットのUXだけではなく、AIエディ ターを使った効率的な開発の体験・暗 黙知を持てるようにする シーンに合わせた適切なAI利用が自然とできるようになる!

55.

(鋭意、製作中…!)

56.

まとめ 56

57.

まとめ 生成AIで開発作業でもフィードバック サイクルが高速にまわせるようになる (もうなった) アジャイルに、そして 高速に適応しつづけられる 🤖

58.

生成AIが「人」を強くするピースを埋めてくれる 🤖

59.

最後に • 生成AIの世界は日進月歩 • くりかえしですが、ChatGPT登場から3年 →その間に一体いくつも革新があったことか… • 「まだ使ってない」などと言ってる場合ではない! AIをどんどん触って友達になっていこう!

60.

もっと具体的、詳細なお話は ぜひネットワーキングで! 60