こんにちは、エムティーアイ人事部 育成チームの高村です。
エンジニア育成と研修を中心に仕事しています。
みなさんとは少し変わってシステムを構築する際の入口にあたる、要件定義についてまとめてみます。
少し長くなりますが、ご容赦下さい。
要件定義と聞いて、何を想像するでしょうか。
業務一覧?機能一覧?非機能?といった言葉が出てくるでしょうか。
要件定義のために何をしなくてはいけないのかをBABOKをベースに見て行きます。
1.システム開発の現状
少し古いデータですが、システム開発の成功率は約3割と言われています。
成功とはQCDがOKなケースを指します。
原因は沢山ありますが、多くの原因は企画作業も含めた要件定義工程の不備にあります。
◆品質不備の原因
・要件定義が十分でなかった。
・テストが不十分、移行作業に問題。
◆コスト超過の原因
・追加の開発作業が発生
・追加の設計作業が発生
◆納期遅れの原因
・要件定義が長くなった
などなど
様々な要因はありますが、やはり要件がしっかりとまとまっていない事が大きなポイントを占めていると思われます。
2.要件定義における課題
システムを開発したい依頼者、開発者のそれぞれに、要件定義における悩みがあります。
◆依頼者側の悩み、要望
・何をしたらよいのかわからない。
・伝えたはずなのに、伝わっていない事が後からわかる。
・提案してほしい。
・業務を理解してほしい。
◆開発者側の悩み、要望
・要求を明確にしてほしい。
・背景がわからない。
・要求が曖昧なままだと、とりあえず作らなければならない。
形の上では要件定義出来ているが問題は中身にあり、開発者側のスコープだけで判断してはいけない。
3.何か足りないのか?
一言で言うとビジネスとシステムの橋渡しです。
システムの機能を考える前に、そもそも何が問題なのか?なぜそれは問題なのか?をしっかり聴く事が大切です。
そこで、BABOKの登場です。
4.BABOKとは?
Business Analysis Body Of Knowledge ⇒ ビジネスアナリシスの知識体系をまとめたもの。
世の中にあるBOK集の一つです。PMBOKの要件定義版と考えると分かり易いかもしれません。
ビジネスアナリシスで実施すべき事を定義している知識体系です。
BABOKを知ることにより、ビジネスから要件定義へのつなぎをスムーズに進めていくきっかけになると思います。
この中から私が特に大事だなと思うのは、「引き出し」です。
(全部大事なことは大事なのですけどね。)
5.「引き出し」(elicitation)
要件定義におけるヒアリングは重要なポイントです。
相手から要求をうまく引き出すことにより、見えてなかった問題の有無や、
本当に解決したいことの乖離などを確認していきます。
主に以下の項目を確認していきます。
(1) ステークホルダーは明確になっているか
(2) 情報化テーマ(システム化するもの)は確認できているか
(3) 業務目標(KPI)は明確か
(4) 新しい業務は、業務の流れを十分検討出来ているか
(5) 業務目標は※CSFの方向性と一致しているか
(6) 業務機能は、業務課題を実現するために、必要十分か
(7) 非機能要件は、業務の特性を踏まえて設定されていいるか
※CSF(Critical Succsess Factors)⇒経営戦略、目標から落し込まれたポイント。
要件に関するポイントを引き出しながら、確認を行い、CSFからのブレークダウンと現状システムのボトムアップの両面から要件定義にアプローチする。その際に上記のポイントを依頼者側に聞き、本当にやるべきことを引き出す事が重要なポイントとなるでしょう。
6.まとめ
BABOK自体は、まだまだ見どころ沢山ですし、奥が深いです。
Agile向けのExtentionも出ているので、また見て行きたいと思います。
参考:
ビジネスアナリシス知識体系ガイド (BABOKガイド)
IIBA日本支部 BABOK翻訳プロジェクト
http://amzn.asia/eHcP6JE