(前NTTデータ フェロー システム科学研究所長)山本 修一郎
ISO/IEC/IEEE 29148では、「開発管理の観点から、要求を確定することが望ましいけれども、それが可能になるのはまれである」と指摘している[1]。今回は、筆者が主査をしているIPA ソフトウェアエンジニアリングセンターの要求発展型開発ワーキンググループでの議論に基づいて、要求変化対応プロセスの事例を紹介する。なお、2013年3月8日に開催されるIPA/株式会社NTTデータ共催セミナ「第7回要求シンポジウム~術の進展とビジネス環境の変化を受けたソフトウェア要求品質の向上に向けて~」では、「要求が変化する理由」と題して、本稿の内容も含め、要求発展型開発WGの議論についても講演する予定である(http://sec.ipa.go.jp/seminar/2013/20130308.html)。
環境変化への対応姿勢
ヒュー・コートニーの「不確実性時代の戦略思考」[2]によれば、不確実性に対する戦略姿勢(Strategic posture)には、適応、留保、形成があると指摘している。この考え方をソフトウェアの環境変化対応に適用すると、図1に示すようになる。
図1 環境変化への対応姿勢
◆形成(Shape to the Future)
新たなしくみをシステムが提供することによって、未来の環境を形成する。
◆適応(Adapt to the Future)
環境変化に素早く、柔軟に対応することによって、未来の環境に適応する。
◆留保(Reserve the Right to Play)
環境変化に対応するための「形成」または「適応」の意思決定を留保することによって、可能な限り現状のソフトウェアを継続利用することで、未来の対応機会を待つ。
ISO/IEC/IEEE 29148の要求変更管理プロセス
要求変更の必然性を認識することと変更による影響範囲を緩和することが重要であることから、ISO/IEC/IEEE 29148では、要求追跡と要求構成管理を用いて、提案された要求変更に対する影響評価、レビュ、承認プロセスを確立する必要があるとしている[1]。
要求変更管理では、プロジェクトにおける構成管理手続きに従って、要求変更レベルに応じて必要となる承認権限者と要求のベースラインを定義する。要求変更管理の対象となるベースラインとして機能(functional)、配置(allocated)、開発(developmental)、製品(product)がある。これらのベースラインに対する要求は、機能要求、設計に配置された要求、開発された要求、製品化された要求となるから、要求変更管理プロセスは上流だけではなくライフサイクル全体を対象とすべきであることが分かる。ここで、運用中の要求は、製品化された要求に対応している。
要求追跡表(Requirements Traceability Matrix, RTM)を用いることによって変更要求に対する影響評価を容易化するとともに、要求変更が承認された場合RTMを適切に更新しておく必要がある。
要求状態管理プロセス
システム要求には、図2に示すような4つの基本的な状態がある[3]。まずシステム要求が抽出されると、ステークホルダによって合意される。合意された要求が実装されると通常運用され、合意されない要求は削除される。
図2 要求状態管理プロセス
要求が通常運用されると、目的変化・環境変化によって新たな要求が抽出されるか、当初想定した要求が通常運用範囲を逸脱する。通常運用範囲を逸脱した要求は原因分析される。逸脱した要求が迅速対応されると、通常運用に戻る。一方、通常運用に復帰できない要求には、要求に対する実装が誤っているかどうかによって2つの場合がある。
もし、要求に対する実装が誤っていれば、要求の合意状態に遷移して要求を再実装する。
もし、要求に対する実装が誤っていなくて逸脱したのだとすると、要求を修正することにより新たな要求として抽出する。
この要求状態管理プロセスには、開発時と運用時の要求マネジメントがある。要求の抽出状態と合意状態は、開発時の要求マネジメントの対象である。これに対して、通常運用と逸脱状態の要求は、運用時の要求マネジメントの対象である。
この要求状態管理モデルには、図3に示すDEOSプロセスにおける①目的環境変化対応サイクルと、②障害対応サイクルが対応している。
従来の要求変更管理プロセスでは、開発時の要求マネジメントプロセスしか考慮していなかった。したがって、要求状態管理プロセスが示すような運用時を含めた要求マネジメントが必要である。
図3 DEOSプロセス
続きは本誌でご覧頂けます。→本誌を購入する
ご購入のお申込みは電話(03-3507-0560)でも承っております。
- 60:要求とアーキテクチャ
- 61:要求と保守・運用
- 62:オープンソースソフトウェアと要求
- 63:要求工学のオープンな演習の試み
- 64:Web2.0と要求管理
- 65:ソフト製品開発の要求コミュニケーション
- 66:フィードバック型V字モデル
- 67:日本の要求定義の現状と要求工学への期待
- 68:活動理論と要求
- 69:ビジネスゴールと要求
- 緊急:今、なぜ第三者検証が必要か
- 71:BABOK2.0の知識構成
- 72:比較要求モデル論
- 73:第18回要求工学国際会議
- 74:クラウド時代の要求
- 75:運用要求定義
- 76:非機能要求とアーキテクチャ
- 77:バランス・スコアカードの本質
- 78:ゴール指向で考える競争戦略ストーリー
- 79:要求変化
- 80:物語指向要求記述
- 81:要求テンプレート
- 82:移行要求
- 83:要求抽出コミュニケーション
- 84:要求の構造化
- 85:アーキテクチャ設計のための要求定義
- 86:BABOKとREBOK
- 87:要求文の曖昧さの摘出法
- 88:システムとソフトウェアの保証ケースの動向
- 89:保証ケースのためのリスク分析手法
- 90:サービス保証ケース手法
- 91:保証ケースのレビュ手法
- 92:要求工学手法の再利用
- 93:SysML要求図をGSNと比較する
- 94:保証ケース作成上の落とし穴
- 95:ISO 26262に基づく安全性ケースの適用事例
- 96:大規模複雑なITシステムの要求
- 97:要求の創造
- 98:アーキテクチャと要求
- 99:保証ケース議論分解パターン
- 100:保証ケースの議論分解パターン[応用編]
- 101:要求発展型開発プロセスの事例
- 102:参照モデルに対する保証ケース
- 103:参SEMATの概要
- 104:参SEMATの活用
- 105:SEMATと保証ケース
- 106:Assure 2013の概要
- 107:要求の完全性
- 108:要求に基づくテストの十分性
- 109:システムの安全検証知識体系
- 110:機能要求の分類
- 111:IREB
- 112:IREB要求の抽出・確認・管理
- 113:IREB要求の文書化
- 114:安全要求の分析
- 115:Archimate 2.0のゴール指向要求
- 116:ゴール指向要求モデルの保証手法
- 117:要求テンプレートに基づく要求の作成手法
- 118:ビジネスゴールのテンプレート
- 119:持続可能性要求
- 120:操作性要求
- 121:安全性証跡の追跡性
- 122:要求仕様の保証性
- 123:システミグラムとドメインクラス図
- 124:機能的操作特性
- 125:セキュリティ要求管理
- 126:ソフトウェアプロダクトライン要求
- 127:システミグラムと安全分析
- 128:ITモダナイゼーションとITイノベーションにおける要求合意
- 129:ビジネスモデルに基づく要求
- 130:ビジネスゴール構造化記法
- 131:保証ケース導入上の課題
- 132:要求のまとめ方
- 133:要求整理学
- 134:要求分析手法の適切性
- 135:CROS法の適用例
- 136:保証ケース作成支援ツールの概要