TiDDをRubyで補強するアイデア
RubyとRailsを触り始めた。
とても書きやすい。
Rubyに色んな可能性を感じている。
TiDDをRubyでサポートするアイデアをメモ。
【1】BTSチケットのFS関係から、ネットワーク図を作成し、クリティカルパスを自動計算する
チケット駆動開発にPMBOKの概念を導入してみる: プログラマの思索に書いた。
やりたいのは、開発中にクリティカルパス上にあるチケットを調べたい。
それらのチケットを管理するのが、プロジェクトマネージャの最重要な仕事だから。
できれば、バージョン毎にクリティカルパスを計算したい。
1個のバージョンに含まれるチケット数はせいぜい10個ぐらいなので、すぐに計算できるはず。
多分バックトラックのアルゴリズムを使えば、計算できるだろうと想像している。
Redmineのプラグインとして作れるはず。
【2】チケットの予定・実績工数から、プロジェクトのEVMを計算する
チケット駆動開発にEVMの概念を導入してみる: プログラマの思索に書いた。
やりたいのは、プロジェクト開始前に、WBSをチケットに登録し、プロジェクトをシミュレーションしたい。
シミュレーションした結果、どうやっても納期に間に合わない、とか、どうやってもコストオーバーになる、という事実が判明することがある。
つまり、デスマーチがプロジェクト開始前に決定という状況。
その結果を早めにエスカレーションして、そもそも開発を請け負うべきなのか、という判断を上司へ仰がせたい。
取らない方がよいプロジェクトもあるはずだ。
Redmineのプラグインとして作れるはず。
【3】BTSチケットとSCMリビジョンが紐づく関係を使って、ソース修正履歴の傾向を統計処理する
Redmineにお勧めソース機能が欲しい: プログラマの思索に書いた。
やりたいのは、そのソースに技術的負債があってリファクタリング工数が別途必要になる、というリスクを未然に調べたいこと。
どのシステムも何年も運用するうちに、たくさんの開発者の手が入ってどんどん劣化していく。
そして、機能追加したい時に、実は機能追加の工数よりもリファクタリング工数の方が多いという状況は多々ある。
そして、その工数を事前に確保していないから、納期までに終わらないという状況が発生しやすくなるからだ。
SVNの全コミットログは、下記でXML形式で取得できる。
svn log -v --xml > logfile.log
上記をパースして集計するRedmineのプラグインとして作れるはず。
【4】astahのモデルからファンクションポイントを計算して、見積もりに使う
おかじまさんが下記で色々試されている。
astahのAPIはJRubyでも使えるから、モデルさえ作ればすぐにRubyで書けるはず。
astah*Professionalファーストインプレッション: プログラマの思索
JUDE改めastah*、ファーストインプレッション - TECH-moratorium : テクモラトリアム
JRubyでJUDE CRUD-APIを試す - TECH-moratorium : テクモラトリアム
JUDE APIでFPを算出するアプリ - TECH-moratorium : テクモラトリアム
【5】astahの要求テーブルとテストケースをTestLinkへインポートできる形式へ変換する
astahには、要件管理やテストケースの機能が不十分だが付属している。
要件やテストケースをastahのモデルと紐づけて、TestLinkの要件やテストケースと関連付けたい。
そうすれば、要件カバレッジや、モデルからテストケースへの追跡が可能になるだろう。
すると、テストケースの品質が上がるだけでなく、バグが出た場合、バグの影響範囲を調査する時に役立つだろう。
【6】astahのステートマシン図から出力した状態遷移表をデシジョンテーブルへ変換し、TestLinkCnvMacroと連携してTestLinkのテストケースへ変換する
astahのステートマシン図から状態遷移表を出力するツールは上記で配布されている。
やりたいのは、ステートマシン図からTestLinkのテストケースを自動生成したい。
システム上の制約条件は結局、ステートマシン図で見た方が早い。
しかも仕様を理解しやすいし、レビューでも指摘しやすい。
上記のようにRubyでTiDDを補強したい理由は、プロジェクト管理をもっと楽にしたいからだ。
従来のプロジェクトマネージャは、ExcelやMSProjectを駆使して、進捗管理したりプロジェクトのシミュレーションを行っていた。
Excelマクロを駆使して、そのプロジェクトに特化したツールをたくさん作っていただろう。
開発メンバーにExcelで進捗報告を提出させて、PMは残業してそれらのExcelを集計する。
1日の最後に、テスターへExcelのテスト仕様書にテスト実施結果を書かせて、PMは残業してテスト結果を集計する。
そんなやり方では、昨今のビジネスのスピードに、プロジェクト管理が追いついていない現状がある。
現代では、プロジェクトマネージャでも強力なスクリプト言語を使って、自分のマネジメント業務を改善すべきだ。
Rubyという強力なツールを使えば、ルーチン作業は全て自動化できる。
SW開発で最もIT化されていない部分は、実はプロジェクト管理ではないかと最近は強く思っている。
色々考えてみたい。
| 固定リンク
「プログラミング」カテゴリの記事
- Javaのモジュールシステムの考え方をまとめてみた(2022.10.21)
- Javaのモジュールシステムは複雑性をより増している(2022.09.10)
- Javaはなぜ関数型言語になろうとしているのか(2022.09.02)
- Javaのラムダ式の考え方(2022.08.10)
- Javaはオブジェクト指向言語ではなく関数型言語だった~「[増補改訂]関数プログラミング実践入門」はお勧めの本だ(2022.08.06)
「プロジェクトマネジメント」カテゴリの記事
- PM理論で読み解く日本人リーダーの弱点(2026.05.12)
- リプレースとアーキテクチャモダナイゼーシヨンの違いの本質は何なのか?(2026.04.08)
- PMPとCSM取得者数推移(日本 vs 中国)から読み取れる指針は何か?(2026.02.23)
- 製造業のDXを推進する部門をITコーポレート部門に割り当てるとなぜ失敗するのか(2026.02.04)
- SAFeはScrumと全く異なるアジャイル開発プロセスだ(2026.02.01)
「Redmine」カテゴリの記事
- 製造業がRedmine導入で必ず聞く3つの質問~MS Project派がRedmine導入で悩むこと(2026.05.03)
- RedmineのAI支援機能はチケット管理システムにとって重要な要件だ(2026.04.29)
- マイクロマネジメントに陥ったチケット駆動開発の罠と再生戦略 #redminet(2026.04.26)
- RedmineとAIが加速させるタスク管理の未来~蓄積されたナレッジを独自のAIとして活用する可能性(2026.04.04)
- Redmine AI HelperプラグインはRedmineをAI駆動プロジェクト管理に変える可能性を秘めている #Redmine(2025.12.31)
「ソフトウェア工学」カテゴリの記事
- マイクロマネジメントに陥ったチケット駆動開発の罠と再生戦略 #redminet(2026.04.26)
- リプレースとアーキテクチャモダナイゼーシヨンの違いの本質は何なのか?(2026.04.08)
- アーキテクチャモダナイゼーションにおけるAMETチームの役割と責任範囲は何か(2026.03.23)
- アーキテクチャモダナイゼーションとはそもそも何なのか?(2026.03.22)
- 自動車業界におけるA-SPICE・機能安全・サイバーセキュリティの規格に対応したプロセス改善とは何か?(2026.02.15)
「TestLink」カテゴリの記事
- JSTQBのテストプロセスの概念モデルを描いてみた(2023.05.26)
- TestLinkの要件管理にUSDMを適用する方法(2023.01.22)
- TestLinkのテストケースはクラスとインスタンスの考え方で区別する(2023.01.22)
- テスト管理ツールCAT、TestRail、QualityForwardのオンラインのマニュアルのリンク(2022.09.24)
- テスト管理ツールTestRail、CAT、QualityForwardの感想(2022.07.30)
「チケット駆動開発」カテゴリの記事
- マイクロマネジメントに陥ったチケット駆動開発の罠と再生戦略 #redminet(2026.04.26)
- 第29回東京Redmine勉強会の感想~今話題のテーマはJTC運用とAIによるプロマネ作業支援 #redminet(2025.11.09)
- RedmineJapan vol.4の感想part1~Redmine AI HeplerプラグインはRedmineのナレッジ活用を強化してくれる #RedmineJapan(2025.07.31)
- Jiraの機能はTracに似ている気がする #redmine(2025.06.01)
- Redmineは組織のナレッジ基盤として実現可能なのか~島津製作所の事例を読み解く #redmineT(2024.12.29)
「astahによるUMLモデリング」カテゴリの記事
- 愛憎のUML~なぜ「設計図」は消え、「スケッチ」として生き残ったか(2026.05.03)
- AIエージェントとastahが変える真のモデル駆動開発とは何か(2026.04.12)
- すり合わせの優位性は健在か?日本の製造業が直面するPLM活用とMBSEソフトウェア運用の理想と現実(2026.03.29)
- データモデリングではシステムが宿命的に負う複雑性をどのように解決しようとしているのか(2026.02.14)
- データモデリングの手法をあなたは持ってますか? at 関西IT勉強宴会(2026.02.11)


コメント