分野・地域を越えた実践的情報教育協働ネットワーク

~Scrum × PBL × TiDD~
井垣 宏
大阪大学大学院情報科学研究科

Cloud Specialist Program Initiative for Reality‐based ...
Cloud Specialist Program Initiative for Reality‐based Advanced Learning

自己紹介
名前:井垣 宏(IGAKI Hiroshi)
 Twitter: @hirocell...
Cloud Specialist Program Initiative for Reality‐based Advanced Learning

enPiT(Education Network for Practical 
Informatio...
Cloud Specialist Program Initiative for Reality‐based Advanced Learning

カリキュラムの基本方針
受講生: 修士課程1年,個人で数100行のプログラミング経験
前期

合宿...
Cloud Specialist Program Initiative for Reality‐based Advanced Learning

クラウド開発基礎及びクラウド基礎PBL(事前知識学習及び合宿前半)
Scrum+チケット駆動開発
...
Cloud Specialist Program Initiative for Reality‐based Advanced Learning

クラウド基礎PBL
期間:8/22~26
 ただし,開発期間は22~25の4日間
 受講生は...
Cloud Specialist Program Initiative for Reality‐based Advanced Learning

クラウド基礎PBLの風景

分野・地域を越えた実践的情報教育協働ネットワーク

© Cloud S...
Cloud Specialist Program Initiative for Reality‐based Advanced Learning

Project‐based Learning*
• 有期性がある
• 価値の創造に繋がる開発体験を...
Cloud Specialist Program Initiative for Reality‐based Advanced Learning

PBLのメリット
従来の教育手法では育成が難しかった能
力の効率的な育成が可能となった
チーム...
Cloud Specialist Program Initiative for Reality‐based Advanced Learning

PBLにおける既存課題とその改善
これまで

評価困難
 既存のPBLでは,成果物
評価やアン...
Cloud Specialist Program Initiative for Reality‐based Advanced Learning

PBL+チケット駆動開発
受講生の開発行動をチケットとして管理させる
 ‐>プロジェクトの透明...
Cloud Specialist Program Initiative for Reality‐based Advanced Learning

Scrum
アジャイルソフトウェア開発フレームワーク
決まっているのは枠だけで方法論ではない
...
Cloud Specialist Program Initiative for Reality‐based Advanced Learning

Scrumフレームワーク
3つのロール,4つのイベント,3つの成果物
スプリント計画
各種仕様書...
Cloud Specialist Program Initiative for Reality‐based Advanced Learning

我々のPBLで教えたいこと(教授目標)
Scrumフレームワークの理解
各イベントにおけるプロ...
Cloud Specialist Program Initiative for Reality‐based Advanced Learning

スプリントの時間配分(タイムボックス)
開発時間は固定し,計画・振り返りに余裕をもたせた
スプリ...
Cloud Specialist Program Initiative for Reality‐based Advanced Learning

教授目標に合わせたプロジェクト評価基準の策定

Quality
仕様書に則したプロダクト(ソフ...
Cloud Specialist Program Initiative for Reality‐based Advanced Learning

遵守すべきプロセスルールの例
プロダクトの種類ごとのDoD(Definition of Done...
Cloud Specialist Program Initiative for Reality‐based Advanced Learning

Assignment
タスクが適切に分担されているかを示す指標
各自が分担するタスクの量や種類...
Cloud Specialist Program Initiative for Reality‐based Advanced Learning

Assignment制約の例
必須制約
作成(ソース):全開発期間終了時,各メンバのタスク担
当...
Cloud Specialist Program Initiative for Reality‐based Advanced Learning

スプリント計画へのTiDD導入
スプリントバックログ=チケット群
スプリント計画時にチケット作...
Cloud Specialist Program Initiative for Reality‐based Advanced Learning

チケット入力項目
タスク分類
作成(ソース)
作成(単体テスト)
レビュー
作成(結合テスト)
バ...
Cloud Specialist Program Initiative for Reality‐based Advanced Learning

チケット例
生チケットを何枚か掲載

分野・地域を越えた実践的情報教育協働ネットワーク

© C...
Cloud Specialist Program Initiative for Reality‐based Advanced Learning

開発へのTiDDの導入
開発と連動してチケットを操作する
コンポーネント:class A
コンポ...
Cloud Specialist Program Initiative for Reality‐based Advanced Learning

開発へのTiDDの導入
開発と連動してチケットを操作する
コンポーネント:class A
コンポ...
Cloud Specialist Program Initiative for Reality‐based Advanced Learning

CI: Continuous Integration(継続的インテグレーション)とは
テストも含...
Cloud Specialist Program Initiative for Reality‐based Advanced Learning

開発へのCI(Continuous Integration)の導入
• PR3. 作成(ソースコー...
Cloud Specialist Program Initiative for Reality‐based Advanced Learning

振り返りへのTiDDの導入
振り返りのための判断基準の多くをチケット
から取得できる
Assi...
Cloud Specialist Program Initiative for Reality‐based Advanced Learning

評価基準(QAD)の定量評価
分析対象
チケット群
CI記録
svnコミットログ

分野・...
Cloud Specialist Program Initiative for Reality‐based Advanced Learning

CIのビルド成功率
 PR3. 作成(ソースコード)or バグ修正(ソースコード)完了時には,
...
Cloud Specialist Program Initiative for Reality‐based Advanced Learning

レビュー済コンポーネント数
SR3.結合テスト対象のストーリーの全成果物はレビューま
ですべて完...
Cloud Specialist Program Initiative for Reality‐based Advanced Learning

作成(ソース)のAssignment制約
作成(ソース):全開発期間終了時,各メンバのタスク担
...
Cloud Specialist Program Initiative for Reality‐based Advanced Learning

作成(ソース)のAssignment制約
:悪かったチーム(GB9)
GB

作成(ソース):全...
Cloud Specialist Program Initiative for Reality‐based Advanced Learning

作成(ソース)のAssignment制約
:良かったチーム(GB1)

作成(ソース):全開発期...
Cloud Specialist Program Initiative for Reality‐based Advanced Learning

実装US(User Stories)&達成率
最終スプリント開始時の開発予定US数と実際に
開発...
Cloud Specialist Program Initiative for Reality‐based Advanced Learning

コミット‐チケット対応(評価対象外)
受講生のコミットと登録されたチケットの対応がど
の程度とれ...
Cloud Specialist Program Initiative for Reality‐based Advanced Learning

コミット‐チケット対応(評価対象外)
:悪かった例(GB1)
コミットとチケットの対応が取れてい...
Cloud Specialist Program Initiative for Reality‐based Advanced Learning

コミット‐チケット対応(評価対象外)
:良かった例(GB9)
すべての開発者がコミット前後でのチ...
Cloud Specialist Program Initiative for Reality‐based Advanced Learning

定量的なフィードバック
項目ごとに数値
化し,チームに
フィードバックを
行った

分野・地域を...
Cloud Specialist Program Initiative for Reality‐based Advanced Learning

チケットシステムに求めるもの
(あるいはなぜ私が4年前にTracを選んだか)
 導入・設定のため...
Cloud Specialist Program Initiative for Reality‐based Advanced Learning

まとめ
Scrumの初期教育にチケット駆動開発を導
入してみた
プロジェクトの透明化,検査,適...
Cloud Specialist Program Initiative for Reality‐based Advanced Learning

今後の課題
チームだけでなく,個人レベルでのフィードバックも
 開発生産性,バグ混入率等
 ...
Upcoming SlideShare
Loading in...5
×

Scrum × PBL × チケット駆動開発

4,193

Published on

ScrumベースのPBLにチケット駆動開発を導入した事例として,教育カリキュラム「CloudSpiral」をRxTstudy( https://sites.google.com/site/rxtstudy/ )の第9回勉強会で紹介させていただきました.
以前の発表より,チケット駆動開発部分の運用と分析結果を詳細化してます!

Published in: Education
0 Comments
4 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
4,193
On Slideshare
0
From Embeds
0
Number of Embeds
13
Actions
Shares
0
Downloads
6
Comments
0
Likes
4
Embeds 0
No embeds

No notes for slide

Scrum × PBL × チケット駆動開発

  1. 1. 分野・地域を越えた実践的情報教育協働ネットワーク ~Scrum × PBL × TiDD~ 井垣 宏 大阪大学大学院情報科学研究科 Cloud Specialist Program Initiative for Reality‐based Advanced Learning
  2. 2. Cloud Specialist Program Initiative for Reality‐based Advanced Learning 自己紹介 名前:井垣 宏(IGAKI Hiroshi)  Twitter: @hirocell 博士(工学)  奈良先端科学技術大学院大学で取得 現所属:大阪大学大学院情報科学研究科 役職:特任准教授  「ソフトウェアイノベーション先導のための研究教育プログラム の開発」プロジェクト 専門分野  クラウド環境を用いたソフトウェア工学教育  ユーザインタフェース  クラウドコンピューティング,SOA © Cloud Spiral partners 2013 分野・地域を越えた実践的情報教育協働ネットワーク 2
  3. 3. Cloud Specialist Program Initiative for Reality‐based Advanced Learning enPiT(Education Network for Practical  Information Technologies) 分野・地域を越えた実践的情報教育協働ネットワーク © Cloud Spiral partners 2013 3
  4. 4. Cloud Specialist Program Initiative for Reality‐based Advanced Learning カリキュラムの基本方針 受講生: 修士課程1年,個人で数100行のプログラミング経験 前期 合宿前半 クラウド開発基礎 (下記演習と合わせて 10日×4コマ @中之島センター) クラウド基礎 PBL(1W) 合宿後半 クラウド開発 応用(1W) 後期 クラウド発展PBL (3回の対面講義と 分散開発) クラウド開発演習 クラウドを利用したアジャイル開発(Scrum)の学習 -チームでどのように作るか(チームビルディング) -プロセス・プロダクト品質を意識したScrum開発 -継続的インテグレーション 分野・地域を越えた実践的情報教育協働ネットワーク クラウドを利用したプロダクトの学習 -クラウドを使って何ができるか -チームでクラウドを使った問題解決をする 4 4
  5. 5. Cloud Specialist Program Initiative for Reality‐based Advanced Learning クラウド開発基礎及びクラウド基礎PBL(事前知識学習及び合宿前半) Scrum+チケット駆動開発 Scrum 3つのロール 4つのイベント 3つのプロダクト プロジェクトの透明化 クラウド環境を利用した 開発手法 QADにもとづく プロジェクト管理 DaaS(Desk top as a Service)を利 用した開発 Quality(プロダクト・プロセス品質) チケットシステムと版管理システム (svn)を利用したタスク管理 Assignment(タスク割り当て, 知識伝達) CIツール(jenkins)を利用した 継続的統合とテスト可視化 Delivery(納期計画) プロジェクトの検査 プロジェクトの適応 MVCモデルの理解と各層 の実装 チケット駆動開発 チケットシステム (Trac) タスクの記録,抽出 ファシリテーションスキル プレゼンテーション MongoDB Java,JavaScriptによる Webアプリケーション実装 アプリケーションサーバ (Tomcat) Webアプリケーションフレームワーク(DWR)の利用 概要設計書(ドメインモデル,クラス図,シーケン ス図,ロバストネス図)の書き方,読み方 詳細設計書 (ロバストネス図,クラス図,シーケ ンス図,javadoc,DB仕様書, テスト仕様等)の読み方 テスト技法 チームビルディング 会議の進め方,議 事録のまとめ方 単体テスト,カバレッジ 結合テスト 分野・地域を越えた実践的情報教育協働ネットワーク Webアプリケーション開発 5 5 © Cloud Spiral partners 2013
  6. 6. Cloud Specialist Program Initiative for Reality‐based Advanced Learning クラウド基礎PBL 期間:8/22~26  ただし,開発期間は22~25の4日間  受講生は最寄りのビジネスホテルに期間中泊まり込み 場所:大阪大学中之島センター  会場は9:00~21:00まで利用可能 受講生:49名  西日本9大学の受講生が参加  スキル等にバラつきあり  ただし,全員が事前知識講義受講済み プロダクトとプロセス  詳細設計書は教員が作成し,与えた  何をどのようなステップで開発するか,プロセスをどうするか は基本的なルール以外は受講生が策定し,実施した 分野・地域を越えた実践的情報教育協働ネットワーク © Cloud Spiral partners 2013 6
  7. 7. Cloud Specialist Program Initiative for Reality‐based Advanced Learning クラウド基礎PBLの風景 分野・地域を越えた実践的情報教育協働ネットワーク © Cloud Spiral partners 2013 7
  8. 8. Cloud Specialist Program Initiative for Reality‐based Advanced Learning Project‐based Learning* • 有期性がある • 価値の創造に繋がる開発体験を伴う – 典型的には,チームで実施される • 教員による統制された支援を伴う コンテンツ主体 プロセス(プロジェク トマネジメント)主体 開発対象は学生が 何を開発するか教 員が決め,プロジェ 決めるが,プロセス クトマネジメントも教 は教員が管理する 員が行う 何を開発するか教 員が決め,プロセス は学生が管理する 開発対象もプロセス も学生が管理する Hadj Batita, “A model for an innovative project‐based learning management system for engineering education,”  CALIE'2001 ‐ Computer Aided Learning in Engineering Education, 2001 分野・地域を越えた実践的情報教育協働ネットワーク © Cloud Spiral partners 2013 8
  9. 9. Cloud Specialist Program Initiative for Reality‐based Advanced Learning PBLのメリット 従来の教育手法では育成が難しかった能 力の効率的な育成が可能となった チームによる課題解決 受講生の自律性 実践的なプロダクト/プロセススキルの育成 分野・地域を越えた実践的情報教育協働ネットワーク © Cloud Spiral partners 2013 9
  10. 10. Cloud Specialist Program Initiative for Reality‐based Advanced Learning PBLにおける既存課題とその改善 これまで 評価困難  既存のPBLでは,成果物 評価やアンケート,教員 の主観による評価が多い  ‐>プロセス評価が困難 学習機会の不均衡  一部のできる学生に開発 負荷が集中し,一部の学 生しかプロダクト/プロセス スキルを獲得できない 分野・地域を越えた実践的情報教育協働ネットワーク 我々の目標 プロダクトとプロセスの定量 的な評価  チケット駆動開発にもとづく プロセスの記録・管理 受講生ごとの開発記録に もとづく学習機会の均一化 © Cloud Spiral partners 2013 10
  11. 11. Cloud Specialist Program Initiative for Reality‐based Advanced Learning PBL+チケット駆動開発 受講生の開発行動をチケットとして管理させる  ‐>プロジェクトの透明化  ‐>チケットログを用いたプロジェクトの検査・適応 コンポーネント:class A 種類:実装 着手時刻:13:00 終了時刻:14:00 見積時間:0.5H 総時間:1.0H 担当者:受講生X マイルストーン:UC01 課題  チケットに必要な情報  チケットの粒度 ‐>PBLの目的にあわせて決定する必要がある Scrum教育では? 分野・地域を越えた実践的情報教育協働ネットワーク © Cloud Spiral partners 2013 11
  12. 12. Cloud Specialist Program Initiative for Reality‐based Advanced Learning Scrum アジャイルソフトウェア開発フレームワーク 決まっているのは枠だけで方法論ではない アジャイルソフトウェア開発の多く(66%*)で Scrumが利用されている 短期間での実施を前提としたPBLに向いて いる *Vision One, “State of Agile Development” conducted between July 22nd and  November 1st, 2011. 分野・地域を越えた実践的情報教育協働ネットワーク © Cloud Spiral partners 2013 12
  13. 13. Cloud Specialist Program Initiative for Reality‐based Advanced Learning Scrumフレームワーク 3つのロール,4つのイベント,3つの成果物 スプリント計画 各種仕様書 振り返り(KPT) プロダクトバックログ スプリントバックログ スプリント(1~4W) 顧客 スプリント レビュー 開発 開発メンバ Product Owner Product Owner インクリメント 分野・地域を越えた実践的情報教育協働ネットワーク Scrum Master © Cloud Spiral partners 2013 13
  14. 14. Cloud Specialist Program Initiative for Reality‐based Advanced Learning 我々のPBLで教えたいこと(教授目標) Scrumフレームワークの理解 各イベントにおけるプロセスと成果物 各ロールの振る舞い プロセスの透明化(記録),検査,適応 チームソフトウェア開発プロセス 構成管理, CI(Continuous Integration)等 実装,レビュー,テスト プロダクトスキル MongoDB, JavaScript, JavaによるWebアプリケー ション 分野・地域を越えた実践的情報教育協働ネットワーク © Cloud Spiral partners 2013 14
  15. 15. Cloud Specialist Program Initiative for Reality‐based Advanced Learning スプリントの時間配分(タイムボックス) 開発時間は固定し,計画・振り返りに余裕をもたせた スプリント計画(任意時間) 振り返り(KPT) (19時まで) 各種仕様書 プロダクトバックログ スプリントバックログ スプリント(1日) 顧客 (教員) スプリント レビュー(15分) 開発 開発メンバ (10:30~17:00) Product Owner Product Owner インクリメント 分野・地域を越えた実践的情報教育協働ネットワーク Scrum Master © Cloud Spiral partners 2013 15
  16. 16. Cloud Specialist Program Initiative for Reality‐based Advanced Learning 教授目標に合わせたプロジェクト評価基準の策定 Quality 仕様書に則したプロダクト(ソフトウェアコンポーネ ント群)が開発できているか  スプリントレビューで評価 プロセスルールを遵守できているか(後述) プロセスが適切に記録されているか Assignment Assignment制約を守れているか(後述) Delivery 計画通りに開発が進められているか 分野・地域を越えた実践的情報教育協働ネットワーク © Cloud Spiral partners 2013 16
  17. 17. Cloud Specialist Program Initiative for Reality‐based Advanced Learning 遵守すべきプロセスルールの例 プロダクトの種類ごとのDoD(Definition of Done) を策定 例(*.java): 必要に応じて 更新される コーディング規約 実装計画書 レビュー チェックリスト サンプルコード 単体テストコード with  単体テスト項目表 バグ修正 ソースコード 作成 (単体テスト) 単体テスト計画書 作成 (ソースコード) NG レビュー レビュー 報告書 任意の状態から発 生する可能性あり OK Done 各種仕様書 ルール(一部抜粋): • SR2.実施したタスクがすべて正しくTicketシステムに記録されていること • 障害の記録や割り当て状況,タスク実施時間,見積時間が記録されていることが重要 • PR1. 作成(ソースコード)or バグ修正(ソースコード)‐>レビューの順に連続して実施されたタスク 17 © Cloud Spiral partners 2013 分野・地域を越えた実践的情報教育協働ネットワーク において,各タスクの担当者は異なっていなければならない
  18. 18. Cloud Specialist Program Initiative for Reality‐based Advanced Learning Assignment タスクが適切に分担されているかを示す指標 各自が分担するタスクの量や種類がメンバー間で 均等であること 特定の受講生に特定のタスクが集中すること を避ける 受講生に習得して欲しいプロダクト/プロセススキ ルにあわせてタスク分担の基準を決定する 分野・地域を越えた実践的情報教育協働ネットワーク © Cloud Spiral partners 2013 18
  19. 19. Cloud Specialist Program Initiative for Reality‐based Advanced Learning Assignment制約の例 必須制約 作成(ソース):全開発期間終了時,各メンバのタスク担 当数がチームの平均値*1.2~0.8以内に収まること 作成(単体テスト):全開発期間終了時,各メンバのタス ク担当数がチームの平均値*1.2~0.8以内に収まること レビュー:全開発期間終了時,各メンバのタスク担当数 がチームの平均値*1.2~0.8以内に収まること Optional制約  作成(結合テスト)を各開発者がそれぞれ1回以上実施  結合テストを各開発者がそれぞれ1回以上実施  全開発者が全種類のファイル(*.java, *.html, *.xml)を1回以上作成・編集すること  各開発者がcontroller, model, viewの各パッケージに含まれるコンポーネントそれぞれ1つ以上を対 象とした作成(ソース)を実施すること  各開発者がcontroller, model, viewの各パッケージに含まれるコンポーネントそれぞれ1つ以上を対 象とした作成(単体テスト)を実施すること 分野・地域を越えた実践的情報教育協働ネットワーク © Cloud Spiral partners 2013 19
  20. 20. Cloud Specialist Program Initiative for Reality‐based Advanced Learning スプリント計画へのTiDD導入 スプリントバックログ=チケット群 スプリント計画時にチケット作成 スプリント計画(任意時間) 各種仕様書 プロダクトバックログ スプリントバックログ コンポーネント:class A コンポーネント:class B 種類:実装 :class C コンポーネント 種類:実装 :class D コンポーネント 着手時刻:13:00 種類:実装 :class E コンポーネント 着手時刻:13:00 種類:実装 終了時刻:14:00 着手時刻:13:00 種類:単体テスト 終了時刻:14:00 着手時刻:13:00 見積時間:0.5H 終了時刻:14:00 着手時刻: 見積時間:0.5H 終了時刻:14:00 総時間:1.0H 見積時間:0.5H 終了時刻: 総時間:1.0H 見積時間:0.5H 担当者:受講生X 総時間:1.0H 見積時間:0.5H 担当者:受講生X 総時間:1.0H スプリント:UC[Login] 担当者:受講生X 総時間: スプリント:UC[Login] 担当者:受講生X スプリント:UC[Login] 担当者: スプリント:UC[Login] スプリント:UC[Login] チケットにより,スプリントバーンダウンチャートの 自動生成が可能 分野・地域を越えた実践的情報教育協働ネットワーク © Cloud Spiral partners 2013 20
  21. 21. Cloud Specialist Program Initiative for Reality‐based Advanced Learning チケット入力項目 タスク分類 作成(ソース) 作成(単体テスト) レビュー 作成(結合テスト) バグ修正(ソース) バグ修正(単体テスト) バグ修正(結合テスト) 結合テスト 最終プロダクト名一覧 Account.java EventModel.java index.html dwr.xml : スプリント名 Sprint1st Sprint2nd Sprint3rd Sprint4th 日時入力補助プラグイン 分野・地域を越えた実践的情報教育協働ネットワーク © Cloud Spiral partners 2013 21
  22. 22. Cloud Specialist Program Initiative for Reality‐based Advanced Learning チケット例 生チケットを何枚か掲載 分野・地域を越えた実践的情報教育協働ネットワーク © Cloud Spiral partners 2013 22
  23. 23. Cloud Specialist Program Initiative for Reality‐based Advanced Learning 開発へのTiDDの導入 開発と連動してチケットを操作する コンポーネント:class A コンポーネント:class B 種類:実装 :class C コンポーネント 種類:実装 :class D コンポーネント 着手時刻:13:00 種類:実装 :class E コンポーネント 開発 開発メンバ (10:30~17:00) Product Owner インクリメント Scrum Master 着手時刻:13:00 種類:実装 終了時刻:14:00 着手時刻:13:00 種類:単体テスト 終了時刻:14:00 着手時刻:13:00 見積時間:0.5H 終了時刻:14:00 着手時刻:13:00 見積時間:0.5H 終了時刻:14:00 総時間:1.0H 見積時間:0.5H 終了時刻:14:00 総時間:1.0H 見積時間:0.5H 担当者:受講生X 総時間:1.0H 見積時間:0.5H 担当者:受講生X 総時間:1.0H スプリント:UC[Login] 担当者:受講生X 総時間:1.0H スプリント:UC[Login] 担当者:受講生X スプリント:UC[Login] 担当者:受講生X スプリント:UC[Login] スプリント:UC[Login] 現状把握が可能となる  スプリントバーンダウンチャートの自動更新  Assignment状況の把握  残タスクの可視化 分野・地域を越えた実践的情報教育協働ネットワーク © Cloud Spiral partners 2013 23
  24. 24. Cloud Specialist Program Initiative for Reality‐based Advanced Learning 開発へのTiDDの導入 開発と連動してチケットを操作する コンポーネント:class A コンポーネント:class B 種類:実装 :class C コンポーネント 種類:実装 :class D コンポーネント 着手時刻:13:00 種類:実装 :class E コンポーネント 開発 開発メンバ (10:30~17:00) Product Owner インクリメント Scrum Master 着手時刻:13:00 種類:実装 終了時刻:14:00 着手時刻:13:00 種類:単体テスト 終了時刻:14:00 着手時刻:13:00 見積時間:0.5H 終了時刻:14:00 着手時刻:13:00 見積時間:0.5H 終了時刻:14:00 総時間:1.0H 見積時間:0.5H 終了時刻:14:00 総時間:1.0H 見積時間:0.5H 担当者:受講生X 総時間:1.0H 見積時間:0.5H 担当者:受講生X 総時間:1.0H スプリント:UC[Login] 担当者:受講生X 総時間:1.0H スプリント:UC[Login] 担当者:受講生X スプリント:UC[Login] 担当者:受講生X スプリント:UC[Login] スプリント:UC[Login] 現状把握が可能となる  スプリントバーンダウンチャートの自動更新  Assignment状況の把握  残タスクの可視化 分野・地域を越えた実践的情報教育協働ネットワーク © Cloud Spiral partners 2013 24
  25. 25. Cloud Specialist Program Initiative for Reality‐based Advanced Learning CI: Continuous Integration(継続的インテグレーション)とは テストも含めて「全てが自動化された」「再現可能な」ビル ドを「日に何度も」行うこと†  インテグレーションに関わるバグを少しでも早く検知するため ビルド 版管理システム テスト 自動ビルド 版管理システム (Subversion)リポジトリ (Subversion)リポジトリ コミット ワークコピー バグ コミット ワークコピー バグ コミット 自動テスト コミット ワークコピー ワークコピー バグ 編集 編集 編集 編集 開発者 開発者 開発者 開発者 25 分野・地域を越えた実践的情報教育協働ネットワーク †Martin Fowler, “Continuous Integration,” http://www.martinfowler.com/articles/originalContinuousIntegration.html ,Sep. 2000.
  26. 26. Cloud Specialist Program Initiative for Reality‐based Advanced Learning 開発へのCI(Continuous Integration)の導入 • PR3. 作成(ソースコード)or バグ修正(ソースコード)完了時には,コンパイル可能でかつ すべての単体テストが正常に通る状態で成果物をリポジトリにコミットすること • PR4. 作成(単体テスト) or バグ修正(単体テスト)完了時には,コンパイル可能な状態で 成果物をリポジトリにコミットすること • 必ずしも単体テストが正常に通る状態である必要はない CIに関するルールをどの程度遵 守できているかを定量的に把 握できるようになった 分野・地域を越えた実践的情報教育協働ネットワーク © Cloud Spiral partners 2013 26
  27. 27. Cloud Specialist Program Initiative for Reality‐based Advanced Learning 振り返りへのTiDDの導入 振り返りのための判断基準の多くをチケット から取得できる Assignment,プロセスルール 客観的なデータに基づいて 振り返りが可能となった 振り返り(KPT) (19時まで) 教員によるプロジェクト評価にも 活用できるようになった 分野・地域を越えた実践的情報教育協働ネットワーク コンポーネント:class A コンポーネント:class B 種類:実装 :class C コンポーネント 種類:実装 :class D コンポーネント 着手時刻:13:00 種類:実装 :class E コンポーネント 着手時刻:13:00 種類:実装 終了時刻:14:00 着手時刻:13:00 種類:単体テスト 終了時刻:14:00 着手時刻:13:00 見積時間:0.5H 終了時刻:14:00 着手時刻:13:00 見積時間:0.5H 終了時刻:14:00 総時間:1.0H 見積時間:0.5H 終了時刻:14:00 総時間:1.0H 見積時間:0.5H 担当者:受講生X 総時間:1.0H 見積時間:0.5H 担当者:受講生X 総時間:1.0H スプリント:UC[Login] 担当者:受講生X 総時間:1.0H スプリント:UC[Login] 担当者:受講生X スプリント:UC[Login] 担当者:受講生X スプリント:UC[Login] スプリント:UC[Login] © Cloud Spiral partners 2013 27
  28. 28. Cloud Specialist Program Initiative for Reality‐based Advanced Learning 評価基準(QAD)の定量評価 分析対象 チケット群 CI記録 svnコミットログ 分野・地域を越えた実践的情報教育協働ネットワーク © Cloud Spiral partners 2013 28
  29. 29. Cloud Specialist Program Initiative for Reality‐based Advanced Learning CIのビルド成功率  PR3. 作成(ソースコード)or バグ修正(ソースコード)完了時には, コンパイル可能でかつすべての単体テストが正常に通る状態で成 果物をリポジトリにコミットすること 全 100% コ ミ 90% ッ の 80% ち 70% PR ト 60% う 3 を 満 た す コ ミ ッ ト の 割 合 B1 B2 B3 B4 50% B5 B6 40% B7 30% B8 B9 20% 10% 0% preSprint Sprint1st 分野・地域を越えた実践的情報教育協働ネットワーク Sprint2nd Sprint3rd Sprint4th
  30. 30. Cloud Specialist Program Initiative for Reality‐based Advanced Learning レビュー済コンポーネント数 SR3.結合テスト対象のストーリーの全成果物はレビューま ですべて完了していなければならない 全 1 コ ン ポ 0.9 ネ 0.8 ト 0.7 ー ン の GB1 GB2 ち 0.6 SR う 0.5 3 を 満 た す も の の 割 合 GB3 GB4 GB5 GB6 0.4 GB7 0.3 GB8 GB9 0.2 0.1 0 preSprint Sprint1st 分野・地域を越えた実践的情報教育協働ネットワーク Sprint2nd Sprint3rd Sprint4th
  31. 31. Cloud Specialist Program Initiative for Reality‐based Advanced Learning 作成(ソース)のAssignment制約 作成(ソース):全開発期間終了時,各メンバのタスク担 当数がチームの平均値*1.2~0.8以内に収まること 100 Sprint Assignment 制 約 を 遵 守 で き て い る 人 数 の 割 合 各 チ ー ム に お い て , 各 50 90 80 系列1 70 系列2 系列3 60 終 了 時 点 で 系列4 系列5 系列6 40 系列7 30 系列8 系列9 20 10 0 preSprint2 Sprint1st 分野・地域を越えた実践的情報教育協働ネットワーク Sprint2nd Sprint3rd Sprint4th
  32. 32. Cloud Specialist Program Initiative for Reality‐based Advanced Learning 作成(ソース)のAssignment制約 :悪かったチーム(GB9) GB 作成(ソース):全開発期間終了時,各メンバのタスク担 当数がチームの平均値*1.2~0.8以内に収まること 200% 180% 160% 140% ( タ ス 9 ク 数 内 を の各 平 均 メン 担 バ 当 5 タ 名 ス ク が 数 担 と 当 比 し 較 た し 作 た 成 割 ( 合 ソ ー ス ) 120% ) 100% 80% 60% 40% 20% 0% preSprint2 Sprint1st 分野・地域を越えた実践的情報教育協働ネットワーク Sprint2nd Sprint3rd Sprint4th
  33. 33. Cloud Specialist Program Initiative for Reality‐based Advanced Learning 作成(ソース)のAssignment制約 :良かったチーム(GB1) 作成(ソース):全開発期間終了時,各メンバのタスク担 当数がチームの平均値*1.2~0.8以内に収まること GB 240% 220% 200% 180% 160% ( タ ス 1 ク 数 内 を の各 平 均 メン 担 バ 当 6 タ 名 ス ク が 数 担 と 当 比 し 較 た し 作 た 成 割 ( 合 ソ ー ス ) 140% ) 120% 100% 80% 60% 40% 20% 0% preSprint2 Sprint1st 分野・地域を越えた実践的情報教育協働ネットワーク Sprint2nd Sprint3rd Sprint4th
  34. 34. Cloud Specialist Program Initiative for Reality‐based Advanced Learning 実装US(User Stories)&達成率 最終スプリント開始時の開発予定US数と実際に 開発できたUS数及びその割合 チーム GB6 GB7 GB1 GB5 GB8 GB3 GB9 GB2 GB4 開発US 数 ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ × ○ ○ ○ ○ ○ ○ × ○ ○ ○ × 分野・地域を越えた実践的情報教育協働ネットワーク ○ ○ ○ ○ × ○ × × × ○ ○ × × × × × × × ○ × × × 実績/開発 予定US数 7 5 5 4 4 4 3 3 3 100.0% 83.3% 55.6% 80.0% 80.0% 57.1% 60.0% 60.0% 50.0%
  35. 35. Cloud Specialist Program Initiative for Reality‐based Advanced Learning コミット‐チケット対応(評価対象外) 受講生のコミットと登録されたチケットの対応がど の程度とれているか チ ケ ッ ト が 存 在 す る コ ミ ッ ト の 割 合  コミットごとに,コミッター,コミットに含まれるコンポー ネント,コミット日時を取得し,該当するチケットが存在 するか検証 全 コ ミ ッ ト の う ち 関 連 す る 100% 90% 80% GB1 70% GB2 GB3 60% GB4 50% GB5 40% GB6 30% GB7 20% GB8 GB9 10% 0% 分野・地域を越えた実践的情報教育協働ネットワーク preSprint Sprint1st Sprint2nd Sprint3rd Sprint4th
  36. 36. Cloud Specialist Program Initiative for Reality‐based Advanced Learning コミット‐チケット対応(評価対象外) :悪かった例(GB1) コミットとチケットの対応が取れていない受 講生が何名か存在する 存 100% GB 在 コ ミ す ッ 1 る ト 内 も 群 の の に 各 の つ 割 い メ 合 て ンバ 関 名 連 6 す る そ チ れ ケ ぞ ッ れ ト の が 90% 80% 70% 60% 50% ( 40% ) 30% 20% 10% 0% preSprint Sprint1st 分野・地域を越えた実践的情報教育協働ネットワーク Sprint2nd Sprint3rd Sprint4th
  37. 37. Cloud Specialist Program Initiative for Reality‐based Advanced Learning コミット‐チケット対応(評価対象外) :良かった例(GB9) すべての開発者がコミット前後でのチケット登録 を意識していた 存 100% GB 在 コ ミ す ッ 9 る ト 内 も 群 の の に 各 の つ 割 い メ 合 て ンバ 関 名 連 5 す る そ チ れ ケ ぞ ッ れ ト の が 90% 80% 70% 60% 50% ( 40% ) 30% 20% 10% 0% preSprint Sprint1st 分野・地域を越えた実践的情報教育協働ネットワーク Sprint2nd Sprint3rd Sprint4th
  38. 38. Cloud Specialist Program Initiative for Reality‐based Advanced Learning 定量的なフィードバック 項目ごとに数値 化し,チームに フィードバックを 行った 分野・地域を越えた実践的情報教育協働ネットワーク © Cloud Spiral partners 2013 38
  39. 39. Cloud Specialist Program Initiative for Reality‐based Advanced Learning チケットシステムに求めるもの (あるいはなぜ私が4年前にTracを選んだか)  導入・設定のためのCUI  50名9チームの全サーバの初期設定,設定変更(コンポーネント登録等)をGUIでやっ てられない  カスタムフィールド  不要フィールドの削除,必要フィールドの追加  入力項目毎に必須等の入力制約がほしい  デフォルト値のままだとエラーになる等  ワークフローコントロール  チケット遷移は制御できて欲しい(チケットの手戻りは認めない等)  全チケットデータへの外部からのアクセス手段  WriteはAPIで,ReadはDBを直接触れるのがパフォーマンス的に一番良い  日時情報の入力支援機能  手作業で日時フォーマットを正しく入力することは不可能に近い  記録されたチケットのマイニング手段  学習コストが低いマイニング手法が望ましい  チケット間の親子関係  プロダクトバックログ項目とチケットの関係を表現したい 分野・地域を越えた実践的情報教育協働ネットワーク © Cloud Spiral partners 2013 39
  40. 40. Cloud Specialist Program Initiative for Reality‐based Advanced Learning まとめ Scrumの初期教育にチケット駆動開発を導 入してみた プロジェクトの透明化,検査,適応,評価におい て非常に有用であることがわかった 分野・地域を越えた実践的情報教育協働ネットワーク © Cloud Spiral partners 2013 40
  41. 41. Cloud Specialist Program Initiative for Reality‐based Advanced Learning 今後の課題 チームだけでなく,個人レベルでのフィードバックも  開発生産性,バグ混入率等  評価の対象とはしない チケットの正確さを評価する仕組みの導入  入力漏れの自動チェック  開発状況との比較による誤り検出 定量評価の自動化  今は毎日教員が手作業で頑張ってます>< 分野・地域を越えた実践的情報教育協働ネットワーク © Cloud Spiral partners 2013 41
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×