派遣で働くエンジニアのスキルアップを応援するサイト

PRODUCED BY RECRUIT

【イベントレポート】要件定義にはビジョンがマスト!わかりやすい例で学ぶ「要件定義の基礎と肝」

株式会社リクルートスタッフィングが運営するITSTAFFINGでは、弊社に派遣登録いただいている皆さまのスキル向上を支援するイベントを、定期的に開催しています。

12月1日に開催したセミナー「AI時代も大丈夫!あらゆる仕事に活かせる要件定義の基礎と肝、教えます。」では、『はじめよう!要件定義 ~ビギナーからベテランまで』の著者である羽生章洋さんをお迎え。わかりやすいスライド構成に時折笑いを交え、あっという間の1時間半となりました。

■今回のイベントのポイント

・要件は「UI」「機能」「データ」の3要素からなる
・仕事とは、「活動」により「成果」を出すものである
・ビジョンファーストで未来図を作ることが大事

セミナーがスタートするや否や「今回の話は必ず何かしらの役に立ちます」という羽生さん。内容は、要件定義の基礎だけにとどまらず、最後には自分のビジョンの見つけ方にも及びました。最後に紹介した短いワークは、日を改めてひとりでも取り組めるもの。ぜひトライしてみましょう。

羽生章洋さん
▲【講 師】羽生章洋さん
2社のソフト会社にて、パンチャー、オペレータ、プログラマ、SE、DBA、PMを経験したのち、アーサーアンダーセン・ビジネスコンサルティングにてERPコンサルタント。トレイダーズ証券にて創業メンバー・情報システム部のディレクター。日本で初めてのRIA+OSSによるオンライントレーディングシステムの企画・設計・開発・運用に携わる。その後、マネースクウェア・ジャパンにて創業メンバー・IT担当取締役。その後独立し、経営とITのコンサルタントとして活動。現在の中心活動は、エークリッパー・インク代表。琉球大学 非常勤講師、NPO法人原爆先生 理事。

正しい要件とは、合意ができていて「これなら作れる」と思えるもの

羽生さんはまず、要件定義に関する有名なイラストを紹介しました。顧客が説明した要件に対して「本当に必要だったもの」が実は違った、というケースをおもしろおかしく描いたもの。同時に、「プロダクトリーダーの理解」「アナリストのデザイン」「プログラマのコード」「営業の表現、約束」といったあらゆる側面で、すべてのイメージ図が異なっているという状況を揶揄しています。

f:id:itstaffing:20180118115139j:plain

システム開発のプロジェクトにかかわったことのある人なら苦笑いすることでしょう。それくらい、伝言ゲームによってイメージと実装がずれてしまうことはままあります。

「昨今、要件定義がプロジェクト遅延の大きな要因を占めています。20年前はそうじゃなかった。『できること』が少なかったため、要件定義よりも技術的な問題で遅延することが多かったのです。ところが今は、『できること』が広がっています。『AIを使って働き方改革を』と謳っても、具体的なシステムを思い描くのが難しいのです」

また、要件定義は、「こんなことを実現したい」というビジネスサイドと、「技術的にはこのように実現する」というエンジニアサイドの間にあるもの。実現したいことを技術的な内容に置き換えなくてはならないので、両方を知っておく必要があるのです。

f:id:itstaffing:20180118115142j:plain

「プロジェクトが始まったら最初にやるのが要件定義ですが、その前に営業や調達の活動があります。その際に『こういう未来を約束します』と契約してしまっているのです。その後に要件定義をするのっておかしいと思いませんか?」

と羽生さんは問います。そのため、そもそもの要求に対して、実現できない場合もあります。それをすり合わせるのが、負荷の高い問題になるのです。

ここで、「正しい要件」の定義がスライドで示されました。

f:id:itstaffing:20180118115147j:plain

正しい要件とは、「1.合意できている!」「2.これなら作れる!」の2点が揃っていること。それぞれ「UI」「機能」「データ」の3つの要素が必要になります。

「こんな風に業務をできるようにしたい」に対して「そのためには、こういうソフトウェアが必要」という内容が、「UI」「機能」「データ」のそれぞれで揃っていなくてはならないのです。

ビジネス要件が決まってからソフトウェア要件が決まる

「こうしたい」というビジネス/業務要件と、「これならできる」というソフトウェア要件を、ラーメン店に例えて説明しましょう。

ラーメン店の業務では、ホール係が注文を聞き、受注。その後キッチン係が調理して、ホール係が配膳した後、お客さんが食事をします。この流れを円滑にし、さらに、受注するときにオーダーの取り違えをなくしたいというニーズがあるとします。

f:id:itstaffing:20180118115153j:plain

「そのためにはソフトウェアで実現したいことを決める必要があります。例えば、注文端末があれば、使い勝手や操作性がいいかもしれません。また、お客様が自ら端末で注文する『セルフオーダー』という方法も考えられます」

まず、実現したいことが決まらないと、ソフトウェア側の必然性が揃わないというわけです。

要件定義とは、「仕事」の定義と言い換えることができます。「(顧客を含めた)人がどんな仕事をするのか」「コンピュータにどんな仕事をさせるのか」を決めればよいのです。ところが、ここで言う「仕事」とは何でしょうか?

仕事とは、「何かをする(活動)」と「何かをした結果(成果)」のセットである、と羽生さんは説明します。何らかの活動をしても、成果が出なければ仕事ではないのです。

さらに、成果を次の仕事のインプットにして、連鎖しなくてはなりません。受け渡しをしないと、仕事を終えたことにはならないのです。また、活動するための能力を培うための仕事や、成果を直接受け渡すのではなくどこかに保管してピックアップするという連携も想定できるでしょう。これらは、羽生さんが開発した業務プロセスの簡単高速モデリングツール「マジカ」を使うことで、比較的簡単に整理することができます。

f:id:itstaffing:20180118115159j:plain

ビジョンファーストで、まず未来図を作る

要件定義にはややこしさがつきまといます。それは「業務をアプリに合わせる」という主張と「業務が決まらないとアプリの要件を定義できない」という主張が相容れないこと。

「これを断ち切るためには、『ビジョンファースト』、つまり『実現したい未来を決める』が有効です。例えば『目玉焼きを作る』という仕事なら、目玉焼きがありありとビジョンとして浮かんでいなくてはなりません。よく『すべてのものは二度作られる』と言われます。まずは頭の中、次は現実です。まず、頭の中で鮮明な絵面が浮かぶことが大前提なのです」

目玉焼きは、いわばプロジェクトのゴールです。その後「半熟である」「醤油をかける」などの完了条件=要件が決まり、手順や工程といったToDoに落とし込まれるのです。

「ところが、お客様の提示したビジョンが、本当に求めていることとずれているケースがあります。例えば、『生産管理がやりたい』と相談を受け、よく聞いてみたら本来やりたいのは在庫管理だった、ということもあります。本物のビジョンを見つける力が、驚くほど鍛えられていないのです」

f:id:itstaffing:20180118115203j:plain

ビジョンを見つけるワークをやってみよう

最後に、簡単なワークをしました。自分のビジョンを見つけるためのワークで、「ミライクエスト」という名前です。


ステップ1
今の自分の願望を書き出してください

ほしいものや行きたい場所、やりたいこと、なりたいもの、会いたい人など、どんなことでも、いくらでも書きだします。

ステップ2
それぞれの願望が叶ったら、どんな「嬉しい・素敵なこと」が起こるのかを書き出してください

さらに、その「嬉しい・素敵なこと」が叶ったら、どんな「嬉しい・素敵なこと」が起こるのかをどんどん書き出していきます。同じ内容は毎回書くか、正の字でカウントしておきます。

ステップ3
書き出した「嬉しい・素敵なこと」の中で、「何度も出てきたもの」「特に心が強く惹かれるもの」をピックアップしてください

ステップ4
ピックアップした「嬉しい・素敵なこと」を実現している自分をイメージして肩書・名称を自由につけてください

自分がさまざまなことを実現しているという前提で、「起業家」「花屋さん」「大富豪」など、肩書と名称を考えてみてください。

ステップ5
肩書・名称にオーバーな形容を自由につけてください

「デラックス起業家」「ロイヤル花屋さん」「エクセンレント現役プログラマ」などオーバーな形容を付けます。

ステップ6
次の文章を書いてください「<自分の名前>は(ステップ5で書いた)『オーバーな肩書・名称』である」

「スーパーな肩書なんだから当たり前のこと!」という意識でどんどん書きましょう。

ステップ7
『野望を達成した』と言うための条件を書いてください

何をもって野望を達成したことになるのか、条件を箇条書きなどで書いていきましょう。



f:id:itstaffing:20180118115207j:plain

これらのワークにより、ビジョンを鍛える練習になります。要件定義をする際、なかなか本来のビジョンへ立ち返るのは難しい場合もあります。だからこそ、「ビジョンがなければ行き先がわからない」という自覚を持ってプロジェクトを進めたいものです。

羽生さんは、最後を次の言葉で締めくくりました。

要件定義とは、「まだ見ぬ新しい未来を設計する」こと。