Copyright © Software Research Associates, Inc. All Rights Reserved
株式会社 SRA
阪井 誠
標準プロセスを肥大化させない
補完型チケット駆動開発の提案
Copyright © Software Research Associates, Inc. All Rights Reserved
背景:組織レベルの改善
標準プロセス
想定外の事象と対処
プロジェクトA
テーラリング
X
各組織の問題に
応じた改良
X
プロジェクトB
X
プロジェクトC
X
X X
追加作業
プロダクトA
プロダクトB
プロダクトC
フロント
ローディング
• 標準プロセスに従えば過去の経験を利用できる
Copyright © Software Research Associates, Inc. All Rights Reserved
補完型チケット駆動開発を提案する
2
組織的な改善の課題
• 経験を蓄積すると標準プロセスが肥大化する
• 品質確認作業
• チェックリスト
• 標準プロセスが肥大化すると実施が困難になる
=>標準プロセスを肥大化させずに経験を
蓄積したい
Copyright © Software Research Associates, Inc. All Rights Reserved
補完型チケット駆動開発
標準プロセス
想定外の事象と対処
プロジェクトA
テーラリング
X
各組織の問題に
応じた改良
X
プロジェクトB
X
プロジェクトC
X
X X
追加作業
プロダクトA
プロダクトB
プロダクトC
フロント
ローディング
計画
チケット
想定外の事象と対処
チケットからどのような情報が得られるかは明らかでは
なかった
Copyright © Software Research Associates, Inc. All Rights Reserved 4
発表概要
• 標準プロセスを肥大化させないノウハウの蓄積方
法として,補完型チケット駆動開発を提案する
• 補完型チケット駆動開発では計画と異なるタスクがチ
ケットとして記録される
• チケットを参照すれば,過去の想定外の事象に対する対
処法を知ることができる
• しかし,チケットからどのような情報が得られる
か明らかになっていなかった
• 導入が容易であるにも関わらず広く普及している
とは言い難い.
=>補完型チケット駆動開発のプロジェクトの
追加タスクのチケットを分析した
Copyright © Software Research Associates, Inc. All Rights Reserved 5
目次
• 背景
• 目次
• 補完型チケット駆動開発
• ケーススタディ
• 対象プロジェクト
• 検証方法
• 検証結果
• 考察
• まとめ
Copyright © Software Research Associates, Inc. All Rights Reserved 6
補完型チケット駆動開発
• チケット駆動開発
• ITSのチケット(障害票)でタスクを管理する
• チケットとバージョン管理ツールのコミットを紐づ
けることが可能
• 検索やチケット間の関連付けが可能
• 補完型チケット駆動開発
• 全てのタスクをチケット化する完全型に対し、
補完型は線表にないタスクをチケット化する
• 標準プロセスの大きな変更が不要
• チケットが少ないので検索が容易
• 小川, 阪井, “チケット駆動開発”, 翔泳社, 2012.
Copyright © Software Research Associates, Inc. All Rights Reserved
補完型チケット駆動開発のイメージ
チケット
チケット
• 計画にない想定外の作業をチケットで管理する
Copyright © Software Research Associates, Inc. All Rights Reserved
8
対象プロジェクト概要
• 文教パッケージのカスタマイズ(最大8人x1年)
o 短納期 & 仕様の決定遅れ・変更
o スキルは高いが経験者が少ない(リーダは途中交代)
o オープンフレームワークの初めての組み合わせ
(サブシステム、ミドルウェアのバージョン)
o 義務感と不安、重苦しい雰囲気、閉塞感、、、
o 守りに入るので、コミュニケーションが悪い
システムテストの時期になると、計画外の環境構築やリリー
ス準備作業が明らかになった(環境に関連するバグも、、、)
⇒ そうだ!チケット駆動開発をしよう!
Copyright © Software Research Associates, Inc. All Rights Reserved
9
チケット駆動開発の導入
• 宣言と実行
「 バグだけではなく、ソースを触るときや、
WBSにない作業をするときは、チケットを登録してください!」
• 環境の準備
o レポート(チケットの一覧)の作成
 bugのみ、 taskのみ、 その他、など
o 権限の追加
 tracの権限の設定は堅いので、チケットを修正できるように
memberにTICKET_ADMINの権限を与えた
(リスクを考慮して設定してください)
• 教育
• パッケージチームとのQAの経験はあった
Copyright © Software Research Associates, Inc. All Rights Reserved
チケット駆動開発導入の結果
• 作業が見える化され、作業漏れ減少!
(知らないこと、気付かないことはできませんでした)
• ゴールに向かって協力し、納期までに作業完了!
• サブリーダ(クラス)なのに遠慮をして
いたメンバーが、生き生きしだした
• 「チケットを切ってもいいですか?」
• 「チケットを切っておかないと忘れてしまう!」
• 「ちゃんとクローズしてね」
• 「残っているチケットが多くてわかりにくいから
整理しますね」
Copyright © Software Research Associates, Inc. All Rights Reserved
チケットから得られる情報を検証
• プロジェクトのチケットを分類した
• タスクチケットのみを対象として分類
(計画時や問題発生時に参考にすることを想定して,
障害チケットや未分類チケットは対象しなかった)
• ITSのレポート機能でタスクチケット一覧を
作成
• 類似しているチケットを順次まとめていく方法
で分類した.
11
Copyright © Software Research Associates, Inc. All Rights Reserved
検証結果
• 全265チケットのうち,計画以外の作業として
追加されたタスク77チケットを分析した
• チケットの内容を確認して,類似チケットごと
に分類した
• 客先業務に固有のチケット,汎用的な内容のチケッ
トに大きく分けることができた
• 全体では7種類に分類が可能だった(次ページ)
12
Copyright © Software Research Associates, Inc. All Rights Reserved
チケットの分類結果
13
客先業務
固有
仕様 11 顧客の要望に基づく仕様変更
データ 25 連携システムからの運用データ移行など
準備 6 客先固有の資料作成などの準備作業
汎用的な
内容
基盤 17 最新のシステムやDBなどへの入れ替え
テスト 12 構築した環境依存のテストなど
管理 3
リリース前の確認作業など追加の管理作
業
障害 3 障害に関連する分析作業
• チケットはプロジェクトの特性をあらわしていた
Copyright © Software Research Associates, Inc. All Rights Reserved
チケットの分類結果
14
客先業務
固有
仕様 11 顧客の要望に基づく仕様変更
データ 25 連携システムからの運用データ移行など
準備 6 客先固有の資料作成などの準備作業
汎用的な
内容
基盤 17 最新のシステムやDBなどへの入れ替え
テスト 12 構築した環境依存のテストなど
管理 3
リリース前の確認作業など追加の管理作
業
障害 3 障害に関連する分析作業
• チケットはプロジェクトの特性をあらわしていた
• 同一顧客の他システム構築時や
リプレス時に参考になる
Copyright © Software Research Associates, Inc. All Rights Reserved
チケットの分類結果
15
客先業務
固有
仕様 11 顧客の要望に基づく仕様変更
データ 25 連携システムからの運用データ移行など
準備 6 客先固有の資料作成などの準備作業
汎用的な
内容
基盤 17 最新のシステムやDBなどへの入れ替え
テスト 12 構築した環境依存のテストなど
管理 3
リリース前の確認作業など追加の管理作
業
障害 3 障害に関連する分析作業
• チケットはプロジェクトの特性をあらわしていた
• 同一システムの導入やトラブル発生
時に参考になる
• 多発するのであれば,標準プロセス
に組み入れると良い
Copyright © Software Research Associates, Inc. All Rights Reserved
考察(1/2)
• 補完型チケット駆動開発のチケットは数も少なく,
容易に検索ができる
• 将来のリプレス時など、過去のプロジェクトを参考に,
リスク見積,計画,問題が発生した際の対策,などの
参考にすることが可能
• プロジェクトのノウハウを個人に閉じることなく,
類似プロジェクトや将来の保守の際に効果を発揮する
• タイトルを見るだけでも経験の少ない管理者・開発者
には大いに参考になる
16
Copyright © Software Research Associates, Inc. All Rights Reserved
考察(2/2)
• 技術的なTIPSはタイトルだけではわからない
• 技術的に明らかなことは,詳しく書かれていなかった
• 社内教育やOJTによる技術移転が必要と考えられる.
• 追加タスクの収集はできたが,削除や修正に関し
ては収集できなかった
• 差分はとりにくいが、完全型チケット駆動開発なら
記録された可能性がある
• 一般化するにはより多くの検証が必要
• より早いフェーズからの実施
• 様々な規模や対象業務
• プロジェクト毎に固有の問題は存在するので
一定の効果は期待できる
17
Copyright © Software Research Associates, Inc. All Rights Reserved
まとめ
• 標準プロセスを肥大化させないノウハウの
蓄積方法として,補完型チケット駆動開発を提案
• 補完型チケット駆動開発のタスクチケットは
標準プロセスに追加されたタスク
• 補完型チケット駆動開発を実施したプロジェクト
の追加タスクのチケットを分類した
• 客先業務固有のチケットと汎用的な内容のチケットが
あった
• 類似プロジェクトの計画時の作業項目漏れ確認や
トラブル時に類似障害を検索して対応策の検討が可能
18
Copyright © Software Research Associates, Inc. All Rights Reserved
今後の課題
• 削除や修正された作業の記録は含まれておらず
また汎用的なTIPSは記録されにくい
• 標準プロセスの改良や社内教育などと組み合わせて
利用すると良い
• チケット駆動開発には、ITSなどのチケットを
管理するツールが必要
• 従来の標準プロセスが制約になって実施できない
組織が未だに多い
• さらに多くの検証を通じて補完型チケット駆動開発
を普及させていきたい
19
Copyright © Software Research Associates, Inc. All Rights Reserved
おわり

標準プロセスを肥大化させない補完型チケット駆動開発の提案

  • 1.
    Copyright © SoftwareResearch Associates, Inc. All Rights Reserved 株式会社 SRA 阪井 誠 標準プロセスを肥大化させない 補完型チケット駆動開発の提案
  • 2.
    Copyright © SoftwareResearch Associates, Inc. All Rights Reserved 背景:組織レベルの改善 標準プロセス 想定外の事象と対処 プロジェクトA テーラリング X 各組織の問題に 応じた改良 X プロジェクトB X プロジェクトC X X X 追加作業 プロダクトA プロダクトB プロダクトC フロント ローディング • 標準プロセスに従えば過去の経験を利用できる
  • 3.
    Copyright © SoftwareResearch Associates, Inc. All Rights Reserved 補完型チケット駆動開発を提案する 2 組織的な改善の課題 • 経験を蓄積すると標準プロセスが肥大化する • 品質確認作業 • チェックリスト • 標準プロセスが肥大化すると実施が困難になる =>標準プロセスを肥大化させずに経験を 蓄積したい
  • 4.
    Copyright © SoftwareResearch Associates, Inc. All Rights Reserved 補完型チケット駆動開発 標準プロセス 想定外の事象と対処 プロジェクトA テーラリング X 各組織の問題に 応じた改良 X プロジェクトB X プロジェクトC X X X 追加作業 プロダクトA プロダクトB プロダクトC フロント ローディング 計画 チケット 想定外の事象と対処 チケットからどのような情報が得られるかは明らかでは なかった
  • 5.
    Copyright © SoftwareResearch Associates, Inc. All Rights Reserved 4 発表概要 • 標準プロセスを肥大化させないノウハウの蓄積方 法として,補完型チケット駆動開発を提案する • 補完型チケット駆動開発では計画と異なるタスクがチ ケットとして記録される • チケットを参照すれば,過去の想定外の事象に対する対 処法を知ることができる • しかし,チケットからどのような情報が得られる か明らかになっていなかった • 導入が容易であるにも関わらず広く普及している とは言い難い. =>補完型チケット駆動開発のプロジェクトの 追加タスクのチケットを分析した
  • 6.
    Copyright © SoftwareResearch Associates, Inc. All Rights Reserved 5 目次 • 背景 • 目次 • 補完型チケット駆動開発 • ケーススタディ • 対象プロジェクト • 検証方法 • 検証結果 • 考察 • まとめ
  • 7.
    Copyright © SoftwareResearch Associates, Inc. All Rights Reserved 6 補完型チケット駆動開発 • チケット駆動開発 • ITSのチケット(障害票)でタスクを管理する • チケットとバージョン管理ツールのコミットを紐づ けることが可能 • 検索やチケット間の関連付けが可能 • 補完型チケット駆動開発 • 全てのタスクをチケット化する完全型に対し、 補完型は線表にないタスクをチケット化する • 標準プロセスの大きな変更が不要 • チケットが少ないので検索が容易 • 小川, 阪井, “チケット駆動開発”, 翔泳社, 2012.
  • 8.
    Copyright © SoftwareResearch Associates, Inc. All Rights Reserved 補完型チケット駆動開発のイメージ チケット チケット • 計画にない想定外の作業をチケットで管理する
  • 9.
    Copyright © SoftwareResearch Associates, Inc. All Rights Reserved 8 対象プロジェクト概要 • 文教パッケージのカスタマイズ(最大8人x1年) o 短納期 & 仕様の決定遅れ・変更 o スキルは高いが経験者が少ない(リーダは途中交代) o オープンフレームワークの初めての組み合わせ (サブシステム、ミドルウェアのバージョン) o 義務感と不安、重苦しい雰囲気、閉塞感、、、 o 守りに入るので、コミュニケーションが悪い システムテストの時期になると、計画外の環境構築やリリー ス準備作業が明らかになった(環境に関連するバグも、、、) ⇒ そうだ!チケット駆動開発をしよう!
  • 10.
    Copyright © SoftwareResearch Associates, Inc. All Rights Reserved 9 チケット駆動開発の導入 • 宣言と実行 「 バグだけではなく、ソースを触るときや、 WBSにない作業をするときは、チケットを登録してください!」 • 環境の準備 o レポート(チケットの一覧)の作成  bugのみ、 taskのみ、 その他、など o 権限の追加  tracの権限の設定は堅いので、チケットを修正できるように memberにTICKET_ADMINの権限を与えた (リスクを考慮して設定してください) • 教育 • パッケージチームとのQAの経験はあった
  • 11.
    Copyright © SoftwareResearch Associates, Inc. All Rights Reserved チケット駆動開発導入の結果 • 作業が見える化され、作業漏れ減少! (知らないこと、気付かないことはできませんでした) • ゴールに向かって協力し、納期までに作業完了! • サブリーダ(クラス)なのに遠慮をして いたメンバーが、生き生きしだした • 「チケットを切ってもいいですか?」 • 「チケットを切っておかないと忘れてしまう!」 • 「ちゃんとクローズしてね」 • 「残っているチケットが多くてわかりにくいから 整理しますね」
  • 12.
    Copyright © SoftwareResearch Associates, Inc. All Rights Reserved チケットから得られる情報を検証 • プロジェクトのチケットを分類した • タスクチケットのみを対象として分類 (計画時や問題発生時に参考にすることを想定して, 障害チケットや未分類チケットは対象しなかった) • ITSのレポート機能でタスクチケット一覧を 作成 • 類似しているチケットを順次まとめていく方法 で分類した. 11
  • 13.
    Copyright © SoftwareResearch Associates, Inc. All Rights Reserved 検証結果 • 全265チケットのうち,計画以外の作業として 追加されたタスク77チケットを分析した • チケットの内容を確認して,類似チケットごと に分類した • 客先業務に固有のチケット,汎用的な内容のチケッ トに大きく分けることができた • 全体では7種類に分類が可能だった(次ページ) 12
  • 14.
    Copyright © SoftwareResearch Associates, Inc. All Rights Reserved チケットの分類結果 13 客先業務 固有 仕様 11 顧客の要望に基づく仕様変更 データ 25 連携システムからの運用データ移行など 準備 6 客先固有の資料作成などの準備作業 汎用的な 内容 基盤 17 最新のシステムやDBなどへの入れ替え テスト 12 構築した環境依存のテストなど 管理 3 リリース前の確認作業など追加の管理作 業 障害 3 障害に関連する分析作業 • チケットはプロジェクトの特性をあらわしていた
  • 15.
    Copyright © SoftwareResearch Associates, Inc. All Rights Reserved チケットの分類結果 14 客先業務 固有 仕様 11 顧客の要望に基づく仕様変更 データ 25 連携システムからの運用データ移行など 準備 6 客先固有の資料作成などの準備作業 汎用的な 内容 基盤 17 最新のシステムやDBなどへの入れ替え テスト 12 構築した環境依存のテストなど 管理 3 リリース前の確認作業など追加の管理作 業 障害 3 障害に関連する分析作業 • チケットはプロジェクトの特性をあらわしていた • 同一顧客の他システム構築時や リプレス時に参考になる
  • 16.
    Copyright © SoftwareResearch Associates, Inc. All Rights Reserved チケットの分類結果 15 客先業務 固有 仕様 11 顧客の要望に基づく仕様変更 データ 25 連携システムからの運用データ移行など 準備 6 客先固有の資料作成などの準備作業 汎用的な 内容 基盤 17 最新のシステムやDBなどへの入れ替え テスト 12 構築した環境依存のテストなど 管理 3 リリース前の確認作業など追加の管理作 業 障害 3 障害に関連する分析作業 • チケットはプロジェクトの特性をあらわしていた • 同一システムの導入やトラブル発生 時に参考になる • 多発するのであれば,標準プロセス に組み入れると良い
  • 17.
    Copyright © SoftwareResearch Associates, Inc. All Rights Reserved 考察(1/2) • 補完型チケット駆動開発のチケットは数も少なく, 容易に検索ができる • 将来のリプレス時など、過去のプロジェクトを参考に, リスク見積,計画,問題が発生した際の対策,などの 参考にすることが可能 • プロジェクトのノウハウを個人に閉じることなく, 類似プロジェクトや将来の保守の際に効果を発揮する • タイトルを見るだけでも経験の少ない管理者・開発者 には大いに参考になる 16
  • 18.
    Copyright © SoftwareResearch Associates, Inc. All Rights Reserved 考察(2/2) • 技術的なTIPSはタイトルだけではわからない • 技術的に明らかなことは,詳しく書かれていなかった • 社内教育やOJTによる技術移転が必要と考えられる. • 追加タスクの収集はできたが,削除や修正に関し ては収集できなかった • 差分はとりにくいが、完全型チケット駆動開発なら 記録された可能性がある • 一般化するにはより多くの検証が必要 • より早いフェーズからの実施 • 様々な規模や対象業務 • プロジェクト毎に固有の問題は存在するので 一定の効果は期待できる 17
  • 19.
    Copyright © SoftwareResearch Associates, Inc. All Rights Reserved まとめ • 標準プロセスを肥大化させないノウハウの 蓄積方法として,補完型チケット駆動開発を提案 • 補完型チケット駆動開発のタスクチケットは 標準プロセスに追加されたタスク • 補完型チケット駆動開発を実施したプロジェクト の追加タスクのチケットを分類した • 客先業務固有のチケットと汎用的な内容のチケットが あった • 類似プロジェクトの計画時の作業項目漏れ確認や トラブル時に類似障害を検索して対応策の検討が可能 18
  • 20.
    Copyright © SoftwareResearch Associates, Inc. All Rights Reserved 今後の課題 • 削除や修正された作業の記録は含まれておらず また汎用的なTIPSは記録されにくい • 標準プロセスの改良や社内教育などと組み合わせて 利用すると良い • チケット駆動開発には、ITSなどのチケットを 管理するツールが必要 • 従来の標準プロセスが制約になって実施できない 組織が未だに多い • さらに多くの検証を通じて補完型チケット駆動開発 を普及させていきたい 19
  • 21.
    Copyright © SoftwareResearch Associates, Inc. All Rights Reserved おわり