Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥

Team Dev - Scrum

Team Dev - Scrum

スクラム開発について

Avatar for a-shinba

a-shinba

June 07, 2025
Tweet

More Decks by a-shinba

Other Decks in Technology

Transcript

  1. 本日のゴール ❏ ソフトウェア開発の世界的な状況を知る ❏ DevOps概要を知る ❏ アジャイル、スクラムについて学ぶ ❏ スクラムWorkshopを実施! ❏

    GitHub と ソフトウェア開発の関連性 ❏ GitHub のサービス理念を知る ❏ GitHub の機能を学ぶ ❏ GitHub Copilotを利用し、AI駆動開発を 知る スクラム開発 GitHub
  2. 世界のビジネス情勢 (2024) 順位 企業名 時価総額(億ドル) ソフトウェア関連性 1 Apple 35,452.09 ◦(モバイルOSやエコシステム全体の統合)

    2 Microsoft 30,855.49 ◦(OS、クラウドサービス、業務支援ソフト) 3 NVIDIA 29,405.14 ◦(AI・GPU関連ソフトウェアの提供) 4 Alphabet (Google) 25,000.00 ◦(検索エンジン、クラウド、広告プラットフォーム) 5 Amazon.com 23,000.00 ◦(クラウド基盤やEC運営ソリューション) 6 Saudi Aramco 22,000.00 × 7 Meta Platforms 18,000.00 ◦(ソーシャルメディア、デジタル広告) 8 Tesla 15,000.00 ◦(車両制御、AI活用の自動運転技術) 9 Broadcom 12,000.00 ◦(通信やネットワーク関連ソフトウェア) 10 Berkshire Hathaway 10,000.00 ×
  3. ソフトウェア開発手法 ウォーターフォール • 従来の開発手法 • アプリケーションの設計、テスト、リ リース計画を最初に行い、遂行する • 仕様が決まっているもの、作りたいも のがはっきりしているもの、金融系な

    どでよく使われる スクラム開発(アジャイル) • 継続的改善を前提としたアジャイル 開発の中の一つの手法 • アプリケーション設計などは行うが、 小さくはじめ、小さく前進してゆく • Webサービスや、アプリケーションで よく使われる • 誤解されやすいが、開発速度をあげ たり、単価を下げる目的はない
  4. ソフトウェアの開発計画 機能A 機能B 機能C 企画 設計 実装 テスト ウォーターフォール開発 すべての物事を順序立てて、上流から下流にかけて開発し、リリースを目

    指す。下流で問題が起こると、上流へ逆流する必要があり、修正が困難 な場合がある。 アジャイル開発 機能をコンパクトにリリースしながら 理想形を目指す。理想形そのものが 変わることもあるが、柔軟な計画変 更に対応可能な場合が多い。 機能A 企画 設計 実装 テスト 機能B 企画 設計 実装 テスト 機能C 企画 設計 実装 テスト
  5. スクラム開発とは? • プロダクト開発フレームワーク ◦ 複雑な課題をより小さな断片に分解し、 ◦ チームがより頻繁に、継続的に価値を提供できるようにする • 特徴 ◦

    機能要求を洗い出し、優先度を流動的に並び替えながら、プロダクトの完成を目指す ◦ 透明性を重視し、状況や問題点が、誰から観ても明らかな状態を目指す ◦ チームビルディングに力を入れており、チーム全体の力を成熟させていく動きもある • よくある勘違い ◦ 工数短縮、効率化、低予算化などは、スクラム開発の目的ではありません ◦ スクラム開発手法が最も優れている、わけではありません
  6. スクラム三本柱 透明性 • プロセスや作業を可視化すること • 透明性があることによって検査が可能になる • 興味を持っている人全員に可視化され、理解できるようにされている状態 • 透明性が低い作成物は価値を低下させ、リスクを高める意思決定につながる可能性がある

    検査 • 問題を早期に検知するため、スクラムの作成物やゴールは頻繁に検査される必要がある • そのために5つのイベントが提供されている • 検査によって適応が可能になる。適応のない検査は意味がないとされている 適応 • プロセスやプロダクトに異常が生じた場合に、それらの修正や改善を行うこと • スクラムチームは、検査によって得られた情報をもとにできるだけ早く対応し、 逸脱を最小限に抑え、適切な方向に素早く修正する=適応することが期待される
  7. 5つの価値基準 確約(Commitment) • スクラムチームは、ゴールを達成し、お互いにサポートすることを確約する 集中(Focus) • スクラムチームは、ゴールに向けて可能な限り進捗できるように、スプリントの作業に集中する 公開(Openness) • スクラムチームとステークホルダーは、作業や課題を公開する

    尊敬(Respect) • スクラムチームのメンバーは、お互いに能力のある独立した個人として尊敬し、 一緒に働く人たちからも同じように尊敬される 勇気(Courage) • スクラムチームのメンバーは、正しいことをする勇気や困難な問題に取り組む勇気を持つ
  8. プロダクトバックログ (PB) プロダクトゴールを達成するために必要な項目の一覧 • プロダクトバックログに登録されているアイテムを「プロダ クトバックログアイテム (PBI)」と呼ぶ • 実現したい項目順に並べる。この順序は直近の計画だけ 立てればよく、順序は定期的にお手入れする

    • 可視性を担保するため、PBIは、縦一列に並べる • PBの責任は、「プロダクトオーナー」が持つ • PBIの作業規模(工数)は、直近の計画だけ立てれば良 い。また、工数を見積もるのは開発者。 • PBIは、タスクリストではない。 • PBIの粒度は、可能な限り分解すること ◦ NG:商品を購入できる ◦ OK:商品を一覧表示する、配送日数を表示する ◦ 分解しすぎて、PBI同士を依存させないこと プロダクトバックログ 1番目に実現したい 2番目に実現したい 3番目に実現したい 4番目に実現したい 5番目に実現したい PBは定期的にお手入れするので、すべ ての順番を決めきる必要はない 99番目に実現したい 100番目に実現したい ・・・ 3つの作成物
  9. プロダクトオーナー (PO) ユーザーの声を代弁する、 PBの責任者! • ユーザーがどのような機能や修正をほしがっているか、チーム に代弁する(発注者の代弁ではない) • PBに対して最終責任を持つ ◦

    ただし、POが許可する場合、開発者がPBの順序の並び 替え、追加、更新を行うことができる ◦ その際も、最終責任者はPOである • 開発者との関わり ◦ PBの相談や更新委任はできるが、開発手法や見積もりな どの干渉はできない • スクラムマスターとの関わり ◦ チーム形成において、スクラムをより浸透させたいときに 連携する。 優れたPOは、ユーザーと同じ情熱を持っている! 3つの役割
  10. 開発者 プロダクトの開発計画からリリース、継続開発まで担当! • 基本的にチームで動き、すべてのチームメンバーが揃えば、プ ロダクトを作る能力が揃う ◦ デザインチーム、設計チームという特定のことしか行わな いサブチームは作らない • 開発とは、コーディングだけではなく、デザイン、設計、ドキュメン

    ト作成なども含まれる • 「モノを作るだけ」ではなく、PBの確認や、チームビルディングな どにも積極的に参加する。 • 経験値の違う開発者がいるのは当然だが、「チームとしての開 発力」を高める努力をする。 専門家として、お互いに責任を持つ 3つの役割
  11. スクラムマスター スクラムを周知させ、実施することに責任を持つ! • チームがスクラムを正しく実施することに責任を持つ • スクラムマスターはチーム全員を多方面からサポートする ◦ 妨害の排除 ◦ 教育、ファシリテーター、コーチ、推進役など

    • よくある勘違い ◦ プロジェクトマネージャーや、管理者ではない ◦ PB整理や、タスクへのアサインなどは行わない ◦ ただし、スクラムとして成り立っていない箇所があればそれ らを促すことはアリ スクラムをこれから取り入れるチームにとっては、その中心 チームがスクラムに慣れてくると、徐々に仕事がなくなっていく 3つの役割
  12. スプリントプランニング スプリント内で最初に行うイベント • PBの上から、スプリントで実装する内容を計画する • 作業工数の見積もりを行う • スプリントプランニングのアウトプットとして、作成物として のスプリントバックログ ができあがる

    • スプリントバックログに登録されている項目を、スプリント バックログアイテム と呼ぶ • 一つのPBIが、2つのスプリントにまたがるような計画はし ない。もし、計画段階でそのようなことが起こりそうであれ ば、PBIを分解し、小さな単位にする • タスク化する場合は、開発者視点や技術単位のタスクでは なく、実際の動作・タスクを完了したらどうなるかを起票す る。 ◦ NG例:API設計、画面デザイン、画面実装 ◦ OK例:お届け日数を計算できるようにする スプリントバックログ 1番目に実現したい 2番目に実現したい 3番目に実現したい 4番目に実現したい 5番目に実現したい 3つの作成物 イベント 「このスプリントを終えとプロダクトがど うなっているか?」というスプリントゴー ルを言語化する
  13. デイリースクラム 毎日行う、スプリントゴールに対する進捗報告の場 • 言語化されたスプリントゴールに対する進捗を報告、スプリントバックログの調整の相談を行う 場 • 上記以外の内容、特に「問題解決のための MTG」としてはいけない。 ◦ 問題解決については、「問題が起こったときにコミュニケーションを図るべき」であり、わざ

    わざ次回のデイリースクラムを待つ必要はない • スプリントプランニングにて、「1日1タスク完了」というタスク化がされていれば、全員が何かしら 進んでいる状態となる。 • 基本的に、毎日同じ時間、同じ場所で行う • ファシリテーターは誰でも良い 3つの作成物 イベント
  14. Q&A

  15. ワークショップ! テーマ:本日学んだスクラム開発手法 を、スクラム開発を知らない「同級生」「同僚」 「両親」に紹介、理解してもらう! ルール: ・1枚のスライドに、極力文字を使わず表現する ・スクラムに関するイラストを検索しない ・スクラムガイドは OK! ・20分事前準備、スプリント

    20分 スプリントを何度か回します。 スプリントレビューも行いますので、プレゼン準備も必要です。 役割を決める ①プロダクトゴール ②プロダクトバックログ ③スプリントプランニング (バックログ) ④開発 ⑤スプリントレビュー発表15:00!! ⑥スプリントレトロスペクティブ
  16. Q. バグが発生したらどうするの? • スプリント内で発生したバグは修正するほか選択肢はありません。
 • バグがある(顕在化されている)状態でリリース可能であったとしても、できる限り取り除くべきです。 スプリント内のバグは「バグ」というよりも、「チームは開発を完了していない」というステータス で す。
 •

    もしも同一スプリント内で取り除くことができないのであれば、それは開発者の実施した予測(見積 もり)か、スプリントプランニングに誤りがあったことになるので、レトロスペクティブで振り返り、スク ラムの進め方を適応させる必要があります。
 • スプリント外(1つ以上前のスプリント)で発生したバグ 
 • そのバグを取り除かないとスプリントゴールを達成できない場合は、取り除く作業が入ります。 
 • それが残ったままでもスプリントゴールを達成できるのであれば、次スプリント移行で修正します。 PBIとしてのバグ修正は、機能要求と同じように扱われるべきです。