• 検索結果がありません。

SEC セミナ 2014 年 10 月 チケット駆動開発に着目した計測と可視化による IT プロジェクト運営の体質改善 IPA/SEC 連携委員 神谷芳樹 ( みたによしき ) みたに先端研合同会社代表奈良先端科学技術大学院大学非常勤講師 2013 年 11 月オーム社 (c) 神谷芳樹 1

N/A
N/A
Protected

Academic year: 2021

シェア "SEC セミナ 2014 年 10 月 チケット駆動開発に着目した計測と可視化による IT プロジェクト運営の体質改善 IPA/SEC 連携委員 神谷芳樹 ( みたによしき ) みたに先端研合同会社代表奈良先端科学技術大学院大学非常勤講師 2013 年 11 月オーム社 (c) 神谷芳樹 1"

Copied!
50
0
0

読み込み中.... (全文を見る)

全文

(1)

チケット駆動開発に着目した計測と可視化

によるITプロジェクト運営の体質改善

IPA/SEC連携委員

神谷 芳樹

(みたに よしき) SECセミナ 2014年10月

(2)

何を訴えたいか

• ソフトウェア開発プロセスを見えるようにしよう

– ソフトウェア開発プロセスは本来そのままの形では見えにくい

• その手段・方法論

– 自動計測による可視化

• 背景

– ソフトウェア開発は機械支援によって実行される

• ソフトウェア開発を支援する機械機構の中に計測機能を

埋め込む

• 2つのポイント

– チケット駆動開発 ・・・ チケットへの情報記載とチケット計測

– プロダクト計測 ・・・ 版管理/構成管理システムの活用

(3)

内容

• チケット駆動開発とは

– ちょっと掘り下げ

• そのルーツ、チケットの機能

• 2つの機能、2つの開発型

• チケット記述項目への考え方

• 自動計測による可視化の流れ

• 成果物計測について

– 特に要求定義、設計工程の成果物計測

• 全工程一貫計測モデル

• ビジネスプロセスとの対比

• アジャイル展開

• 現代のソフトウェア開発の基本問題

(4)

現代のソフトウェア開発スタイルへの共通認識

ソフトウェア 開発管理環境の ここ数年の 格段の進化への 着目

(5)

ソフトウェア開発プロジェクトの計測

ツールを駆使したプロジェクトの可視化 EPM Empirical Project Monitor

(6)

チケットの計測

ガントチャート チケット一覧表 機能の予定と実績 滞留期間別未決課題件数 チケット駆動開発の推奨 チケット計測による プロジェクト可視化の利点への着目

(7)

チケットの2大機能と開発型

作業分類・記録型チケット と 作業指示・受け渡し型チケット 障害分類 原因 1970年代のバグ票例 チケットの 機能への考察 チケットのルーツ例 障害状況 障害原因 及び 措置

(8)

作業の分類と記録機能

障害分類 原因

(9)

障害処理票の管理項目例

自由記述 と

(10)
(11)

作業指示・受け渡し型チケット

• 発行負荷が軽い

– プロジェクト計測負荷を感じない

– 現場にとって気持ちよいプロジェクト運営

• 狭視野

– 単独のプロジェクトが進行すればよい、という視野

– 工程の前段の状況を分析して後段に反映する視点に

欠ける

– 事後に評価してプロセス改善に反映する視点に欠ける

– 多くのプロジェクト・データを蓄積して、分析・評価し、将

来に向けた施策に反映する視点に欠ける

(12)

作業分類・記録型チケット

• 多くのデータが得られる

• 出力の可視化情報が豊か

• ソフトウェアエンジニアリング研究の成果を反映したプ

ロジェクト管理やプロセス改善の施策に役立てられる

• チケット発行負荷が大きい

• 管理先行になってプロジェクト進行実務者側の負担が

大きい

• 予定消化の、つまらない、苦痛を伴うプロジェクト運営

になる可能性がある

• 工程区分に結びつけた管理法にも再考の余地あり

(13)

開発流儀とチケットの発行契機

• フィーチャー型開発

– 機能の実現に焦点

• 作業者にとってモチベーションを高めやすい

• 管理者にとって、工期や工数を管理しにくい

• WBS型開発

– 管理者には都合がよい

が、作業者には苦痛の原因

となる

– あらかじめ定めた所定の機能を所定の予算で所定

の時期に実現するためには、ある程度避けられない

管理方法

– 開発作業の中に企業間の契約行為が含まれる場合、

工夫の余地が少ない

(14)
(15)
(16)
(17)

WBS:ディクショナリ

(18)

作業の登録・指示と経過の記録

(19)

進捗管理

EPM-Xサンプル

チケット構造

(Redmine版)

(20)
(21)
(22)
(23)
(24)
(25)

要求定義工程の

ダイアグラム例

(1/4)

EAダイアグラム

DMM

成果物管理(計測):要求定義

(26)

要求定義工程の

ダイアグラム例

(2/4)

EAダイアグラム

DFD

成果物管理(計測):要求定義

(27)

要求定義工程の ダイアグラム例 (3/4) EAダイアグラム WFA

成果物管理(計測):要求定義

(28)

要求定義工程の ダイアグラム例 (4/4) EAダイアグラム ERD

成果物管理(計測):要求定義

(29)

EAダイヤグラム記述の集計例:要求定義工程

(30)
(31)
(32)
(33)
(34)
(35)

成果物計測 UMLの例

(36)
(37)
(38)
(39)

ソフトウェア開発管理環境と

ビジネス管理環境の対比

(40)

津田義史著「実践 反復型ソフトウェア開発」(2012年オーム社)を参照しながら 「アジャイル開発」での計測・可視化課題を考える

• アジャイル開発の技術的プラクティスの根幹

– 継続的インテグレーション

• ソフトウェア開発は並行開発

– ウォーターフォール開発(直列逐次開発)の「傾斜線表」を想起

• ビルド中心の生活

– 「ビルド」はインプロセスの計測捕捉対象として非常にクリア

アジャイル開発への展開

(41)

「ソフトウェアを上手に育てる」

->インプロセス計測・可視化の動機付け

• プログラムを清潔に保ち・・・・

• 健康状態をこまめにチェックし・・・

• 機能の追加は少しづつ、ソフトウェアが健康なときに

限り行う

計測課題

(42)

タイムボックスとビルドの運用

• タイムボックスによる反復

– タイムボックスに階層

• タイムボックスの間仕切り:マイルストーン

• マイルストーンの運用

• マイルストーンの中でリリースビルド

タイムボックス タイムボックス タイムボックス タイムボックス階層 マイルストーン ビルド

(43)

フリーズとコンプリート

• 製品を段階的に凍結する

– ドキュメントフリーズ

– コードフリーズ

– 凍結イベントを各マイルストーンや機能ごとに設定

– スペックコンプリート

– フィーチャコンプリート

– テストプランコンプリート

– ドキュメントの機能チーム内のレビュー

– 様々な成果物の完成と凍結イベント

• xxコンプリート、xxフリーズ

XX仕様書 フリーズ コンプリート レビュー オーナ XXコード フリーズ コンプリート

(44)

• 機能駆動による開発

– 製品に複数の機能。機能毎に別のタイミングでコードコンプリート。テスト。

– 統合テスト(インテグレーションテスト)を実施

• 製品を安定化させる

– トリアージ:

• 複数機能のインテグレーションとコードフリーズの間:コードのコミットを厳しく 制御・管理

• 製品を検証する

– コードフリーズの後、検証(ベリフィケーション)

• フルテストパスの実施 • 発見バグを制限事項に、マイルストーンを出る • 出口条件を満たさないとき、修正

• 次のマイルストーンの計画を立てる作業へ

コード コンプリート テスト 統合 テスト 機能A 機能B 機能C インテグレーション インテグレーション コード フリーズ トリアージ 検証 マイルストーン

(45)

イテレーション

• イテレーションの運用

– イテレーション:マイルストーンを数日~数週間のタイムボックスに区切る。

– 1イテレーション1週間を推奨

• イテレーションの計画と運用

– 継続的な統合ビルド(CIビルド)

– デイリービルド

– ウィークリービルド

– ビルドの世代交代

– その他のビルド

• 統合ビルド(公式ビルド)とプライベートビルド(ローカルビルド、開発者ビルド、 ローカル開発者ビルド) • 安定ビルドと最新ビルド • デバッグビルドとリリースビルド マイルストーン イテレーション~1W ビルド 継続的な統合ビルド

(46)

さらに

• 構成管理とブランチの戦略

• 再現可能なビルドの実現

• バグの追跡と解決

• ・・・・

考え方は汎用的(逐次開発と共通)

ミクロなプロセスのミクロなマネジメント

平行作業(分岐/統合作業)のマネジメント

いづれもインプロセスの計測と可視化の動機

たとえば ブランチのプロモーション コミットのプロモーション ビルドのプロモーション 計測の契機と対象は開発管理環境の中に アクション(ブランチ/コミット/ビルド・・・)を的確に行う アクションの状態を把握する 計測対象 場所 量 契機 頻度 推移

(47)

計測・可視化問題の

普遍性

タイムボックス タイムボックス タイムボックス タイムボックス階層 マイルストーン ビルド XX仕様書 フリーズ コンプリート レビュー オーナ XXコード フリーズ コード コンプリート テスト 統合 テスト 機能A 機能B 機能C インテグレーション インテグレーション コード フリーズ トリアージ 検証 マイルストーン マイルストーン 粒度の細かい 作業の並行運営 一本調子の 直列作業

(48)

開発手法(Waterfall/Agile) のマクロな特性比較

稼働要員 大きな山谷 大きな変動稼働:外部依存 固定稼働:内部稼働中心 安定稼働 固定稼働:内部稼働中心 リリース 大きな単位で提供 常時開発・常時提供・出来たところまで提供 多層の産業構造の源 内製化指向 進捗管理 WBS/EVM型 フィーチャー型 管理指標 進捗率・消費稼働 開発速度(Velocity) 開発環境 機械支援された環境 開発管理環境 ベース チケット管理、構成管理・版管理、試験管理・・・・ 手法に合わせて 例)成果物の量、バグ件数、バグ内容 +ミクロなオペレーションの頻度・内容 計測対象

(49)

まとめ

企画 試験 維持管理 企画 試験 維持管理 第一世代 第二世代 この併走状態が現実 この状態での インプロセスの 計測と可視化という課題 新時代 DevOps Development Operations 作業指示 受け渡し型 チケット 作業分類 記録型 チケット WBS型開発 アジャイル・継続開発 ウォーターフォール 逐次開発 計測と可視化のスペクトラム

(50)

神谷 芳樹 (みたに よしき)

1973年早稲田大学大学院理工学研究科修士課程修了。 電電公社(現NTT)に入社後、同横須賀電気通信研究所、 同データ通信本部、同ソフトウェア研究所、 NTTソフトウェア(株)、 奈良先端科学技術大学院大学(2003年から)、 情報処理推進機構ソフトウェア・エンジニアリング・センター (IPA/SEC)(2004年発足時から6年間、研究員) でソフトウェア生産技術の研究や事業、開発プロジェクトに 従事。2007年博士(工学)。 研究テーマはソフトウェア開発プロジェクトの計測、可視化、 フィードバック、産学連携など。 現在、奈良先端科学技術大学院大学 非常勤講師

参照

関連したドキュメント

東北大学大学院医学系研究科の運動学分野門間陽樹講師、早稲田大学の川上

1991 年 10 月  桃山学院大学経営学部専任講師 1997 年  4 月  桃山学院大学経営学部助教授 2003 年  4 月  桃山学院大学経営学部教授(〜現在) 2008 年  4

白山中居神社を中心に白山信仰と共に生き た社家・社人 (神社に仕えた人々) の村でし

在学中に学生ITベンチャー経営者として、様々な技術を事業化。同大卒業後、社会的

2020年 2月 3日 国立大学法人長岡技術科学大学と、 防災・減災に関する共同研究プロジェクトの 設立に向けた包括連携協定を締結. 2020年

キャンパスの軸線とな るよう設計した。時計台 は永きにわたり図書館 として使 用され、学 生 の勉学の場となってい たが、9 7 年の新 大

乗次 章子 非常勤講師 社会学部 春学期 English Communication A11 乗次 章子 非常勤講師 社会学部 春学期 English Communication A23 乗次 章子

人間は科学技術を発達させ、より大きな力を獲得してきました。しかし、現代の科学技術によっても、自然の世界は人間にとって未知なことが