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