2025年度後期チーム開発技法

曜日・時限 木曜日1時限 期別 後期 週時間数 2
ナンバリング HB230708,HW230709
開講学科等 総合情報学部-デジタルゲーム学科
総合情報学部-ゲーム&メディア学科
教員名 沼田 哲史
沼田 哲史
職務履歴

https://research.osakac.ac.jp/index.php?%e6%b2%bc%e7%94%b0%e3%80%80%e5%93%b2%e5%8f%b2

教員情報データベースに遷移します

目的

この授業では、多くのソフトウエア開発現場においてよく使われる技法や、チーム開発を支えるために登場した最新のツールについて学びます。その中のいくつかのツールを使いながら、実際のチーム開発を体験する演習を行います。チーム開発をスムーズに進めるために必要となる各種の知識についても学びましょう。

授業計画

授業回 形式 学修内容 学修課題
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時間)

授業形式記号

  • A:一斉授業(通常の講義)
  • B:問題発見・解決学習、プロジェクト学習
  • C:体験、実験、実習、演習など
  • D:調査 分析、解析など
  • E:ものづくり、作品制作
  • F:グループワーク(ディスカッション・ディベートを含む)
  • G:プレゼンテーション
  • H:地域・企業 連携型学習
  • I:その他

到達目標

・チーム開発に必要な基礎知識を身につけることができる。
・様々な手法とその成り立ちの背景を正しく理解することができる。
・グループワーク用のツールを活用して、情報伝達や問題解決に取り組むことができる。
・コミュニケーションに必要な技能を理解し、プログラミングを主体とした実務において、効率的かつ安定的に周囲のメンバーと協調して成果を上げることができる。

本科目に関連するディプロマ・ポリシー項目
〇 2024年度以降の入学生
  下記リンク先のカリキュラムマップを参照.
    https://www.osakac.ac.jp/about/policy/faculty/

○ 2023年度以前の入学生
  習得する資質・能力:知識・理解 【DP-W-1-1】
                               汎用的技能 【DP-W-2-1】【DP-W-2-2】

評価方法と評価観点

評価方法 配点合計知識・理解力応用力コミュニケーション力態度・志向性創造力 合計
定期試験またはレポート試験 100% 60% 20% 20% 100%
小テスト、小論文 0%
グループワーク 0%
プレゼンテーション 0%
レポート、宿題 0%
授業での姿勢(ノート、質疑など) 0%
作品、パフォーマンス(実技、実演) 0%
その他1(具体的に: 0%
その他2(具体的に: 0%
100% 60% 20% 20% 0% 0% 100%

教科書・参考書

なし。授業内で適宜資料を配布する。

オフィスアワー

・オフィスアワーは火曜日のお昼休み、教員室(10号館206)で実施します。
 ※学内外の用務のため、オフィスアワーでも教員が教員室に不在の可能性があります。
  事前に numata@osakac.ac.jp までメールでご連絡いただくのが確実です。

・授業のMoodleに「授業に関する質問・相談」のトピックを設け、随時、質問・相談を受け付けます。
 ※回答は授業期間中の平日9:30〜17:00に行います。

その他

・出席回数が8回未満の場合は、D評価とします(これは予定なので再設定することがあります)。
・課題、レポート、ワーク等の講評は授業内で行います。

実務経験のある教員による授業科目

この授業は、実務経験のある教員によって実施されます。この授業を担当する沼田は、プログラミングに関する書籍を多数執筆・出版しており、プログラミングの教材開発やソフトウェア開発に関する研究が専門です。