まずは要件定義から!「はじめよう!要件定義」ではじめる、すらすらと手が動くようになる楽々要件定義レッスン Vol.2 セミナーレポート

はじめに

ITの普及に伴って、昨今では要件定義の重要性がますます高まっています。そのニーズに応えるために、6月6日(土)「⁠⁠はじめよう!要件定義』ではじめる、すらすらと手が動くようになる楽々要件定義レッスン」というイベントが、株式会社Eqさんの会議室にて開催されました。

本イベントは書籍「はじめよう!要件定義 ~ビギナーからベテランまで~」の著者である羽生章洋氏を講師とした、同書を読了した人向けの実践的セミナーです。タイトルにVol.2と記されていることでもわかるとおり、今回のイベントは2回めであり、前回は今年4月11日に開催されました。

本稿では書籍『はじめよう!要件定義 ~ビギナーからベテランまで~』のポイントをわかりやすく解説した羽生氏の基調講演から、受講者全員が実際に手を動かしたワークショップの模様までを紹介いたします。

[基調講演]はじめよう!要件定義 ~ビギナーからベテランまで~

要件定義の書籍は非常に多く出版されていますが、どの書籍もページ数が多くて分厚く、そして大判であるものが大半です。それに対して書籍『はじめよう!要件定義 ~ビギナーからベテランまで~』は、非常にコンパクトなのが印象的ですが、そのコンパクトさを実現するために実際のプロジェクトで必要となる要件定義以外の様々なことについて、暗黙の前提を設定しているのだそうです。羽生氏は「身も蓋も無い話ですが」と前置きして、本書の前提条件を列挙しました。

  • プログラミングができる人がプロジェクト内にいること
  • UI設計ができる人がプロジェクト内にいること
  • プロジェクトマネジメントがちゃんとできること
  • DB設計がちゃんとできること
  • ヒヤリングスキル、接客能力があること

これらの条件の不備、とくにヒヤリングスキルの不足を補うようなテクニックまでをも要件定義の要因として含むことで内容が複合化されてしまい、ボリュームが膨大になり焦点がはっきりしない状態になってしまいがちです。⁠はじめよう!要件定義 ~ビギナーからベテランまで~』は上記のような複合要因を外すことで、純粋に要件定義に集中した書籍になっています。その結果このカテゴリの書籍では非常に珍しい試みである「小さい」⁠軽い」⁠絵が多くて文字が少ない」ということが実現できたとのことです。その効果のせいか、出版間もなくにも関わらず早速増刷がかかる程の人気書籍となっています。

「上流工程の書籍がカジュアルな感じで出せる。そんな呼び水となればいい。」と語る羽生氏
「上流工程の書籍がカジュアルな感じで出せる。そんな呼び水となればいい。」と語る羽生氏

『はじめよう!要件定義 ~ビギナーからベテランまで~』のキモ

続いて「ネタばらしは正直いうと野暮だと思いますが」と笑いながら、羽生氏は本書の肝について説明しました。それによると本書のポイントとなるところには「目玉焼きのイラストが描いてある」のだそうです。そういえば本書の表紙のイラストも目玉焼きですが、実は意図があってのことだったのです。

本書の中では「目玉焼きを作る」という要件があった場合に、成果としての目玉焼きを実現するには材料としての卵や道具としてのフライパンなど、そして手順としてのレシピが必要になるという説明がありますが、同じように「完成したソースコードという成果が欲しいなら、要件・仕様という材料とエディタやコンパイラなどのツールという道具、そして開発手順が必要になる」のだそうです。

成果を出すためには、さまざまなものが必要になる
成果を出すためには、さまざまなものが必要になる

材料が揃っても、実力がないと活かせない

さらに「ここからは書籍に書いてないけど重要なことで、今日のセミナーの開催理由にもつながります」と前置きしてから「成果を出すために必要な材料・道具・手順が揃っても、自分自身の⁠実力⁠がないとそれらを活用することはできない」と羽生氏は語りました。⁠実力⁠には2つあり、1つは「やるスキル」でありもう1つは「ボキャブラリ(応用力⁠⁠」なのだそうです。

こういうときにはこうしたほうが良い、などの発想はボキャブラリがないと出にくく、技術力は高いけど融通が利かないという人は、このボキャブラリが足りてないことが多いのだとか。ではどうやったらボキャブラリを養うことができるのかというと、できるだけ色々なものに触れることが重要になるのだそうです。

しかし一方で、自分にとって予想がつくものや、気持ちいい情報ばかりに触れている状態では、実はボキャブラリはあまり増えないので、できるだけ異質なものに触れることが大切になるようです。

「大きい本屋さんに行ったとき、だいたい行くコーナーが同じならボキャプラリーが偏っている(羽生氏⁠⁠」
「大きい本屋さんに行ったとき、だいたい行くコーナーが同じならボキャプラリーが偏っている(羽生氏)」

スキルの成熟にはモデルがある

⁠実力⁠のもう1つの面であるスキルについても話が及びました。スキルが成熟していくにはステップがあるのだそうです。まずは「知らない」状態から知識を頭に入れた「知っている」という状態に進むステップからはじまり、その「知っている」ことを実際に「やっている」という段階に進み、そして意識しなくてもあたりまえにやれている「できる」という状態に移行していくというモデルがあるのだと言います。

一般的に実力があると言われるには「できる」という状態に達している必要があります。しかしそうなるには、何度も何度も反復して「やっている」ということを行わなければなりません。

⁠ですから、手を動かさないとスキルはつかないんです」と羽生氏は語りました。そして「今日ご参加くださった皆さんは本書を読み終えています。これは要件定義について『知っている』という状態になったということです。でも実際に手を動かしてないうちは『やっている』になりません。やらない限りは『できる』にはなれません。ですから今日は、本を読んで知ってお終い、になるのではなくて、やってみるということをできるだけ経験してもらいたいと思っています」と今日のセミナーの開催意図を話しました。

「本を読んだだけでは『知っている』にすぎない」と語る羽生氏
「本を読んだだけでは『知っている』にすぎない」と語る羽生氏

改めて要件定義とは

ここで「要件定義とは⁠今実際にないものを想像し描く⁠作業になります」と羽生氏は語りました。ソフトウェア開発のプロジェクトで最も重要なことは、ビジョンを具体化することです。ここで言うビジョンとは突き詰めると「要件」となるので、要件を明確に描いて、それを実現するために何が必要なのかをバックキャストする必要があります。つまり、自分の目前から物事を考えるのではなく、どういうことを実現したいのかというゴールを先に決め、そのゴールから逆算していくことが重要になるのです。ですから「どんなゴールを達成すればいいのか?」ということを想像することが求められるのです。

「要件定義で必要なのは妄想力、常に妄想して、鍛えてほしい(羽生氏⁠⁠」
「要件定義で必要なのは妄想力、常に妄想して、鍛えてほしい(羽生氏)」
注)バックキャスト
将来の制約から逆に現在なすべきことを考えること

すべてのものは2度作られる

1度目は頭の中で「想像」する作業が発生します。そして2度目は実際に作り上げる「創造」という作業が発生します。

プロジェクトでの「想像」とは要件のことであり、⁠創造」とはその要件が現実に実装されることになります。これがビジョンを実現するということなのです。

ビジョンを実現するということ
ビジョンを実現するということ

[ワークショップ]画面遷移図を作成する

ワークショップは、基調講演でのスキルの成熟モデルに基づいて「知っている」から「やっている」に進むことを目的に行われました。

⁠はじめよう!要件定義 ~ビギナーからベテランまで~』では、要件定義の中核は「画面遷移図」であるとされています。この画面遷移図は一般的なものと少し違っていて、画面と画面の間に必ず機能とイベントを(矢印ではなく)書くことになっているのですが、⁠実は意外とありそうで無い記述法。ひょっとすると書籍で明記したのは世界で唯一かも」と笑いながら羽生氏は語りました。

ですからワークショップでは当然ながらこの画面遷移図を描くということになるのですが、今回は実際に作られたアプリを観て、画面遷移図を作成するという内容で行いました。羽生氏曰く「要件定義を作ってもらうためのお題を用意しようとすると、しっかりと作り込んだお題を作らなければならない。作り込んだお題を作ってしまうとアウトプットされる要件定義は、皆同じようなものになりやすく、それでは個人個人が力がついた感じにならない」とのこと。⁠要件定義が具体的に実装されたのが動いているアプリなんだから、それをリバースすることで元の要件を妄想する」ことが狙いなのだそうです。

実際に「やっている」という体験を多く持つことが、より実力につながるため、できるだけ回数を重ねるべく全部で3セッション行われました。

【セッション1】
4人で、⁠ねこあつめ」というアプリをお題に、画面遷移図を作成
【セッション2】
2人で、要件定義を探りたいアプリを決めて、画面遷移図を作成
【セッション3】
1人で、要件定義を探りたいアプリを決めて、画面遷移図を作成

「知っている」「やっている」に変えてみる

セッション1では4人1グループとなり、最近流行りの「ねこあつめ」というアプリの画面設計を作成する所から始まりました。

⁠フォーマットも各チームで自由に決めてくれていいですよ」と羽生氏が言ったことで、それぞれのチームごとに『はじめよう! 要件定義~ビギナーからベテランまで』に掲載されている画面設計を作成するためのフォーマットを参考にしながら、⁠表示」「機能」を分けて書き出したり、アプリにない画面でアクションを加えることで「どのような動きをするか」⁠どのページに遷移するか」など、4名でアイディア出し、検討し合いながら画面設計の作成を進めていきました。

そして約30分ほどでセッション1が終了した後には、各グループ(全部で4グループ)の画面遷移図を順番に見て回る見学ツアーが行われ、その後にグループのメンバーと感想を共有する時間が持たれました。

⁠付箋で色分けをすると見やすい」⁠先に画面をすべてを出した後で、各ページの要素を書き出す方が良い」など、自分のグループで出なかったアイディアを積極的に取り込んでいるようでした。

ワークショップの様子
ワークショップの様子 ワークショップの様子

自分なりのやり方が見えてきた

講師の羽生氏からの

  • 「自分の妄想がメンバーに共有されればOKです」

との言葉が後押しになったのか、セッション1、セッション2、セッション3と回数を数えるたびに、アウトプットされる画面遷移図は、それぞれに非常に個性的なものになりました。そして、良い手法はお互いに積極的に取り込もうとする姿勢になっていました。

ワークショップの狙いどおり、回を重ねることで1人でも画面遷移図を作れるという感覚は持てたのではないかと思います。

回を重ねるごとに「理解」して「できる」ようになっていった
回を重ねるごとに「理解」して「できる」ようになっていった 回を重ねるごとに「理解」して「できる」ようになっていった

最後に

前半で座学、後半でワークショップという、文字どおり「知っている」「やっている」に変えてみるセミナーでしたが、本セミナーで行った事を今後も続けてもらい「やっている」から「できる」にステップアップしてもらいたいと羽生氏は最後に語りました。

⁠要件定義をするチャンスというのは確かになかなか無いのだけど、チャンスがないというのではなく、数少ないチャンスに出会ったときにそれを活かせるように普段から少し工夫してみてほしい⁠

⁠たとえば、つねに見ているスマートフォンのアプリの画面から画面遷移図を作ってみるとか、実際に書かなくてもいいので、1日のちょっとした時間でもそういった妄想をする時間を作っていってほしい」と締めくくり、⁠はじめよう!要件定義」ではじめる、すらすらと手が動くようになる楽々要件定義レッスン Vol.2」は盛況のうちに終了しました。今後の予定は未定ながらもぜひまた開催したいとのことですので、次回に機会が合えばぜひご参加されるのをお勧めいたします。

『はじめよう! 要件定義 ~ビギナーからベテランまで』電子書籍がついに発売!

Gihyo Digital Publishing(EPUB版)およびAmazon Kindleストア(Kindle版⁠⁠、楽天Koboで展開中!

おすすめ記事

記事・ニュース一覧