AI時代のアジャイル開発

Agile Development in the AI Era

概要

Mendix Japan Day 2024にて。

プロフィールやお問い合わせはこちらからどうぞ!

スライドの内容

  1. AI時代のアジャイル開発 及部敬雄 (@TAKAKING22) 2024/6/20
  2. AIはもっと前から存在していた
  3. AIの歴史 1943年、ニューラルネットワーク研究発祥 1956年、ダートマス会議にて、
 Artificial Intelligence (AI)という言葉が生まれる 1950年代後半ʙ1970年代、第一次AIブーム 1980年代ʙ1990年代、第二次AIブーム 2000年代ʙ現在、第三次AIブーム
  4. AIが登場する主なエンタメ作品 スターウォーズ マトリックス A.I. アイ,ロボット 攻殻機動隊 PSYCHO-PASS サイコパス
  5. Photo by BoliviaInteligente on Unsplash
  6. AI(未来)が急に現実になった Photo by Igor Omilaev on Unsplash
  7. 一方その頃、ソフトウェア開発では…
  8. ソフトウェア開発 技術の進化 ビジネスシーンの変化 デジタルトランスフォーメーション COVID-19
  9. ソフトウェア開発 技術の進化 ビジネスシーンの変化 デジタルトランスフォーメーション COVID-19 アジャイル開発が誕生して約23年
  10. 今日のお話 もともと変化が複雑で激しいと言われていた時代に、
 AIというさらに大きな変化が飛び込んできた ソフトウェア開発ではさまざまの変化が起きる中で、
 アジャイル開発が誕生してから約23年間が経過した これからはじまるAI時代に、
 ソフトウェア開発やアジャイル開発はどうなるのか
  11. AI時代のアジャイル開発 及部敬雄 (@TAKAKING22) 2024/6/20
  12. TAKAKING22 株式会社ホロラボ グループリード AGILE-MONSTER.COM アジャイルコーチ Silver Bullet Club所属 及部敬雄
  13. 個人やチームや組織を支援する、アジャイルコーチをしています。 現在進行で自分自身もエンジニアとしてプロダクト開発に取り組んでいます。 そこで得た経験知をもとにさまざまなチームや組織に貢献する活動をしています。 チームづくり、アジャイル開発、プロダクト開発が大好きです。 ぜひお気軽にお声がけください!
  14. 本題に入る前に 未来はどうなるかわからないですが、妄想することはできます 妄想はいいぞ! 言われなくても勝手に妄想することは人間の強み
  15. アジェンダ アジャイル開発とは AIとソフトウェア開発 AI時代のアジャイル開発 AI時代に個人としてどうふるまうか
  16. アジェンダ アジャイル開発とは AIとソフトウェア開発 AI時代のアジャイル開発 AI時代に個人としてどうふるまうか
  17. アジャイル開発 Photo by Austin Distel on Unsplash
    1. 大きな問題は小さくする 2. 本当に大事なことに集中して、それ以外のことは忘れる 3. ちゃんと動くソフトウェアを届ける 4. フィードバックを求める 5. 必要とあらば進路を変える
  18. アジャイル開発誕生に至る時代背景 ソフトウェア開発誕生 1970年頃、ウォーターフォール・モデル誕生
  19. 伝統的ソフトウェア開発 職人芸的な開発から工業製品としての開発方法へ 工程に分けて進捗を管理する 徹底的に「分析」し、慎重に「計画」して、「実装」する 重量ソフトウェア開発手法
  20. ところが・・・ 科学的管理法から強く影響を受けている 生産とソフトウェア開発は違うことが多い ソフトウェア開発は年々複雑で変化が大きくなっていく
  21. 2001年、スノーバード
  22. XP XP XP XP XP Scrum Scrum Scrum ASD FDD
  23. XP XP XP XP XP Scrum Scrum Scrum ASD FDD
  24. アジャイルソフトウェア開発宣言の署名者 世界中の軽量ソフトウェア開発手法において名声のある人たち それぞれが共通して大切だと思っていることをまとめたものが
 アジャイルソフトウェア開発宣言
  25. 重量ソフトウェア開発手法に対するアンチテーゼ Photo by Robert Lukeman on Unsplash
  26. 作業が終わり、みんなは普段の仕事・活動・生活に戻っていっ た。誰もが物語はそこで終わりだと思っていた。 その後に非常に大きな支持を集めることになるとは、誰も想 像していなかった。 Clean Agile 基本に立ち戻れ/Robert C. Martin 「軽量級プロセスのサミット」に参加したい人が本当にいる
  27. 世界中のソフトウェア開発者が熱狂した Photo by Spencer Davis on Unsplash
  28. アジャイル開発の正体 アジャイル開発はムーブメントだと捉えてみる 定義をしたり、対立構造を考えることに意味はない あたりまえを打ち壊して変化しようとする反発エネルギー 同じ想いをもった人たちが団結して興す社会的運動
  29. 「DX白書2023」独立行政法人情報処理推進機構 22.9% 53.9%
  30. 「アーリーアダプターとは?獲得方法とイノベーター理論をわかりやすく解説」(https://go.chatwork.com/ja/column/efficient/efficient-351.html) 日本 22.9% アメリカ 53.9%
  31. アジェンダ アジャイル開発とは AIとソフトウェア開発 AI時代のアジャイル開発 AI時代に個人としてどうふるまうか
  32. 生成AIの主なサービス
  33. 生成AIによってソフトウェア開発はどう変わるのか Photo by Nihon Graphy on Unsplash
  34. 開発者がコードを書く支援 GitHub Copilotのユーザー数は2023年6月時点で934,533人
 ※2024年2月時点で130万人を突破 Copilotユーザーはツールに慣れるにつれ、生産性は少し落ちてから大幅に上昇し、
 経験の浅いユーザーが最も恩恵を受けている(32%の生産性向上) stack overflowへのアクセス数はLLMプロダクト登場以降急激に減少している https://www.stateof.ai/2023-report-launch
  35. AIネイティブ開発 GitHub Copilot Patters & Exercises(旧AI Native Development Guide) コメントからコードを生成する
  36. 開発者を代替するAIエンジニア 2024年3月12日にCognition社が「Devin」を発表 世界初のAIエンジニア 支援型ではなく自律型で実際にタスクをこなすことができる 仕様変更の対応、バグの発見と修正、デバッグ、デプロイ… 2024年6月14日現在で一般公開はまだ(Waiting List申請まで) https://www.youtube.com/watch?v=fjHtjT7GO1c
  37. ローコード・ノーコードツールの進化 これまでのローコード・ノーコードツールの課題は自由度や拡張性 AIを活用することで対応できるシステムの選択肢が広がる 開発者ではなくても開発保守運用できる機会が増える https://www.mendix.com/platform/ai/#MendixMLKit
  38. 開発以外の工程での生成AI活用 要件定義 顧客からの要求や仕様書を自然言語で解析し、要件を抽出する 設計 様々な過去の設計情報をもとに最適なアーキテクチャや設計パタンを提案する テスト 仕様やコードからテストケースを自動的に作成し、網羅的なテストを実施する ソースコードを書きながら自動テストを行い、リアルタイムにフィードバックをする 保守 ログやパフォーマンスデータを解析し、障害の予兆を検知して事前に対策する
  39. これまでのソフトウェアづくり ソフトウェア ユーザー 求めているもの (情報、商品、体験…) ユーザーとユーザーが求めているもの(情報、商品、体験)をどうつなげるか つなげ方を試行錯誤するところがソフトウェア開発の本丸 インプット→仕組み→アウトプット 仕組み=検索、レコメンド、アルゴリズム、ユーザーインタフェース…
  40. 生成AIの登場によって… AIでいい感じによろ!
  41. AI時代のソフトウェアづくり ソフトウェア ユーザー 求めているもの (情報、商品、体験…) つなげ方の一部あるいは大部分を生成AIに任せるように パーソナライズの進化と深化 多様なインプットを受け取ることができる ユーザーが求めるアウトプット方式を選ぶことができる 「予め用意したものを提供する」から「必要なものがリアルタイムで生成される」へ
  42. もちろんまだまだ課題は存在する 間違ったことを正しいことのように言うことがある(ハルシネ ーション) 苦手とする作業が存在する 高い精度を求める作業など 同じインプットをしても違うアウトプットをすることがある テストが大変
  43. 精度はどんどん向上していく Photo by Eugene Zhyvchik on Unsplash
  44. 変化は既に起きているし加速していく Photo by CHUTTERSNAP on Unsplash
  45. その中でいつまで今までと同じような ソフトウェア開発をしていてよいのだろうか Photo by Krystian Piątek on Unsplash
  46. アジェンダ アジャイル開発とは AIとソフトウェア開発 AI時代のアジャイル開発 AI時代に個人としてどうふるまうか
  47. 「開発プロセス」や「人」も変化する対象 Photo by Gift Habeshaw on Unsplash
  48. アジャイル開発における開発サイクル “スプリントは1ヶ月以内の決まった長さ”(スクラムガイド2020) コミュニケーションをするタイミングをつくる ex. スプリントプランニング、スプリントレビュー、デイリースクラム… それ以外の時間で開発をする ίϛϡχέʔγϣϯ ։ൃ .PO 5VF
  49. 開発サイクルが短くなる AIがコーディングを行うようになると、開発自体にはそれほど時間がかからなくなる その分、なにをつくるのかの検討、つくったものの評価(レビュー)の時間と回数が増える 開発サイクルが短くなり、1日スプリントが基本になっていく スプリント自体が不要になり、カンバンなどでフロー制御したくなるかもしれない .PO 5VF 8FE 5IV ‘SJ
  50. アジャイル開発におけるチーム 小規模で自己組織化されたクロスファンクショナルチーム チームメンバーがお互いに補完するさまざまな知識やスキルを持っている さまざまな変化に対応し、チームで多様な問題を解決できるようにする
  51. 人間+AIのチームへ AIは多様なドメイン知識、プログラミングスキル、設計スキルをもっている 知識の総量は人間よりもはるかに大きい(今後ますます大きくなっていく) もちろん人間にしかできない領域も存在する 人間のみのチーム 人間+AIのチーム AI
  52. より小さなチーム、より多くのチームへ 人間+AIのチームであれば、少ない人数でも経験やスキルを補完できるようになる 10人以下(スクラムガイド2020)がよいとされていたチームサイズがより小さくなる 小さなチームが増えるので、これまでよりも多くのチームでコラボレーションをしながら
 開発を進めるシーンが増えるかもしれない 6人 X 2チーム (1ʙ3人+AI) X
  53. チームの役割 開発チームは顧客やプロダクトオーナーと会話をし、何を開発する必要があるのか、
 なぜ必要なのかを理解し、それを実現するためにコードを書いてソフトウェアを開発する このサイクルを反復的に行い、ソフトウェアを実現させていく ソフトウェア 顧客や プロダクトオーナー 開発チーム
  54. チームメンバーとしてのAI AIはコードにアクセスすることができるようになり、開発やレビューをする 開発者からのリクエストに応じて仕事を完遂することができる 顧客やプロダクトオーナーと直接コミュニケーションをして、
 ユーザー調査や競合分析を手伝い、壁打ち相手になる 要求をヒアリングし、要件や設計に変換して開発者に伝える ソフトウェア 顧客や プロダクトオーナー 開発チーム
  55. 人間とAIの翻訳者としての開発者 AIが高度になっていくことで、ほとんどの作業を実行できるようになる それが進んでいくと、やがて人間が作業するよりも高速かつ正確になる
 (おまけにAIは人間のように疲れないので常時そして並列で働くことができる) 開発者の役割は、顧客やプロダクトオーナーとAIの間に入り、
 ソフトウェアの知識をベースにコミュニケーションを補助したり調整することがメインになる ソフトウェア 顧客や プロダクトオーナー 開発者
  56. やがて開発チームは存在しなくなる? AIの高度化が進み、ソフトウェアの知識をベースにした翻訳すらも不要になると、
 AIだけでソフトウェア開発の仕事が完結するようになる 顧客・プロダクトオーナー・開発者といったロールでの区分けは不要になり、
 開発チームは存在しなくなる ソフトウェア 人間 AI
  57. 「コンピュータ」の語源 “「コンピュータ」という用語は、17世紀初頭から使用されており(最初の文献での言及は1613 年に遡る)、電子コンピュータが商業的に利用可能になる前に数学的計算を行う人、「計算する 人」を意味していた”(wikipedia) かつでは「コンピュータ」という職業が存在したが、とっくに存在しなくなっている By NACA (NASA) - Dryden
  58. AI時代のアジャイル開発 本当にこうなるかはわからない ただしこれだけ大きく変化している中で、
 自分たちの仕事や開発プロセスだけが変化しないことは
 考えにくい
  59. アジャイル開発は変化のムーブメントだった
  60. We are uncovering better ways of developing software
  61. アジェンダ アジャイル開発とは AIとソフトウェア開発 AI時代のアジャイル開発 AI時代に個人としてどうふるまうか
  62. 1970年代 ウォーターフォール・モデル誕生 2001年  アジャイルソフトウェア開発宣言 2024年 イマココ
  63. 1970年代 ウォーターフォール・モデル誕生 2001年  アジャイルソフトウェア開発宣言 2030年  ??? 1970年代 ウォーターフォール・モデル誕生 2001年  アジャイルソフトウェア開発宣言 2024年 イマココ 30年 30年
  64. 1970年代 ウォーターフォール・モデル誕生 2001年  アジャイルソフトウェア開発宣言 2030年  ??? 1970年代 ウォーターフォール・モデル誕生 2001年  アジャイルソフトウェア開発宣言 2024年 イマココ 30年 30年
  65. 1970年代 ウォーターフォール・モデル誕生 2001年  アジャイルソフトウェア開発宣言 2030年  ??? 1970年代 ウォーターフォール・モデル誕生 2001年  アジャイルソフトウェア開発宣言 2024年 イマココ 30年 30年
  66. Unlearn(学びほぐし) Photo by Anastasia Zhenina on Unsplash
  67. “No different! Only different in your mind. You must unlearn
  68. Unlearn 固定観念を捨てる これまでの経験やスキルが無駄になるわけではない これまでの学びをほぐして、再度編み直す
  69. AI時代に個人としてどのようにふるまうか 「ソフトウェア開発」も「開発者」も「アジャイル開発」も
 今あるものがかたちを変えたりなくなっていくかもしれない わからない不安のまま置いておくよりも、自ら飛び込んでみて
 やってみたほうがストレスは小さくなる 目の前の現実を受け入れ、不要なこだわりは捨てて、
 学びほぐしをする(Unlearn)
  70. お祭りの外から文句を言ってるよりも お祭りの中に飛び込んだほうがきっと楽しい Photo by Danny Howe on Unsplash
  71. @TAKAKING22 及部 敬雄 https://agile-monster.com/ やっていきましょう!! 現役のアジャイル開発実践者による アジャイルコーチ 講演、研修、お仕事の依頼などお気軽にどうぞ

サイト内を検索