要件定義を精錬する#1

要件定義を精錬する#1

システム設計の登竜門!要件定義入門を発展、深堀していく記事です。要件定義をよりシステム開発における絶対的なを基盤とするために近づけていくにはどうしたらよいか考えてみました。ぜひ一読ください。

抜けのない要件定義を目指す

最新の要件定義を行う際に留意すべきポイント
ITを使った情報システムのアーキテクチャは多様化しています。そうした状況の中でシステムを開発する際に考慮すべきポイントは、(少なくても)以下の5点であると筆者は考えています。①クラウド②UX③アジャイル④BABOK⑤データマネジメント上記の5点は、対象範囲があまりに違いすぎて、そもそも同列に並べるべきではないかもしれません。ただ5つとも、これからのシステム開発にかかわる人であれば、要件定義を行う上で頭の片隅に置いておくべきキーワードです。キーワードということでは、昨今は「IoT (Internet of Things)」「AI (Artificial Intelligence)」も上記に加加えるべきかもしれません。上記の中で、筆者は特に⑤データマネジメントの重要性に注目しています。データマネジメントの知識体系である DMBOKでは、データマネジメントについて、「データと情報資産の価値を獲得し、統制し、保護し、提供し、向上させるためのポリシー、実践、プロジェクトについて計画を立て実行することと定義します。

データマネジメントの重要性

DMBOK (Data Management Body of Knowledge) Guideは、DAMAインターナショナルが編纂した、データマネジメントに関する知識体系のことです。そこには、組織が継続的なデータマネジメントを推進するに当たって必要となる考え方や組織体制、管理機能、用語、ベストプラクティスなどがまとめられており、次のように提言しています。「品質の高いデータを持たずして成果をあげられるエンタープライズは存在しない。組織は今日、より多くの情報を収集し、より有効な意思決定を行うため、自らが保有するデータ資産に頼っている。」「組織がデータを求め、データへの依存度が高まる中で、データ資産のビジネス的価値の認知度はより一層高まることだろう」データマネジメントは、システム開発プロジェクト単位に行うものではありません。エンタープライズごと、企業組織単位で行うべきですが、個々の開発プロジェクトでもきちんと意識しておかないと、データマネジメントの運用に悪影響を及ぼします。情報とは、データに意味付けしたものです。情報システムはデータの正しいやり取りを可能にしなければなりません。それゆえに、情報システムの価値は、そこで生み出されるデータの価値で決まります。つまり、データマネジメントの実施が、情報システムの価値を高めるのです。そのデータマネジメントを実現可能とする仕組みこそ、情報システムが目指すべき姿であり、対象の開発プロジェクトで意識すべき事項です。開発し、完成した情湖システムが創出するデータの価値を最大に高めるべく、要件定義の段階から心掛けるべきです。データマネジメントが有効に作用するために、特に重要なのは「データガバナンス」です。つまりはデータの品質向上やセキュリティ確保、データインフラの整備等といったデータマネジメントを計画·監視執行する役割を担います。特にデータモデルは、「データガバナンスを効かせ続けることができるシステム」を支えるものでなければなりません。

情報システムの使命

情報システムとは、「適切な時に、適切な人が(場所で)、適切な(品質)の情報をinput(入力)することにより、必要な時に、必要な人(場所)へ、必要な(品質)の情報を output (出力)する」ために存在します。この使命を実現するには……図のように、システム開発においてアーキテクチャを定義し、その定められたアーキテクチャの基盤の上で、「データ」と「業務プロセス·機能」、そしてその交差点をきちんと管理する必要があります。

アーキテクチャの重要性は昨今、ますます高まっています。そして今後も高まることはあったとしても、下がることはないでしょう。では、データ、そしてプロセスはどうでしょうか。この二つの重要性はおそらく永久に不変でしょう。データとプロセスの関係性が良好であれば、ピジネスはうまく回っていきます。盤石なデータ基盤を更新するプロセスは、必然的に品質が高まります。プロセスを支援するアプリケーションも、シンプルで保守性が高まります。つまり、品質の高い「データ」と品質の高い「プロセス」が、両輪のようにお互いを支えながら、双方のデータ基盤を更新するプロセスは、複雑なばかりで品質を担保できません。当然、プロセスを支援するアプリケーションも複雑怪奇なものになります。つまりデータ、プロセスともに、品質を保証できないことになります。システム開発の現場は「プロセス」と「機能」の議論に終始しがちですが、「データ」の本質を早期に捉え、品質を確保すべく、要件定義段階からきちんと検討するのがセオリーです。つまり「データ」の方向性を早期に明確にし、更新する「プロセス」の方向性を早期に明確にすることにより、品質の高いシステムが出来上がるのです。そのためにデータ要件が、要件定義の中でも重要性を増していくことでしょう。

要件定義から整合性を検証する

要求、及び要件同士の整合性を検討する上では、各要求→要求、要求。要件、各要件→要件の各工程の整合性がとれているか、がポイントになります。最終的には、ビジネス要求、業務要求、システム要求とシステム要の整合性がとれていることが条件になります。そして要件定義において、これらが可能となる方向性を明確にすることにより、大きな「手戻り」を防ぐことができるのです。

Colulmn「ソフトウェアの特性とは何か?」

アプリケーションソフトウェアには、建物建築や他の構造物とは異なる特性があります。それは極めて柔軟性が高いことです。ソフトウェアは柔軟性を活かすように計画膣暗視、実行することで、特性を受け入れ、変わり続けるマーケットに対して最良の対応が可能となります。

【広告】Librus Tech Communityのお知らせ

Librus株式会社が運営する、システムエンジニアやプロジェクトマネージャーの方向けに展開するコミュニティにぜひご参加ください。「互いに助け合い、学び合う空間」をコンセプトに、システム開発に関するセミナーや勉強会をはじめ、案件や転職先のご紹介、相談対応も行います。エンジニア初心者の方や起業、現在フリーランスをされている方、フリーランスを目指している方も大歓迎です。

▼Slackコミュニティ入会フォーム
https://forms.gle/1D5duKwVJhm1vFb18

テックカテゴリの最新記事