ソフトウェア開発をサポートするツールの重要性
JaSST2010東京(ソフトウェアテストシンポジウム)で、「実践アジャイルテスト」を書かれたIBMの人が講演した資料が公開されていたのでメモ。
【元ネタ】
JaSSTソフトウェアテストシンポジウム-JaSST'10 Tokyo
要求管理から改修・テストまで、アプリケーションライフサイクルから考える. プロジェクトのあり方(PDF)
上記の講演資料では、ソフトウェア開発における三つの課題をあげて、その解決方法について論じている。
その課題とは、トレーサビリティの確保、テストの自動化、開発作業の効率化だ。
トレーサビリティの確保は要求管理、テストの自動化は品質管理、開発作業の効率化は構成管理や変更管理の強化につながる。
OSSツールは特に要求管理のツールが無いので、厳しい。
テストの自動化や構成管理、変更管理は、HudsonやGit/Mercurial、Trac/Redmineなどでカバーできると思う。
IBMが販売するツールをメインにしているので、ちょっと鵜呑みにできないけれど、興味を惹いたのは、プロジェクトが大規模化、分散化するほど、ツールの重要性が高まるという指摘。
小規模なチームの場合、一つの部屋に全員が集まって対面を意識して開発すればいい。
しかし、10人以上のチームになると、2個以上のサブチームに分かれるため、サブチームの情報を収集して集計する管理工数が別途必要になる。
50人以上のチームになれば、管理工数だけでなく、サブチームからあげられた進捗などの情報を元に、整合性をとりながら集計していかなければならない。
大規模なチームほど、管理工数やその他の作業工数の比率が高まり、現場からトップまでの報告の時間が長くなり、その分、決断も遅れる。
上記の資料では、大規模チームでは、管理作業やその他の作業に全体の10~20%の工数がとられると言う。
つまり、本来の開発作業と無関係の工数の比率が高まり、その分、コストも増えるだけでなく、プロジェクト内部の無駄なコミュニケーションロスが増える。
ツールが必要なのは、開発能力を高めて本来の開発作業の生産性を上げるだけでなく、管理工数やその他の作業を減らすことにある。
言われてみれば当たり前なのだが、大規模プロジェクトほど身動きが難しい。
その理由の一つは、ツールが高価で複雑であること、そして、ツールにメンバーが慣れるコストがかかることだろう。
だが、OSSのプロジェクト管理支援ツールを駆使すれば、それらの問題は解決できると思っている。
そのツールの中でも、一番欲しいのは要求管理のツール。
テスト管理はTestLink、進捗管理はRedmine、ビルド管理やリリース管理はHudson、構成管理はGitやMercurialなどを使ってみて、それらのツールの特徴や有用性はだいたい経験できた。
しかし、要求管理については、まだ未知の分野。
上記の資料にあるように、要件や仕様のトレーサビリティをツールでサポートしたら、どれだけ有用なのか、実験してみたいのだ。
IBMの要求管理ツールで面白い機能は、トレーサビリティで関係付けられた要求に変更が入った場合、追跡可能性を示すサスペンドリンクが表示されて、影響を受ける他の要求の一覧が表示されること。
つまり、要求の依存関係をトレースできることを意味している。
これができれば、仕様変更や機能追加が突然発生しても、上流工程で設計漏れを防ぐことができるし、精度の高い工数見積もりが可能になる。
ソフトウェア開発の作業を支援するツールそのものの開発は、まだ発展途上。
まだまだ実験して研究する余地が沢山ある。
| 固定リンク
「プロジェクトマネジメント」カテゴリの記事
- 製造業のDXを推進する部門をITコーポレート部門に割り当てるとなぜ失敗するのか(2026.02.04)
- SAFeはScrumと全く異なるアジャイル開発プロセスだ(2026.02.01)
- プ譜でプロジェクトの目的を管理する(2026.01.31)
- Redmine AI HelperプラグインはRedmineをAI駆動プロジェクト管理に変える可能性を秘めている #Redmine(2025.12.31)
- 第29回東京Redmine勉強会の感想~今話題のテーマはJTC運用とAIによるプロマネ作業支援 #redminet(2025.11.09)
「Redmine」カテゴリの記事
- Redmine AI HelperプラグインはRedmineをAI駆動プロジェクト管理に変える可能性を秘めている #Redmine(2025.12.31)
- 第29回東京Redmine勉強会の感想~今話題のテーマはJTC運用とAIによるプロマネ作業支援 #redminet(2025.11.09)
- 第22回 Redmine大阪の感想 #RedmineOsaka(2025.09.21)
- RedmineJapan vol.4の感想part1~Redmine AI HeplerプラグインはRedmineのナレッジ活用を強化してくれる #RedmineJapan(2025.07.31)
- Jiraの機能はTracに似ている気がする #redmine(2025.06.01)
「ソフトウェア工学」カテゴリの記事
- Jiraの機能はTracに似ている気がする #redmine(2025.06.01)
- チームトポロジーの感想~大規模アジャイル開発でも組織構造は大きく変化する(2025.01.01)
- Redmineは組織のナレッジ基盤として実現可能なのか~島津製作所の事例を読み解く #redmineT(2024.12.29)
- アーキテクチャ設計はベストプラクティスを参照するプロセスに過ぎないのか?~Software Processes are Software, Too(ソフトウェアプロセスもまたソフトウェアである)(2024.09.22)
- 「システムアーキテクチャ構築の原理」の感想part2~非機能要件がシステムのアーキテクチャに影響を与える観点をプロセス化する(2024.05.06)
「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)


コメント