今回は、要件定義力を高めるには、何が必要で、どんな書籍で学べばよいのか?について考えたい。
要件定義力を高めるために
req-definer.com上記記事で要件定義書の作り方を説明したように、要件定義書を作るにあたってやることは、業務のあるべき姿と現状のギャップを整理し、システムで解決したい課題を要件として記載することであると説明した。
そのため、問題を整理する能力と、問題を解決できるために、システムに何ができてほしいかを文章で表現する能力(システムに関する知識と、文章を書く能力)が必要である。
それぞれの能力を高めるために、筆者が実際に読んでみて勉強になったと考えている書籍を紹介する。結構骨太な書籍が多いのだが、背景や理由を丁寧に説明してくれているからだ。手元に置いておき、時間をかけて丁寧に読んでいくのがよい。
問題を整理する能力向上のために
問題を発見するためには、実践経験を積むしかいない。あらかじめ、どんな考え方があるのかを事前に頭に入れておくと、学んだ知識を実践することになるので、より勉強がはかどる。1冊お勧めするならば下記書籍だ。
文章を書く能力向上のために
ときどき、わかりにくい要件定義書や設計書を見かける。それらの書には、たいてい以下の特徴がある。
①:ロジックがおかしい
②:文自体がおかしい
①については、バーバラミント氏の、考える技術・書く技術を読んで勉強すると良い。何が言いたいのかを伝えられることができるようになるはずだ。
②については、
主語と述語をしっかり書くようにすればよい。
システムに関する知識を獲得するために
業務システム開発関係でお勧めする書籍
この本では、システム開発を刷新する際に、どのような点に気をつけて開発するのがよいかが、丁寧に書かれている。Microsoftのエンジニアである筆者が、日本のシステムインテグレーションの現状を理解したうえで、システム開発というのはどのように進めるものなのかについて記載していて、説明もわかりやすい。是非、一冊手元に置いておくことをお勧めする。
データベース関係でお勧めする書籍
データベース関係でお勧めするのは、データモデル大全だ。我々は、データを効率的に活用するために、システムを構築する。データモデルが良くないと、データ検索速度が低下し、バグも多発する。家の構造が悪いと地震に弱い家ができるのと同様、データの格納構造が悪いと、脆弱なシステムが出来上がる。一度読んでおくとよい。
通信関係(物理レベル)でお勧めする書籍
通信、かつ、ややハードウェア寄りの内容にはなってしまうが、エリックボガティンの書籍を紹介したい。この本の面白いところは、1本の線をまず考えて、「通信とは何だろう」というところから深堀していくところだ。電流とは何で、電気はどこを流れるのだろう、どういうハード設計をしたら、電気信号は適切に伝達されるのであろう、ということが、細かく議論されていく。通信とは何か?を考えさせられる一冊だ。
通信関係(ソフトレベル)でお勧めする書籍
タネンバウム先生の本。とりあえず持っておけば、困ったときに見てみるとよい本。
コンピュータ関係でお勧めする書籍
とっつきにくい表紙ではあるが、内容はとてもよい。コンピュータって、何だろう?ということを、実際の回路レベルで理解してみたい方は、この本を片手に、はんだ付けにチャレンジしてみることをお勧めする。抵抗やコンデンサの役割をわかりやすく教えてくれる書籍だ。
こちらはパタヘネ。大学の教科書にもなっていたりする。持っておくとよい。
セキュリティ(暗号関係)でお勧めする書籍
結城氏の本。これも、物語を読み進めていくように、暗号技術の概要について理解することができる名著だ。結城氏の本は、どれをとってもはずれがない。
最後に
要件を定義できるようになるには、システムというものに対する深い理解、システムを開発する方法に関する深い理解が必要だ。
なぜならば、要件定義というのは、まだこの世に存在しないシステムについて、実物を見る前に、システムでできることを明確化していく作業だからだ。家の構造を知らない人が家の要件定義をすることは難しいのと同様、システムの構造を知らない人がちゃんとしたシステムを作ることは、かなり難しい。
もちろん、システムについて深く理解していなくても、要件定義をすることは可能だ。
しかしながら、システムについて深く理解したほうが、これからできあがあるものを意識しつつ、あらかじめ制約を踏まえて、要件定義をすることができるため、積極的な勉強を推奨する。
以上