システム開発に関する標準類
システム・ソフトウェアの開発に関連する標準類は様々存在します。これまでにも開発の進め方(プロセス)や記載内容(仕様)に関する国際標準が提案されています参考1~4。2011年12月には、要求定義に関する国際標準が公開されました。正式名称は「ISO/IEC/IEEE 29148 Systems and software engineering - Life cycle processes - Requirements engineering」(以降、29148と略す)です参考5。29148では、開発プロセスの上流(システム要求やソフトウェア要求を定義する部分)にフォーカスしています。そして、これまでの標準ではあまり言及されていなかった、システム・ソフトウェア要求より上位に位置する「ステークホルダ要求」を考慮していることが、大きな特徴の1つと言われています。
グローバルな共通言語
お気付きの方も多いと思いますが、「システム要求」や「ソフトウェア要求」という言葉は、要求を実現する側(システム・ソフトウェア)の名称が付与されたものになります。一方で、「ステークホルダ要求」という言葉は、要求を実現して欲しい側(ステークホルダ)の名称が付与されたものになります。これらの違いは何でしょうか?例えば企業や組織におけるシステム開発を想定すると、考慮すべきステークホルダは多岐に渡ります。システムを使うユーザやシステムの管理者は当然ですが、システム導入によりメリット(あるいはデメリット)を受ける人達(経営者や顧客)全てがステークホルダに該当します。また、システムやシステムを活用する業務が順守すべき組織内部の規定や法律も、ステークホルダに含まれることが多々あります。このように、ステークホルダ要求の抽出や分析という課題に着目しても、非常に広範囲かつ深い議論が必要なことがわかります。29148はあくまで標準文書ですので、これらの課題に対する答えはありません。しかしながら、要求定義の標準的な進め方(プロセス)や記載内容(仕様)の国際的なガイドラインが提示されています。システム開発をグローバルに進めることが当たり前となっている現在の状況では、29148は要求定義を進める際、グローバルで活用できる「プロジェクトメンバ間の共通言語」としての役割が期待されます。
29148の影響力
国内の動向を見てみますと、29148の内容はIPA SECから2013年3月に刊行された「共通フレーム2013」において、超上流フェーズの記載に反映されています参考6。また、情報処理学会では29148のJIS化に向けた検討も既に始まっています参考7。このように、29148の内容はグローバルなプロジェクトに関わる方のみならず、システム開発を進める上で多くの方が意識するべきものになってくると考えられます。
図:3つの要求仕様とプロセスの流れの例
参考文献
- 参考1IEEE Std. 830-1998, IEEE Recommended Practice for Software Requirements Specifications, IEEE, 1998.
- 参考2IEEE Std. 1233-1998, IEEE Guide for Developing System Requirements Specifications, IEEE, 1998.
- 参考3IEEE Std. 12207-2008, IEEE Systems and software engineering - Software life cycle processes, IEEE, 2008.
- 参考4IEEE Std. 15288-2008, IEEE Systems and software engineering - System life cycle processes, IEEE, 2008.
- 参考5IEEE Std. 29148-2011, IEEE, IEEE Systems and software engineering - Life cycle processes - Requirements engineering.
- 参考6IPA SEC 共通フレーム2013(外部リンク)
- 参考7情報処理学会(外部リンク)