要件定義力を徹底的に再構築する:5要件定義を簡単にしていく。BLOG2017.12.11要件定義力を徹底的に再構築する:5要件定義を簡単にしていく。「要件」自体を再「定義」し細分化する(2/2)要件定義を簡単にしていく。「要件」自体を再「定義」し細分化する(2/2)要件定義は3つのフェーズに分けてもらった方がいい。予備検討と言ったり、基礎検討と言ったり、要件定義に入るまでに事前にプロジェクトの概要や目的、大まかな予算感を定めることを取り入れている企業は多いと思う。それはそれで大切なのであるが、ここで構想と言っているのは、その予備検討よりかは少し業務要件よりである。要は、業務要件部分を分けて前倒しでやって欲しいのだ。業務フローを調べ、どのような業務フローになるのか、予め定めて欲しいのである。要は、きちんとした効果が出るのだ。この効果というのがミソで、システム化というのは詰まるところ費用対効果があるものをやっていくべきなのであるが、費用の上限を決める行為なのだ。目的は効果の明確化なので、完全な網羅性はいらない。どれくらいインパクトのある改革をするか、そこを決めてもらうことの方が重要である。要は、システム単位の費用対効果を定める一番の行為だ。言い方を変えると、費用対効果は最後に考えるのではなく、先に考えてもらい上限を定めてもらえばいいと思う。コンサルタントが中長期の改革構想を立てたり、将来のITビジョンなどを立てるとことがあるが、その時にやってもらった方がいいのが、この構想だ。コンサルタントはそれなりに上手く長期構想を立案しやろうということになるのだが、実際にそこからやろうとすると、システム一つ一つを考える必要がある。いう際は特に、業務一つ一つに落とし込み、費用対効果を本格的に検討してもらいたい。ここは、言うまでもないであろう。業務を網羅的にきちんと設計し、システム機能を定義し、データを見極める。業務量、サイクルを踏まえてインフラを整理する。構想段階ですでに核となる業務についてはある程度見極めている。大切になるのは、網羅性と具体性だ。スコープをしっかりと定め、抜けもれなく業務をリストアップし、定義しきることだ。開発段階で、あれもこれもというのは良くある話で、それを極力抑えることになる。業務のリストを作ることも重要だ。業務要件定義が上手くいかない企業は兎角業務のリストが出来上がっていない。「どれだけやればいいんですか?」という一番初めに答えたい問いに答えられないのだ。余談であるが、業務要件定義の最も重要な成果物は一般的に業務フローであるが、筆者は業務フローを端折ることを時と場合によっては推奨する。理由は、工数の節約のためである。業務フローを書くという能力は、昔はコンサルタントがコンサルタントたるゆえんの能力であったが、今は随分一般化し、多くの人が記述できるようになった。フローは図で表現するためわかりやすいのであるが、作成工数が膨大となりやすく、要件が変わったときのメンテナビリティが悪い。筆者はしばしば「ファンクションチャート」で代用することを推奨している。業務フローの代わりに、業務を樹形図で整理しきってしまうのだ。これは、業務のリストアップと業務要件定義、システム機能やデータの定義が一覧で可能となるので、抜け・漏れが潰しやすい。作るべき成果物を減らすことが出来る。節約が可能となるのだ。節約できれば、網羅性も考えやすい。参考にしていただきたい。具体性について考えていこう。筆者は、ユーザーにとって理解できる要件とは、どこまで言っても「画面」と「帳票」だと思っている。アプリケーションはどこまでいっても、データをCRUDである。システム化の画面がHTML形式になり一つの画面の中に数多くの機能を加えることができるようになるなど、機能の単位が変わりつつある。した機能の変化に応じて、見積もりの手法が変わることもおきている。機能をコミットするのをやめてユーザーになるべく画面で議論をさせないというベンダーが相当いるのも事実だ。ユーザーはやっぱりシステムを画面と帳票で考える。そこで初めて自分がやりたいことを本当に要望として挙げることができる。要件定義とは、コストを正確に把握するためにやる。いう意味で、要件が抜けたり、間違っていることは極力避けなければならない。ユーザーの要望に沿わなければならない。そのための一番のイメージは、画面と帳票で議論することだ。その通り作れというものではないが、基本設計以降で爆発するプロジェクトは概ね、この画面での確認ができておらず、イメージがわいたときにあれもこれもと出てくる場合だ。多くの場合、このデータを表示して欲しい、というケースと、このパターンはどう処理するのか?という取引や処理パターンで膨らんでいくのだが、そうしたことを整理しようと言っても、このパターンが分かり切っている人は極めて優秀な人で、そもそもそれが分かり切っている人がいないから困っていることが多い。要件定義段階で、こうした埋もれやすい要求を洗い出しておきたい。そのためには、しんどいが要件定義で画面を議論しておきたい。