RedmineにおけるEVMの考え方
Redmine.JP Blogで>Redmine 2.2の新機能が紹介されていたのでメモ。
Redmine 2.2新機能紹介: 休業日の設定 | Redmine.JP Blog
Redmine 2.2新機能紹介: プロジェクトをまたいで子チケットを作成 | Redmine.JP Blog
Redmine 2.2のCHANGELOG (新機能のみ・日本語訳付き) | Redmine.JP Blog
【1】「休業日の設定。休業日は後続するチケットの開始日の再計算とガントチャートの表示で使われる」「先行するチケットの期日を前倒しした際に後続するチケットの開始日・期日も前倒し」などの機能改善を見ると、最近のVerUpが進捗管理の機能改善に力を入れているように思える。
【2】チケットの属性には開始日・期日・進捗率があるので、ガントチャートというビューをすぐに表示できるし、EVMプラグインを入れれば、EVMでコスト管理も可能。
imaginary-cloud/redmine_evm ・ GitHub
EVMプラグインでは、PV・AV・EVは以下のように定義されているらしい。
PV=チケットの予定工数
AC=チケットの実績工数の和
EV=チケットの予定工数 * 進捗率(%)
EVの解釈は、例えば、現時点のチケットが次のように考えると分かりやすい。
チケットの予定工数=10人日
チケットの実績工数の和=8人日
チケットの進捗率=60%
この例では、以下の計算になる。
PV=10人日
AC=8人日
EV=6人日(=10MD * 60%)
つまり、本来の予定(PV)では、10人かかるタスクに8人分のコスト(AC)が既に消費されているのに、成果物(出来高:EV)は6人分のタスクの量でしか達成されていない。
本来は、8人分のコストが計上されているなら、成果物も8人分の分量ができて然るべきなのに、6人分しかできていないから、効率が悪い。
この時の「効率」という概念がCPIであり、CPI=EV/AC で計算される。
つまり、CPI=6/8=0.75ゆえに、1よりも小さいからコストパフォーマンスが悪い。
CPIは開発能率、生産能力に相当するので、定義は違うけれどもアジャイル開発のVelocityに似ている。
【3】EVMプラグインのスクリーンショットにあるように、EVMプラグインはSPIやCPIもデフォルト表示されるので、プロジェクトの進捗でどれだけ工数を浪費しているのか、リアルタイムに観察することができる。
できれば、Redmine metrics pluginのようにEVMをマイルストーン単位にバッチ処理で集計できれば、マネージャの意に沿うようになるだろう。
redmine_evm/screenshot.png at master · imaginary-cloud/redmine_evm · GitHub
スクリーンショットの例では3つある。
Test_Redmine_Evmバージョンでは、PVがかなり大きく、EVがACを上回っているものの、PVよりもはるかに小さい。
CPI=1.2なので、1人投入して1.2人分の仕事はしているが、SPI=0.33なので、スケジュールはかなり遅れている。
普通は、他のプロジェクトに人員が取られて、予定通りにメンバーをアサインできず、少ない人数で進めている状況と思われる。
計画通りにメンバーをアサインできていないのだから、マネージャは組織上の上司に訴えかけてプロジェクトを打破する必要がある。
test_version_1バージョンでは、当初はPV=0の時期にACが発生していて、その後、ACは増えていないのにEVが増えている。
色々解釈できるが、当初の計画よりも先にメンバーがタスクを消化しようとしていたが、途中で実績工数を更新せずに進捗率だけ更新していると思われる。
マネージャはチーム状況をヒヤリングし、正しく実績入力するように指導するだろうと思う。
test_version_2バージョンでは、ACが一時期PVを追い越すほど高止まりしていて、EVが停滞している。
CPIもSPIも1よりもはるかに小さい。
普通は、メンバーが残業や休日出勤でリカバリーしようとしたが、本来想定している出来高(アウトプット)が出せていない状況に相当する。
多分デスマーチプロジェクトになっているのだろう。
【3】RedmineからPMBOKのEVMを計測する方法: プログラマの思索にも書いたけれども、EVの考え方には、WF型開発とアジャイル開発の2種類がある。
EVを進捗率で考える方法がWF型開発、EVをチケットが完了したかどうかで決める考え方がアジャイル開発。
つまり、仕掛中の成果物をEVという出来高に含めるかどうかで、EVの考え方が変わってくる。
マネージャの仕事の殆どは予算管理やコスト管理なので、EVの基準を定めることはまさにプロジェクトの成功基準を定めることと同じ。
EVMに限らず、先行・後行、クリティカルパスの計算なども、チケットの属性という入力さえあれば実装可能。
RedmineはRailsで作られているのだから、Rubyでアジャイルに開発してしまえばいいだけのことだ。
| 固定リンク
「プロジェクトマネジメント」カテゴリの記事
- 「スクラムの拡張による組織づくり」のScrum@Scaleの感想(2024.03.31)
- ストラテジストとプロジェクトマネージャの役割の違いは何なのかpart2~プロセスのレイヤと達成目標のレイヤが異なる(2023.02.18)
- ストラテジストとプロジェクトマネージャの役割の違いは何なのかpart1~CSFはWBSみたいなものと捉える(2023.02.14)
- PM理論では課業志向の方が関係志向よりも生産性が高いことを主張しているのではないか(2023.01.22)
- 現代日本人の弱点はリーダーシップ不足と生産性が著しく低いこと、そしてリスク許容度が著しく低いことだ(2022.12.23)
「Redmine」カテゴリの記事
- Redmineのバージョン設定でプロジェクトの設定方法が違う(2024.06.23)
- ウクライナのRedmine開発者が作ったRedmineテーマやプラグイン(2024.06.18)
- 第26回redmine.tokyo勉強会の感想~多様性はコミュニティが成功する重要な要因の一つ #redmineT(2024.06.15)
- Redmineで持ち株管理する事例(2024.04.21)
- チケットはデータでとプロセスの二面性を持つ #redmine(2023.12.24)
「ソフトウェア工学」カテゴリの記事
- アーキテクチャ設計はベストプラクティスを参照するプロセスに過ぎないのか?~Software Processes are Software, Too(ソフトウェアプロセスもまたソフトウェアである)(2024.09.22)
- 「システムアーキテクチャ構築の原理」の感想part2~非機能要件がシステムのアーキテクチャに影響を与える観点をプロセス化する(2024.05.06)
- 「システムアーキテクチャ構築の原理」の感想(2024.05.06)
- ソフトウェア工学の根本問題から最近のソフトウェア設計を考えてみる(2024.03.03)
- マイクロサービス設計は従来のアーキテクチャ設計と何が違うのか(2024.01.02)
「チケット駆動開発」カテゴリの記事
- 第26回redmine.tokyo勉強会の感想~多様性はコミュニティが成功する重要な要因の一つ #redmineT(2024.06.15)
- チケットはデータでとプロセスの二面性を持つ #redmine(2023.12.24)
- 小説活動にプルリクエスト駆動が必要になってきた(2022.05.08)
- 知識は経験よりも大切か、経験は知識よりも勝るのか、SECIモデルは相互作用を語る(2022.04.26)
- プロジェクト管理の基本はテーラリング、Redmineはプロセスをテーラリングするツール(2022.04.21)
「Agile」カテゴリの記事
- 「システムアーキテクチャ構築の原理」の感想part2~非機能要件がシステムのアーキテクチャに影響を与える観点をプロセス化する(2024.05.06)
- 「スクラムの拡張による組織づくり」のScrum@Scaleの感想(2024.03.31)
- ソフトウェア工学の根本問題から最近のソフトウェア設計を考えてみる(2024.03.03)
- 「GitLabに学ぶ 世界最先端のリモート組織のつくりかた」の感想(2023.12.10)
- 概念モデリングや設計原則は進化しているのか(2023.10.21)
「Ruby」カテゴリの記事
- 「コーディングを支える技術」は良い本だ(2022.05.26)
- 知識は経験よりも大切か、経験は知識よりも勝るのか、SECIモデルは相互作用を語る(2022.04.26)
- 「RubyやRailsは終わった」という記事のリンク(2022.01.09)
- ITの技術や知識はツールの習得と表裏一体である(2021.03.26)
- JRubyの終焉(2020.06.09)
コメント