要件管理はチケット駆動開発で実装できるか?
要件管理をRedmineやTrac上で試しているが、しっくりこない原因をメモ。
【元ネタ】
チケット駆動開発とTestLinkによる開発プロセスの改善 (Shibuya.trac #4.5) - まちゅダイアリー(2009-09-11)
チケット駆動開発は進捗報告作りをどのように解決しようとするか?: プログラマの思索
RedmineへScrumのアイデアを注入: プログラマの思索
まちゅさんは、「チケット駆動開発とTestLinkによる開発プロセスの改善 (Shibuya.trac #4.5) - まちゅダイアリー(2009-09-11)」で下記のようなコメントを残している。
TiDD は開発プロセス全体を網羅するものではない。開発プロセスを補完するもの。
* チケットの粒度が細かいことと、構成管理ツールと密接な関係があることから、アウトプットが明確な領域に適用しやすい。
* 要件定義などの不確定要素が大きいタスクに適用するのは難しいかも。
まちゅさんが言うように、TiDDは構成管理ツールと相性がよいので、成果物の管理とチケットを連携させると効果的。
特に、実装やバグ修正、リリース作業で威力を発揮する。
しかし、要件定義や設計のプロセスでは、TiDDはしっくりこないのが僕の実感。
チケットに要件や仕様を書いても、それで漏れなく十分足りているのか分からない。
要件も仕様も、設計して実装して動かしてみて、初めて間違いや漏れが分かる。
設計工程の品質が悪いのが元々の原因だが、その設計の質をアップするのにチケットが役立っていない。
設計プロセスで重要なのは、設計という作業を通じて、本来の要件を緻密に詳細化することだから。
むしろ、要件定義や設計工程で、要件や仕様の確認などの課題管理にチケットを使うと、上手に回る。
例えば、顧客と要件を質問したり、設計者と開発者で仕様のやり取りをする場合、チケットで作業状態を管理すれば、進捗やリスクを追跡しやすくなる。
つまり、設計そのものではなく、要件定義や設計と言う作業はチケットで管理した方がスムーズに回る。
以前、顧客向けの進捗報告を作るために、ストーリーカードをチケットに落として、進捗や作業状態を集計しやすくする方法を考えて、実践してみた。
実際の運用では、ストーリーカードへタスクカードの状態を手作業で反映するのが面倒で、あまり有り難味が感じられなかった。
チケット駆動開発は進捗報告作りをどのように解決しようとするか?: プログラマの思索
RedmineのScrumプラグインのように、チケットの親子関係をRedmine上で実現してくれれば、その作業は自動化できるだろうと思う。
RedmineへScrumのアイデアを注入: プログラマの思索
ところで、派生開発プロセスXDDPでは、設計プロセスでソースからリバースエンジニアリングして、要求仕様書や変更仕様書を作る。
ここで、要求仕様書は今回限りの要件を洗い出したドキュメントであり、変更仕様書はソースの修正手順まで書いた今回限りのドキュメントである。
システムの外部設計や内部設計を書いている機能仕様書には、派生開発が終わり次第、要求仕様書や変更仕様書から変更箇所がマージされて、最新の仕様が反映される手順になる。
つまり、機能仕様書はVerUpしていく。
機能仕様書は構成管理の管理下に置かれるべきものであるから、チケットで管理できる。
しかし、今回限りの成果物である要求仕様書や変更設計書はVerUpの対象ではない。
これらは仕様化プロセスの一時的な成果物。
もし、これらをチケットで管理した場合、作業は管理できるが、仕様化して詰めていく作業はチケットとは別物だ。
XDDPが示唆することは、要件定義や設計のプロセスは、チケットではなく別の何かで管理すべきと示唆しているように思えてならない。
要件管理や設計という上流工程をいかに制御するか?
まだその実現方法が分からず試行錯誤中。
| 固定リンク
「プロジェクトマネジメント」カテゴリの記事
- 「スクラムの拡張による組織づくり」の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)
「チケット駆動開発」カテゴリの記事
- 第26回redmine.tokyo勉強会の感想~多様性はコミュニティが成功する重要な要因の一つ #redmineT(2024.06.15)
- チケットはデータでとプロセスの二面性を持つ #redmine(2023.12.24)
- 小説活動にプルリクエスト駆動が必要になってきた(2022.05.08)
- 知識は経験よりも大切か、経験は知識よりも勝るのか、SECIモデルは相互作用を語る(2022.04.26)
- プロジェクト管理の基本はテーラリング、Redmineはプロセスをテーラリングするツール(2022.04.21)
「Agile」カテゴリの記事
- 「世界一流エンジニアの思考法」の感想(2024.12.08)
- 「システムアーキテクチャ構築の原理」の感想part2~非機能要件がシステムのアーキテクチャに影響を与える観点をプロセス化する(2024.05.06)
- 「スクラムの拡張による組織づくり」のScrum@Scaleの感想(2024.03.31)
- ソフトウェア工学の根本問題から最近のソフトウェア設計を考えてみる(2024.03.03)
- 「GitLabに学ぶ 世界最先端のリモート組織のつくりかた」の感想(2023.12.10)
コメント