Slide 1

Slide 1 text

AI時代のアジャイル開発 及部敬雄 (@TAKAKING22) 2024/6/20

Slide 2

Slide 2 text

元年 "*

Slide 3

Slide 3 text

AIはもっと前から存在していた

Slide 4

Slide 4 text

AIの歴史 1943年、ニューラルネットワーク研究発祥 1956年、ダートマス会議にて、
 Artificial Intelligence (AI)という言葉が生まれる 1950年代後半ʙ1970年代、第一次AIブーム 1980年代ʙ1990年代、第二次AIブーム 2000年代ʙ現在、第三次AIブーム

Slide 5

Slide 5 text

Star Wars: A New Hope ˜ & TM 2015 Lucasfilm Ltd. All Rights Reserved.

Slide 6

Slide 6 text

AIが登場する主なエンタメ作品 スターウォーズ マトリックス A.I. アイ,ロボット 攻殻機動隊 PSYCHO-PASS サイコパス

Slide 7

Slide 7 text

Photo by BoliviaInteligente on Unsplash

Slide 8

Slide 8 text

AI(未来)が急に現実になった Photo by Igor Omilaev on Unsplash

Slide 9

Slide 9 text

一方その頃、ソフトウェア開発では…

Slide 10

Slide 10 text

 ソフトウェア開発 技術の進化 ビジネスシーンの変化 デジタルトランスフォーメーション COVID-19

Slide 11

Slide 11 text

 ソフトウェア開発 技術の進化 ビジネスシーンの変化 デジタルトランスフォーメーション COVID-19 アジャイル開発が誕生して約23年

Slide 12

Slide 12 text

今日のお話 もともと変化が複雑で激しいと言われていた時代に、
 AIというさらに大きな変化が飛び込んできた ソフトウェア開発ではさまざまの変化が起きる中で、
 アジャイル開発が誕生してから約23年間が経過した これからはじまるAI時代に、
 ソフトウェア開発やアジャイル開発はどうなるのか

Slide 13

Slide 13 text

AI時代のアジャイル開発 及部敬雄 (@TAKAKING22) 2024/6/20

Slide 14

Slide 14 text

TAKAKING22 株式会社ホロラボ グループリード AGILE-MONSTER.COM アジャイルコーチ Silver Bullet Club所属 及部敬雄

Slide 15

Slide 15 text

個人やチームや組織を支援する、アジャイルコーチをしています。 現在進行で自分自身もエンジニアとしてプロダクト開発に取り組んでいます。 そこで得た経験知をもとにさまざまなチームや組織に貢献する活動をしています。 チームづくり、アジャイル開発、プロダクト開発が大好きです。 ぜひお気軽にお声がけください!

Slide 16

Slide 16 text

本題に入る前に 未来はどうなるかわからないですが、妄想することはできます 妄想はいいぞ! 言われなくても勝手に妄想することは人間の強み

Slide 17

Slide 17 text

アジェンダ アジャイル開発とは AIとソフトウェア開発 AI時代のアジャイル開発 AI時代に個人としてどうふるまうか

Slide 18

Slide 18 text

アジェンダ アジャイル開発とは AIとソフトウェア開発 AI時代のアジャイル開発 AI時代に個人としてどうふるまうか

Slide 19

Slide 19 text

アジャイル開発 Photo by Austin Distel on Unsplash

Slide 20

Slide 20 text

No content

Slide 21

Slide 21 text

No content

Slide 22

Slide 22 text

https://agilemanifesto.org/iso/ja/manifesto.html

Slide 23

Slide 23 text

1. 大きな問題は小さくする 2. 本当に大事なことに集中して、それ以外のことは忘れる 3. ちゃんと動くソフトウェアを届ける 4. フィードバックを求める 5. 必要とあらば進路を変える 6. 成果責任を果たす アジャイルサムライ - 達人開発者への道

Slide 24

Slide 24 text

アジャイル開発誕生に至る時代背景 ソフトウェア開発誕生 1970年頃、ウォーターフォール・モデル誕生

Slide 25

Slide 25 text

伝統的ソフトウェア開発 職人芸的な開発から工業製品としての開発方法へ 工程に分けて進捗を管理する 徹底的に「分析」し、慎重に「計画」して、「実装」する 重量ソフトウェア開発手法

Slide 26

Slide 26 text

ところが・・・ 科学的管理法から強く影響を受けている 生産とソフトウェア開発は違うことが多い ソフトウェア開発は年々複雑で変化が大きくなっていく

Slide 27

Slide 27 text

2001年、スノーバード

Slide 28

Slide 28 text

https://agilemanifesto.org/iso/ja/manifesto.html

Slide 29

Slide 29 text

No content

Slide 30

Slide 30 text

XP XP XP XP XP Scrum Scrum Scrum ASD FDD Testing Crystal DSDM Pragmatic Programmer Embedded TDD Executable UML Pragmatic Programmer

Slide 31

Slide 31 text

XP XP XP XP XP Scrum Scrum Scrum ASD FDD Testing Crystal DSDM Pragmatic Programmer Embedded TDD Executable UML Pragmatic Programmer Agile

Slide 32

Slide 32 text

アジャイルソフトウェア開発宣言の署名者 世界中の軽量ソフトウェア開発手法において名声のある人たち それぞれが共通して大切だと思っていることをまとめたものが
 アジャイルソフトウェア開発宣言

Slide 33

Slide 33 text

重量ソフトウェア開発手法に対するアンチテーゼ Photo by Robert Lukeman on Unsplash

Slide 34

Slide 34 text

作業が終わり、みんなは普段の仕事・活動・生活に戻っていっ た。誰もが物語はそこで終わりだと思っていた。 その後に非常に大きな支持を集めることになるとは、誰も想 像していなかった。 Clean Agile 基本に立ち戻れ/Robert C. Martin 「軽量級プロセスのサミット」に参加したい人が本当にいる だろうか?と思っていた Clean Agile 基本に立ち戻れ/Robert C. Martin

Slide 35

Slide 35 text

世界中のソフトウェア開発者が熱狂した Photo by Spencer Davis on Unsplash

Slide 36

Slide 36 text

アジャイル開発の正体 アジャイル開発はムーブメントだと捉えてみる 定義をしたり、対立構造を考えることに意味はない あたりまえを打ち壊して変化しようとする反発エネルギー 同じ想いをもった人たちが団結して興す社会的運動

Slide 37

Slide 37 text

「DX白書2023」独立行政法人情報処理推進機構 22.9% 53.9%

Slide 38

Slide 38 text

「アーリーアダプターとは?獲得方法とイノベーター理論をわかりやすく解説」(https://go.chatwork.com/ja/column/efficient/efficient-351.html) 日本 22.9% アメリカ 53.9%

Slide 39

Slide 39 text

アジェンダ アジャイル開発とは AIとソフトウェア開発 AI時代のアジャイル開発 AI時代に個人としてどうふるまうか

Slide 40

Slide 40 text

生成AIの主なサービス

Slide 41

Slide 41 text

生成AIによってソフトウェア開発はどう変わるのか Photo by Nihon Graphy on Unsplash

Slide 42

Slide 42 text

開発者がコードを書く支援 GitHub Copilotのユーザー数は2023年6月時点で934,533人
 ※2024年2月時点で130万人を突破 Copilotユーザーはツールに慣れるにつれ、生産性は少し落ちてから大幅に上昇し、
 経験の浅いユーザーが最も恩恵を受けている(32%の生産性向上) stack overflowへのアクセス数はLLMプロダクト登場以降急激に減少している https://www.stateof.ai/2023-report-launch

Slide 43

Slide 43 text

AIネイティブ開発 GitHub Copilot Patters & Exercises(旧AI Native Development Guide) コメントからコードを生成する 便利なファイルのピン留め コードからドキュメントへ AIが理解可能な命名規則 AIフレンドリーなドキュメントを書くようにする https://ai-native-development.gitbook.io/docs/v/ja

Slide 44

Slide 44 text

開発者を代替するAIエンジニア 2024年3月12日にCognition社が「Devin」を発表 世界初のAIエンジニア 支援型ではなく自律型で実際にタスクをこなすことができる 仕様変更の対応、バグの発見と修正、デバッグ、デプロイ… 2024年6月14日現在で一般公開はまだ(Waiting List申請まで) https://www.youtube.com/watch?v=fjHtjT7GO1c

Slide 45

Slide 45 text

ローコード・ノーコードツールの進化 これまでのローコード・ノーコードツールの課題は自由度や拡張性 AIを活用することで対応できるシステムの選択肢が広がる 開発者ではなくても開発保守運用できる機会が増える https://www.mendix.com/platform/ai/#MendixMLKit

Slide 46

Slide 46 text

開発以外の工程での生成AI活用 要件定義 顧客からの要求や仕様書を自然言語で解析し、要件を抽出する 設計 様々な過去の設計情報をもとに最適なアーキテクチャや設計パタンを提案する テスト 仕様やコードからテストケースを自動的に作成し、網羅的なテストを実施する ソースコードを書きながら自動テストを行い、リアルタイムにフィードバックをする 保守 ログやパフォーマンスデータを解析し、障害の予兆を検知して事前に対策する トラブル発生時に、問題を特定し自動修復する

Slide 47

Slide 47 text

これまでのソフトウェアづくり ソフトウェア ユーザー 求めているもの (情報、商品、体験…) ユーザーとユーザーが求めているもの(情報、商品、体験)をどうつなげるか つなげ方を試行錯誤するところがソフトウェア開発の本丸 インプット→仕組み→アウトプット 仕組み=検索、レコメンド、アルゴリズム、ユーザーインタフェース…

Slide 48

Slide 48 text

生成AIの登場によって… AIでいい感じによろ!

Slide 49

Slide 49 text

AI時代のソフトウェアづくり ソフトウェア ユーザー 求めているもの (情報、商品、体験…) つなげ方の一部あるいは大部分を生成AIに任せるように パーソナライズの進化と深化 多様なインプットを受け取ることができる ユーザーが求めるアウトプット方式を選ぶことができる 「予め用意したものを提供する」から「必要なものがリアルタイムで生成される」へ

Slide 50

Slide 50 text

もちろんまだまだ課題は存在する 間違ったことを正しいことのように言うことがある(ハルシネ ーション) 苦手とする作業が存在する 高い精度を求める作業など 同じインプットをしても違うアウトプットをすることがある テストが大変

Slide 51

Slide 51 text

精度はどんどん向上していく Photo by Eugene Zhyvchik on Unsplash

Slide 52

Slide 52 text

変化は既に起きているし加速していく Photo by CHUTTERSNAP on Unsplash

Slide 53

Slide 53 text

その中でいつまで今までと同じような ソフトウェア開発をしていてよいのだろうか Photo by Krystian Piątek on Unsplash

Slide 54

Slide 54 text

アジェンダ アジャイル開発とは AIとソフトウェア開発 AI時代のアジャイル開発 AI時代に個人としてどうふるまうか

Slide 55

Slide 55 text

「開発プロセス」や「人」も変化する対象 Photo by Gift Habeshaw on Unsplash

Slide 56

Slide 56 text

アジャイル開発における開発サイクル “スプリントは1ヶ月以内の決まった長さ”(スクラムガイド2020) コミュニケーションをするタイミングをつくる ex. スプリントプランニング、スプリントレビュー、デイリースクラム… それ以外の時間で開発をする ίϛϡχέʔγϣϯ ։ൃ .PO 5VF 8FE 5IV 'SJ

Slide 57

Slide 57 text

開発サイクルが短くなる AIがコーディングを行うようになると、開発自体にはそれほど時間がかからなくなる その分、なにをつくるのかの検討、つくったものの評価(レビュー)の時間と回数が増える 開発サイクルが短くなり、1日スプリントが基本になっていく スプリント自体が不要になり、カンバンなどでフロー制御したくなるかもしれない .PO 5VF 8FE 5IV 'SJ ίϛϡχέʔγϣϯ ։ൃ

Slide 58

Slide 58 text

アジャイル開発におけるチーム 小規模で自己組織化されたクロスファンクショナルチーム チームメンバーがお互いに補完するさまざまな知識やスキルを持っている さまざまな変化に対応し、チームで多様な問題を解決できるようにする

Slide 59

Slide 59 text

人間+AIのチームへ AIは多様なドメイン知識、プログラミングスキル、設計スキルをもっている 知識の総量は人間よりもはるかに大きい(今後ますます大きくなっていく) もちろん人間にしかできない領域も存在する 人間のみのチーム 人間+AIのチーム AI

Slide 60

Slide 60 text

より小さなチーム、より多くのチームへ 人間+AIのチームであれば、少ない人数でも経験やスキルを補完できるようになる 10人以下(スクラムガイド2020)がよいとされていたチームサイズがより小さくなる 小さなチームが増えるので、これまでよりも多くのチームでコラボレーションをしながら
 開発を進めるシーンが増えるかもしれない 6人 X 2チーム (1ʙ3人+AI) X 5チーム AI AI AI AI AI

Slide 61

Slide 61 text

チームの役割 開発チームは顧客やプロダクトオーナーと会話をし、何を開発する必要があるのか、
 なぜ必要なのかを理解し、それを実現するためにコードを書いてソフトウェアを開発する このサイクルを反復的に行い、ソフトウェアを実現させていく ソフトウェア 顧客や プロダクトオーナー 開発チーム

Slide 62

Slide 62 text

チームメンバーとしてのAI AIはコードにアクセスすることができるようになり、開発やレビューをする 開発者からのリクエストに応じて仕事を完遂することができる 顧客やプロダクトオーナーと直接コミュニケーションをして、
 ユーザー調査や競合分析を手伝い、壁打ち相手になる 要求をヒアリングし、要件や設計に変換して開発者に伝える ソフトウェア 顧客や プロダクトオーナー 開発チーム AI

Slide 63

Slide 63 text

人間とAIの翻訳者としての開発者 AIが高度になっていくことで、ほとんどの作業を実行できるようになる それが進んでいくと、やがて人間が作業するよりも高速かつ正確になる
 (おまけにAIは人間のように疲れないので常時そして並列で働くことができる) 開発者の役割は、顧客やプロダクトオーナーとAIの間に入り、
 ソフトウェアの知識をベースにコミュニケーションを補助したり調整することがメインになる ソフトウェア 顧客や プロダクトオーナー 開発者 AI

Slide 64

Slide 64 text

やがて開発チームは存在しなくなる? AIの高度化が進み、ソフトウェアの知識をベースにした翻訳すらも不要になると、
 AIだけでソフトウェア開発の仕事が完結するようになる 顧客・プロダクトオーナー・開発者といったロールでの区分けは不要になり、
 開発チームは存在しなくなる ソフトウェア 人間 AI

Slide 65

Slide 65 text

「コンピュータ」の語源 “「コンピュータ」という用語は、17世紀初頭から使用されており(最初の文献での言及は1613 年に遡る)、電子コンピュータが商業的に利用可能になる前に数学的計算を行う人、「計算する 人」を意味していた”(wikipedia) かつでは「コンピュータ」という職業が存在したが、とっくに存在しなくなっている By NACA (NASA) - Dryden Flight Research Center Photo Collection -

Slide 66

Slide 66 text

AI時代のアジャイル開発 本当にこうなるかはわからない ただしこれだけ大きく変化している中で、
 自分たちの仕事や開発プロセスだけが変化しないことは
 考えにくい

Slide 67

Slide 67 text

アジャイル開発は変化のムーブメントだった

Slide 68

Slide 68 text

No content

Slide 69

Slide 69 text

We are uncovering better ways of developing software

Slide 70

Slide 70 text

アジェンダ アジャイル開発とは AIとソフトウェア開発 AI時代のアジャイル開発 AI時代に個人としてどうふるまうか

Slide 71

Slide 71 text

1970年代 ウォーターフォール・モデル誕生 2001年  アジャイルソフトウェア開発宣言 2024年 イマココ

Slide 72

Slide 72 text

1970年代 ウォーターフォール・モデル誕生 2001年  アジャイルソフトウェア開発宣言 2030年  ??? 1970年代 ウォーターフォール・モデル誕生 2001年  アジャイルソフトウェア開発宣言 2024年 イマココ 30年 30年

Slide 73

Slide 73 text

1970年代 ウォーターフォール・モデル誕生 2001年  アジャイルソフトウェア開発宣言 2030年  ??? 1970年代 ウォーターフォール・モデル誕生 2001年  アジャイルソフトウェア開発宣言 2024年 イマココ 30年 30年

Slide 74

Slide 74 text

1970年代 ウォーターフォール・モデル誕生 2001年  アジャイルソフトウェア開発宣言 2030年  ??? 1970年代 ウォーターフォール・モデル誕生 2001年  アジャイルソフトウェア開発宣言 2024年 イマココ 30年 30年

Slide 75

Slide 75 text

Unlearn(学びほぐし) Photo by Anastasia Zhenina on Unsplash

Slide 76

Slide 76 text

“No different! Only different in your mind. You must unlearn what you have learned.” — YODA Photo by Jan S0L0 on Flickr

Slide 77

Slide 77 text

Unlearn 固定観念を捨てる これまでの経験やスキルが無駄になるわけではない これまでの学びをほぐして、再度編み直す

Slide 78

Slide 78 text

AI時代に個人としてどのようにふるまうか 「ソフトウェア開発」も「開発者」も「アジャイル開発」も
 今あるものがかたちを変えたりなくなっていくかもしれない わからない不安のまま置いておくよりも、自ら飛び込んでみて
 やってみたほうがストレスは小さくなる 目の前の現実を受け入れ、不要なこだわりは捨てて、
 学びほぐしをする(Unlearn)

Slide 79

Slide 79 text

お祭りの外から文句を言ってるよりも お祭りの中に飛び込んだほうがきっと楽しい Photo by Danny Howe on Unsplash

Slide 80

Slide 80 text

@TAKAKING22 及部 敬雄 https://agile-monster.com/ やっていきましょう!! 現役のアジャイル開発実践者による アジャイルコーチ 講演、研修、お仕事の依頼などお気軽にどうぞ