ソフトウェア開発の諸問題はソフトウェアで解決する
「要件とソースとテストを関連付けて管理する開発保守環境構築をめざしてBy Suzuki 」というスライドを偶然見つけた。
どうやら2005年頃の発表資料らしい。
課題と今後の目標
* ソースと要件の結びつけはできる
* でも、テストケースとソース、 テストケースと要件の結びつけが できていない
* テストケースのバージョン管理って どうやればいいんだろう?
* ツールは?
* エクセルはもう使いたくない
この回答は僕は持っている。
TiDD+TestLinkがその答えになる、と。
下記の記事を偶然見つけた。
プロジェクト管理は専用ツールを使うのが鉄則 - TechTargetジャパン
(前略)
プロジェクトマネジャーがプロジェクト管理専用のツールを使わない場合、それは彼らがしかるべき教育と訓練を受けていない証拠なのだ。
WordやExcelを使ってプロジェクト管理を行うと、間違いなくビジネス全体に悪影響がある。例えば、リソースの利用可能量やプロジェクトの状態、プロジェクトポートフォリオ全体の健全性が見えにくくなってしまう。プロジェクトの観点から見ると、プロジェクト管理ツールを使わないことによる大きな弊害は、きちんとしたスケジュールを持たず、個別のタスクを管理するだけになってしまうことだ。プロジェクトの規模が大きい場合や、リソースに制約がある場合、期限が厳しい場合、作業の依存関係が多い場合には、これではリスキーだ。
(後略)
以前のソフトウェア開発では、期間も長く、資金も潤沢にあった。
そして何よりも、コンピュータ資源のコストが高く、誰もが湯水のように使える代物ではなかった。
だから、ツール無しで開発するのが普通だった。
プログラミングも机上デバッグが普通だったし、プロジェクト管理もマネージャ個人の能力に依存していた。
しかし、現在のソフトウェア開発は短納期で低コストで開発せねばならない。
従来と全く異なる条件は、コンピュータ資源のコスト、プログラミングのコストが劇的に安いことだ。
Webサーバーは素人でも1万円以下で構築できるし、Railsのような優れたWebフレームワークのおかげで、技術力さえあれば簡単にWebアプリを作れる。
現在のソフトウェア開発がSubversionやGit、Mercurialのようなバージョン管理無しで開発できないように、プロジェクト管理もRedmineやTracのようなツール無しではマネジメントの品質も落ちる。
更に、テスト工程におけるテスト計画・実施・集計のようなテスト管理も、TestLinkのようなツール無しでは、プロセスの品質を担保できない。
これらのツールには、マネジメントのベストプラクティスが含まれている。
ツールを使いこなせば自然に誰でもマネージャとして意思決定できる。
昨今のわずか20人月のソフトウェア開発でも、LOCは数万行を軽く超えて、テストケースは数千を超える。
これだけ複雑になったソフトウェア開発のプロジェクト管理を、Excel上でチマチマと手作業で管理するのはもはや現実的ではない。
巷にはソフトウェア開発のプロジェクト管理、テスト管理、品質管理、ソフトウェア工学に関する本が溢れている。
でもそれらは殆どが抽象的過ぎて、実際の現場で運用するにはハードルが高い。
特にソフトウェア工学に関する知識は、とても勉強になるが、実際の現場では使いづらい。
ソフトウェア信頼性モデル、要件カバレッジ、テストカバレッジ、障害管理などいずれの概念も、ツール無しでは実現できない。
ソフトウェア開発の諸問題は、過去の経験から得られたノウハウを専用のツールの機能へ実装して、そのツールで解決していくしか方法がないのではないか?
ツールでプロセスを改善する。
ソフトウェアでソフトウェア開発の諸問題を解決していく。
| 固定リンク
「プロジェクトマネジメント」カテゴリの記事
- 「スクラムの拡張による組織づくり」のScrum@Scaleの感想(2024.03.31)
- ストラテジストとプロジェクトマネージャの役割の違いは何なのかpart2~プロセスのレイヤと達成目標のレイヤが異なる(2023.02.18)
- ストラテジストとプロジェクトマネージャの役割の違いは何なのかpart1~CSFはWBSみたいなものと捉える(2023.02.14)
- PM理論では課業志向の方が関係志向よりも生産性が高いことを主張しているのではないか(2023.01.22)
- 現代日本人の弱点はリーダーシップ不足と生産性が著しく低いこと、そしてリスク許容度が著しく低いことだ(2022.12.23)
「Redmine」カテゴリの記事
- 「RedmineのUbuntu+Docker構築への移行」の感想 #redmineT(2024.11.24)
- 第27回redmine.tokyo勉強会の感想 #redmineT(2024.11.10)
- Redmineのバージョン設定でプロジェクトの設定方法が違う(2024.06.23)
- ウクライナのRedmine開発者が作ったRedmineテーマやプラグイン(2024.06.18)
- 第26回redmine.tokyo勉強会の感想~多様性はコミュニティが成功する重要な要因の一つ #redmineT(2024.06.15)
「ソフトウェア工学」カテゴリの記事
- アーキテクチャ設計はベストプラクティスを参照するプロセスに過ぎないのか?~Software Processes are Software, Too(ソフトウェアプロセスもまたソフトウェアである)(2024.09.22)
- 「システムアーキテクチャ構築の原理」の感想part2~非機能要件がシステムのアーキテクチャに影響を与える観点をプロセス化する(2024.05.06)
- 「システムアーキテクチャ構築の原理」の感想(2024.05.06)
- ソフトウェア工学の根本問題から最近のソフトウェア設計を考えてみる(2024.03.03)
- マイクロサービス設計は従来のアーキテクチャ設計と何が違うのか(2024.01.02)
「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)
「廃止Mercurial」カテゴリの記事
- GitHubはオープンソースのプロセスを標準化した(2015.06.11)
- 「反復型ソフトウェア開発」はソフトウェア工学の良書(2013.02.09)
- Mercurialに取り込まれたコミュニティ由来の機能一覧(2013.01.12)
- WordやExcelから直接Mercurialへコミットできるアドオンmsofficehg(2012.12.07)
- RedmineでSubversion リポジトリ表示を高速化する方法(2012.11.23)
「構成管理・Git」カテゴリの記事
- 「GitLabに学ぶ 世界最先端のリモート組織のつくりかた」の感想(2023.12.10)
- パッケージ設計の原則の意義は変化しているのか(2023.09.30)
- 小説活動にプルリクエスト駆動が必要になってきた(2022.05.08)
- 【資料公開】チケット駆動開発の解説~タスク管理からプロセス改善へ #redmine(2022.01.14)
- プログラミングしてる時はでっかいピタゴラ装置を作ってるみたいな感じ(2022.01.09)
「チケット駆動開発」カテゴリの記事
- 第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)
コメント