« Blogを電子書籍化して公開する方法 | トップページ | アーキテクチャ助走路 »

2010/08/21

WindowsのキラーアプリExcel

チケット駆動開発におけるExcelの役割についてメモ。
#あくまでもメモ書き。

受託開発では顧客の業務のうちExcelで手運用している業務をIT化、Web化することで狙い撃ちにしているのに、自分たちのSW開発ではExcelが幅を利かせている。
つまり、SW開発の業務そのもののIT化は遅れているのが現状だろう。

なぜ、Excelによるプロジェクト管理は良くないのか?
その理由は下記で書いた。

Excelのプロジェクト管理は何故良くないのか: プログラマの思索

一言で言えば、ExcelのドキュメントはSVN・Mercurialなどでバージョン管理すべきか、RedmineのチケットやTestLinkのテストケースなどで代用できるか、使い分けることが肝心。

では、チケット駆動開発は何をもたらしているのか?
その理由は下記で書いた。

Excelのプロジェクト管理から脱却せよ~SW構成管理を見直そう: プログラマの思索

つまり、頻繁にリリースできる開発インフラを開発者へ提供することによって、無駄な管理工数を極限まで削減して、本来のソフトウェア開発プロセスそのものの品質を高めることだ。
頻繁にリリースできるインフラがなければ、アジャイル開発は絵に描いたもちに過ぎない。

では、Excelの本来の役割は何か?
Excelはエンドユーザコンピューティング(End User Computing)のためのWindowsクライアントとして使うべき。
つまり、プロジェクトマネージャや顧客が自分のPCで、自分が欲しいと思う情報へ自分で加工すること。
その元ネタをITシステムが提供すべきであり、全ての顧客の要求をITシステムが実現する必要はないこと。

エンドユーザコンピューティングとは【EUC】 - 意味/解説/説明/定義 : IT用語辞典

例えば、Redmineのチケット管理で進捗管理をしていたら、毎晩、今日のチケットの進捗をCSV出力して、Excelマクロで加工して、上司に進捗報告書を送る。
CSV出力してMS Projectへインポートして、PMBOKのEVMでコストを計算してもいい。
又は、MS Projectでガントチャートを書き直してもいい。

あるいは、結合テストのバグ管理をRedmineで行っていたら、毎晩、今日のバグのチケットをCSV出力して、バグ累積数やバグ消化数をカウントして、信頼度成長曲線(バグ収束曲線)をExcelマクロで生成する。
SRATSというExcelマクロを使えば、ソフトウェアのMTBFも計算可能だ。

SRATSの使い方: プログラマの思索

あるいは、TestLinkでテスト実績を管理していたら、毎晩、今日のテスト実績をCSV出力して、TestLinkCnvMacroでテストの予定と実績の進捗報告を作ったり、曜日別・時間帯別・テスト実行日別のテストケース消化数をグラフで出力すればいい。

Redmineで進捗報告を作ったり、TestLinkでテスト仕様書を作ったりするのは、会社のフォーマットに合致していなかったりする。
だから、元ネタとなるCSVやXMLを出力しておいて、マネージャや顧客がExcelに取り込んで自分たちの好きなように整形した方がいい。

個人的に欲しいExcelマクロは下記の通り。
誰か作ってくれないだろうか?

【Redmine】
1・Excelで作ったWBSをRedmineのチケットへ新規インポート
 →Redmine CSV Import Pluginで一応、対応可能。
 
Redmine CSV Import Pluginの使い方: プログラマの思索

2・RedmineのチケットをExcelで出力して、Excel上で修正して、チケットに上書きインポート
 →Redmine CSV Import Pluginで一応、対応可能。

3・Redmineのバージョン単位にチケットの予定と実績を比較した進捗報告書をExcelで生成
 →実現されていない。

【TestLink】
4・Excelのテスト仕様書で作ったテストケースをTestLinkへ一括インポート
 →TestLinkCnvMacroでは、Ver1.7.xもVer1.8.xも可能。

TestLinkのテストケースを一括変換するマクロ: プログラマの思索

5・TestLinkのテストケースを出力して、Excel上で一括修正して、TestLinkのテストケースを上書きインポート
 →TestLinkCnvMacroでは、Ver1.7.xはOKだが、Ver1.8.xはNG。

6・TestLinkのテスト実績を出力して、Excelへコンバート
 →TestLinkCnvMacroでは、Ver1.7.xはOKだが、Ver1.8.xはNG。

7・Excelのテスト仕様書と要件定義書とそれらの紐付けを作り、TestLinkの要件として一括インポート
 →TestLinkCnvMacroでは、Ver1.7.xはOKだが、Ver1.8.xはNG。

8・TestLinkのテスト実績の管理から、要件カバレッジをExcelでグラフ出力する
 →TestLinkCnvMacroでは、Ver1.7.xはOKだが、Ver1.8.xはNG。

9・TestLinkの要件で仕様変更が発生したとき、要件の影響箇所をリンクで一覧表示する(サスペンドリンク)
 →実現されていない。

10・TestLinkからテスト消化曲線、Redmineからバグ収束曲線の元ネタとなるCSVを出力して、Excelでテスト消化曲線とバグ収束曲線をグラフ化する
 →実現されていない。イメージは下記の記事。

テスト消化曲線とバグ発生曲線のパターン診断: プログラマの思索

RedmineとTestLinkという優れたプロジェクト・テスト管理ツールに予定と実績データは一括管理されているので、直接SQLを実行してもいいし、CSV出力してもいい。
そして、その元ネタとなるCSVから、Excelで色んな観点でプロジェクトの進捗や品質を考察してみたいのだ。

|

« Blogを電子書籍化して公開する方法 | トップページ | アーキテクチャ助走路 »

Redmine」カテゴリの記事

TestLink」カテゴリの記事

ソフトウェア工学」カテゴリの記事

チケット駆動開発」カテゴリの記事

プロジェクトマネジメント」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



« Blogを電子書籍化して公開する方法 | トップページ | アーキテクチャ助走路 »