要件定義を学ぶために読んだ記事と書籍まとめ

## はじめに
先日、要件定義を学びました。学んだことを業務で実践することで、以前よりも良い要件定義ができるようになったと感じています。

要件定義の抜け漏れが減り、クオリティが上がりました。周囲からも良い評価をいただけるようになりました。

この記事では、要件定義を学ぶとき、参考になった記事や書籍を紹介します。

要件定義を学ぶ際のお役に立てれば幸いです。

## 要件定義のポイント（学びの要点）
**◆要件定義とは**
- 開発範囲を決めること
    - 納品時に「これでOK」という事前約束
    - 開発可否を決めること
- 不確実性を減らすこと
    - システム開発の中で、不確実性を減らせるのが要件定義
    - それでも一部の不確実性は必ず残る

**◆要件定義のコツ**
- UXから逆算する
- 完璧な要件定義は幻想
- Why・What・Howでまとめる
- ハイペースを心がける（要件定義が1日遅れると、後工程の遅れはそれ以上になる）
- 全ての要求がテスト可能かを考える

## 参考になった書籍

**[「要件定義って食べれるの？」](https://amzn.asia/d/h51XGyG)**
![41BIcauQF0L._SY466_.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/616496/05523014-5aff-73a7-62b9-102ebf487381.jpeg)

圧倒的におすすめです。安くて、すぐに読めるのですが、本質が書かれています。
平易でわかりやすい書籍でした。
要件定義がなぜ難しいのかを、わかりやすい図とイラストで説明しています。

**[「10の症状に学ぶ要件定義 トラブルの予防と対策136」](https://amzn.asia/d/ichhrbk)**
![81I+QGWx7+L._SY466_.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/616496/6c497b2d-6c66-99fa-97ea-893f592270b3.jpeg)

要件定義にベストプラクティスがない、ということが参考になりました。
「ハイペースを心がける」というも本書からの学びです。


**[「要件定義のヒアリングリスト427」](https://amzn.asia/d/cax92ST)**
![81h1mwR0bmL._SY466_.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/616496/a88bfd1d-3bfa-32d9-244f-401b63c4d587.jpeg)

全ての要求がテスト可能であることを確認する、ということが学びになりました。
また、要求が漏れたときに次にどのように考えるか、というプロセスも参考になりました。

**[「エンジニアリング組織論への招待　～不確実性に向き合う思考と組織のリファクタリング」](https://amzn.asia/d/0GeES55)**
![81DfIhCYEVL._SY466_.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/616496/ae7fc0c4-5393-95be-4ec8-88f617a8a90f.jpeg)

「エンジニアリングの本質が、不確実性の削減であることに気づかないと、フラストレーションを溜めてしまう」というのが本書からの学びです。不安が軽減されました。



## 参考になった記事

**(1)「牛乳卵問題に学ぶ、`要望` と `要件定義` と `設計` と `実装` の違い」**

「要望」と「要件」の違いがよくわかりました。
また「要件定義1」と「要件定義2」に分けるのが、自分にはなかった視点で、参考になりました。

https://qiita.com/taruhachi/items/b8d71dd1a53768265bdc

**(2)「要望、要求、要件の違いとか、基本設計、詳細設計の違いで迷わないようにするためのまとめ」**

用語を整理できました。序盤に整理できたので、後の勉強の効率が上がりました。

https://qiita.com/imasaaki/items/69a1e58903b477e33c8e

**(3)「要件定義～システム設計ができる人材になれる記事」**

「Why・What・Howで整理すると、綺麗にまとまる」という点が参考になりました。
この記事でも、「要望」「要求」「要件」の違いが触れられています。

https://qiita.com/Saku731/items/741fcf0f40dd989ee4f8

**(4)「完璧な要件定義など幻想である。個ではなく、チームで作る要件定義」**

「完璧な要件定義は幻想」ということがよくわかりました。

完璧ではないことを受け入れる、アジャイルでは完璧な要件定義は求められていない、など丁寧に解説されており、参考になりました。

「UXから逆算」もわかりやすい例で説明されていました。参考文献も豊富でした。

https://qiita.com/Haruyuki_Hirose/items/2ce5a2877bc5c66aa2b3

**(5)「要求分析と要件定義の目的について個人的に納得した考え」**

開発可否を決める、という表現が参考になりました。

https://qiita.com/nagataichiko/items/9ef0d6cebb9960d7efd7

**(6)「はじめての要件定義で読むべきIPAドキュメント」**

紹介されているドキュメントが参考になりました。

https://qiita.com/cask_st/items/5fd70bda63f9acf22a30

**(7)IPA「家づくりで理解する要求明確化の勘どころ～システム構築を成功させる要件定義のポイント～」**
「はじめての要件定義で読むべきIPAドキュメント」で紹介されていたドキュメントです。

家づくりとITシステム開発がよく似ていること、家づくりで考えると、要件定義の理解が深まることを学びました。

そして、UXから逆算する重要性を学びました。

https://www.ipa.go.jp/archive/files/000065172.pdf

**(8)IPA「ユーザのための要件定義ガイド 第2版 要件定義を成功に導く128の勘どころ」**

長い資料です。要件定義の歴史がわかります。

https://www.ipa.go.jp/publish/qv6pgp0000000wrt-att/000079352.pdf

(9)抜け漏れをなくすための工夫

データライフサイクルを書き出すのが参考になりました。


https://twitter.com/coffee_nomimasu/status/1767471055495647665/photo/1


## おわりに
要件定義を学んだことで、自信につながりました。

以前までは、「これでいいのだろうか？」と不安に感じることが多かったです。

勉強後は、「完璧な要件定義はない」という前提のもと、ベストを尽くせるようになったと思います。要件定義書のクオリティも格段に向上しました。

要件定義を勉強される方に、本記事がお役に立てれば幸いです。

----
更新履歴
2024年2月4日
書籍を追加しました。