1 |
A |
授業ガイダンス ・従来の開発手法とアジャイル開発手法 ・グループ開発手法とバージョン管理システム |
事前学修 |
アジャイル開発の歴史や必要性について調べておく。(2時間) |
事後学修 |
自分がこれまでに書いたプログラムのコードを参照し、アジャイル開発やグループ開発といった観点から、どのような改良ポイントが考えられるかをまとめる。(2時間) |
2 |
A |
アジャイル開発手法XP(ExtremeProgramming)の紹介 ・ソフトウェア開発における価値設定とルール・プラクティス |
事前学修 |
ソフトウェアのグループ開発において、それをサポートするための手法について調べてまとめてくる。(2時間) |
事後学修 |
実際のプロジェクト事例に対して、XPのプラクティスを実際に適用し、その有用性について考える。(2時間) |
3 |
A |
アジャイル開発手法 スクラムの紹介 ・スクラムの3つの柱:透明性、検査、適応 ・スクラムの役割分担、イベント、アーティファクト |
事前学修 |
scrumguides.org の公式ガイドを読み、スクラムの基本概念をまとめる。(2時間) |
事後学修 |
スクラムの3種類の役割について、それぞれの行動目的をまとめ、それぞれが持っているべき知識や技能について確認する。(2時間) |
4 |
B,C |
スクラム演習 その1 ・4?6人程度のグループに分かれて作業を行う。 ・ロールプレイングゲーム形式でスクラム開発に取り組み、それぞれの役割の特徴を理解する。 ・ゲーム終了後にグループごとにゲーム内の経験を共有し、ディスカッションを行う。 |
事前学修 |
スクラムの基本的な原則や価値観について復習し、スクラムの全体像を把握する。(2時間) |
事後学修 |
ロールプレイングゲームのディスカッションについて振り返り、スクラムの役割分担についてまとめ直す。(2時間) |
5 |
B,C |
スクラム演習 その2 ・4?6人程度のグループに分かれて作業を行う。 ・ロールプレイングゲーム形式でスクラム開発に取り組み、それぞれの役割の特徴を理解する。 ・ゲーム終了後にグループごとにゲーム内の経験を共有し、ディスカッションを行う。 |
事前学修 |
スクラム開発に関する基本的な知識を復習する。(2時間) |
事後学修 |
ロールプレイングゲームのディスカッションについて振り返り、スクラムのイベントとアーティファクトについてまとめ直す。(2時間) |
6 |
A,C |
Gitの基本演習1 ・バージョン管理の概念、Gitの基本操作 ・リポジトリの初期化、ステージ、コミット、コミットの取り消し ・Gitの操作演習 |
事前学修 |
Gitの基本操作ができる環境をセットアップする。ドキュメントを参照して、リポジトリの基本操作手順を事前に確認しておく。(2時間) |
事後学修 |
授業で実施したGitの基本操作演習に基づいて、同様の操作を繰り返し練習する。とくにコミットの取り消しについて、異なるシナリオで練習を行い、コミットの取り扱いに習熟する。(2時間) |
7 |
A,C |
Gitの基本演習2 ・ブランチの作成、チェックアウト、マージ、コンフリクトの解決 ・Gitの操作演習 |
事前学修 |
Gitの基本操作(リポジトリの初期化、ステージ、コミット、コミットの取り消し)をよく復習しておく。(2時間) |
事後学修 |
授業で実施したブランチの作成、チェックアウト、マージ、コンフリクトの解決などの演習をもとに、自分の環境で同様の操作を繰り返し練習する。とくにコンフリクトの解決について、異なるコンフリクトシナリオに対処する練習を実施し、理解を深める。(2時間) |
8 |
A,C |
Gitの基本演習3 ・リモートリポジトリの操作 ・プルリクエストの作成、コードレビュー、マージ ・Gitの操作演習 |
事前学修 |
Gitの基本操作およびブランチに関する操作をよく復習しておく。(2時間) |
事後学修 |
授業で実施したリモートリポジトリの操作(クローン、プッシュ、プルなど)の演習をもとに、自分の環境で同様の操作を繰り返し練習する。プルリクエストの作成、コードレビュー、マージといった操作に習熟することにより、実際のプルリクエストのプロセスを体験し、コラボレーションの重要性を理解する。(2時間) |
9 |
A,C |
Gitの基本演習4 ・ブランチ戦略とワークフロー ・Gitの高度な機能:タグ付け、リベースなど ・Git活用のプラクティス:実践的なアドバイスの提供 ・Gitの操作演習 |
事前学修 |
Gitの基本操作およびブランチに関する操作をよく復習しておく。(4時間) |
事後学修 |
ブランチ戦略とワークフローに関する具体的なシナリオを通じて、実際のプロジェクトに対して適切なブランチ戦略を選択し、ワークフローを設計する方法を検討する。(4時間) |
10 |
A |
ユニット・テスト、テスト駆動開発 (TDD) ・ユニット・テストの重要性と基本原則 ・テストケースの設計と実行方法 ・テスト駆動開発 (TDD) の概要、テストファーストアプローチ、リファクタリング
|
事前学修 |
オブジェクト指向プログラミングの基礎を復習しておく。(2時間) |
事後学修 |
実際のプログラムにTDDを適用する演習を行う。書いたテストコードの品質を評価し、テストケースの網羅率や効果を検証する。(2時間) |
11 |
A |
アジャイル開発の拡張 その1 ・スケールしたアジャイル開発、DevOpsの統合、アジャイルの哲学と組織文化 ・アジャイル開発のケーススタディ:アジャイル開発の成功事例や失敗事例の検討
|
事前学修 |
アジャイル開発の基本原則とXP、スクラムの内容について復習する。(2時間) |
事後学修 |
自分のプロジェクトに関するアジャイル開発手法を実践的に適用するためのビジョンを明確にし、アジャイルの原則に基づいてプロジェクト計画を策定する。(2時間) |
12 |
A |
アジャイル開発の拡張 その2 ・アジャイルプロジェクトのツール、プラクティス:ユーザーストーリーマッピング、アジャイルメトリクス、継続的インテグレーション(CI)、継続的デリバリー(CD)など
|
事前学修 |
アジャイル開発の基本原則とXP、スクラムの内容について復習し、ユーザーストーリーマッピング、アジャイルメトリクス、CI/CDの基本概念に関する資料を読んでくる。(2時間) |
事後学修 |
授業で紹介されたツールやプラクティスに関する追加の資料を読み、小規模なプロジェクトや演習で実践する。(2時間) |
13 |
A |
まとめ |
事前学修 |
この授業で学んだ技術の相互関係をよく復習しておく。(4時間) |
事後学修 |
授業内で紹介する文献を読んで、最新のチーム開発のサポート技術について知識を得る。(4時間) |