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)
「プロジェクトマネジメント」カテゴリの記事
- 「スクラムの拡張による組織づくり」の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)
「ソフトウェア工学」カテゴリの記事
- 「システムアーキテクチャ構築の原理」の感想part2~非機能要件がシステムのアーキテクチャに影響を与える観点をプロセス化する(2024.05.06)
- 「システムアーキテクチャ構築の原理」の感想(2024.05.06)
- ソフトウェア工学の根本問題から最近のソフトウェア設計を考えてみる(2024.03.03)
- マイクロサービス設計は従来のアーキテクチャ設計と何が違うのか(2024.01.02)
- 「ソフトウェアアーキテクチャ・ハードパーツ」の情報リンク~マイクロサービスの設計技法の課題は何なのか(2023.11.12)
「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)
「チケット駆動開発」カテゴリの記事
- 第26回redmine.tokyo勉強会の感想~多様性はコミュニティが成功する重要な要因の一つ #redmineT(2024.06.15)
- チケットはデータでとプロセスの二面性を持つ #redmine(2023.12.24)
- 小説活動にプルリクエスト駆動が必要になってきた(2022.05.08)
- 知識は経験よりも大切か、経験は知識よりも勝るのか、SECIモデルは相互作用を語る(2022.04.26)
- プロジェクト管理の基本はテーラリング、Redmineはプロセスをテーラリングするツール(2022.04.21)
「astahによるUMLモデリング」カテゴリの記事
- 「システムアーキテクチャ構築の原理」の感想part2~非機能要件がシステムのアーキテクチャに影響を与える観点をプロセス化する(2024.05.06)
- 「システムアーキテクチャ構築の原理」の感想(2024.05.06)
- astahにタイミング図がサポートされた(2024.03.12)
- 概念モデリングや設計原則は進化しているのか(2023.10.21)
- パッケージ原則とクラス原則の違いは何なのか(2023.10.14)
コメント