プロジェクト管理ツールの目的はプロセスの透明化
開発抽象化レイヤ - The Joel on Software Translation Projectを読み直して、もう一度考えを書き直す。
【元ネタ】
開発抽象化レイヤ - The Joel on Software Translation Project
RedmineやTracによって、Excelからタスク管理やワークフローをIT化する。
昨今の高機能なBTSによって、ワークフローやプロセス管理を開発者は特に意識せずに開発できる。
TestLinkによって、Excelからテスト管理をIT化する。
管理者やテスト設計者は、膨大なテストケースの管理や複雑なテスト計画・集計作業から解放される。
SVN、Mercurial、Gitによって、ソースだけでなく、WordやExcelのドキュメントもバージョン管理する。更に、BTSと連携してソースやドキュメントをチケットに紐付ける。
開発者も設計者も、ソースやドキュメントの変更理由をチケットから類推できる。
これらのツールが目指すのは、プロセスを透明化することだ。
ジョエルの言う開発抽象化レイヤを狭義に捉えると、開発者がプロジェクト管理を意識しなくてもクリエイティブに開発できるようにすることだ。
作業者がツールを使いこなせば、ツールの機能に隠されたベストプラクティスによって、自然にプロセス管理されている。
プロセス管理でがんじがらめな開発になるのではなく、複雑な連携作業やワークフロー管理はツールに任せて、開発者はクリエイティブに開発できる。
管理者も、マネジメント情報を収集する作業から解放されて、経営者のようにツールから出力されたマネジメント情報を使って、高度な意思決定に注力できる。
ソフトウェア開発において、プロジェクト管理やテスト管理、品質管理の問題が急速に言われ始めたのは、プログラミングを中心とする下流工程でここ10年大幅な技術革新が行われたのに、プロジェクト管理の技術が旧態依然のままで、プログラミングの速度に追いついていないからだろう。
Excelでチマチマと手作業で管理する技術は、RailsやSeasarのようなWebプログラミングの速度にマッチしていない。
わずか10~20人月のプロジェクトでLOCが1万行を超え、テストケース数も1千を超える規模では、ツールでプロジェクト管理を補完しなければ、せっかくのプログラミング技術の生産性も落ちる。
ツールに必要な物は何か?
それは、常に最新の作業情報、成果物、そして仕様。
最新の作業情報を入力データとして、BTSによるチケット駆動開発がプロセスを透明化する。
最新の成果物を入力データとして、バージョン管理ツールが開発プロセスのインフラを提供し、BTSとソース管理が連携して、成果物と作業情報を連携してくれる。
最新の仕様を入力データとして、ツールが仕様と成果物が紐づく。
この部分のツールは、TestLinkの要件管理機能のように、まだ不十分。
でも、昨今のように短期間で開発するには、作業情報と成果物と仕様が密接に連携できるツールを必要としている。
| 固定リンク
« 【公開】SQIP2009講演資料「チケット駆動開発- BTSでExtreme Programmingを改善する-」 | トップページ | TortoiseSVN から Redmineと連携する »
「プロジェクトマネジメント」カテゴリの記事
- 「スクラムの拡張による組織づくり」の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)
コメント