学習記録:12月1日(土):はじめよう!要件定義 Chapter-01&02
これは 俺のインプットアウトプット記録 Advent Calendar 2018 の1日目のエントリーです。
勢いで作ったからには勢いで走りきるしかない!
ということで、今日の学習記録としてのインプットアウトプットです。
はじめよう!要件定義
僕が所属している 合同会社ねこもり のボスでもある @NEKOGET さんからの紹介の書籍です。
これから仕事を進めていくにあたり、僕自身が、要件定義を効率的かつ体系的に実行していく必要がありました。 そこで相談したところ、課題図書に設定された感じです。
まだChapter01と02しか読んでいませんが、ごくごく当たり前のことだけど、できてない人が本当に多い。そんな内容を立て板に水を流すように丁寧かつだんだん噛み砕いて解説されていく。
本来の要件定義とはなんなのか。クライアントの要望を形にするってことはどういうことなのか。
何かをやりたいと思う気持ち、こんな風だったらいいなという情熱、それらを形にするために技術者が最初にやるべきこと、それが要件定義なのだと思います。
ほぼ手のひらサイズで、かつコンパクト。しかし、僕のように雰囲気で要件定義してきた人間にとって、こう体に筋が一本通るような。 そんな内容になっていると思います。
読み進め
僕は書籍を読むとき、いつも esa (個人で契約して使っています。情報共有ツール。月額¥500)にMarkDownで記録しています。
登壇した際に少し触れたこともあるのですが、読むという行為でインプットした内容を、書くという行為でアウトプットする。
そこで不明な点が出てきたら、調べて補足する。思うところがあったら感想を書く。より理解するために原文と意訳を書き込む。
それを繰り返すことで、自分の中に刻み込んでいます。もっとうまいやり方があるとは思うので、僕が主催側にいる 読書の技術を勉強する会 #1 で改めて学ぼうかと思ってはいるのですが、今のところは7ヶ月以上続けてきて、一番手に馴染んだこの方法で学習を進めています。
最後にその日のまとめとして、Tweetして、僕の1日のアウトプットは完了する感じです。
というわけで読み進めたメモを公開してみます。
第1部 要件定義ってなんだろう?
Chapter-01 要件定義=要件を定義すること
まとめた内容を公開してみます。半分以上が書籍の写経になるので、公開に問題があればURLを閉じるとは思うのですが、これを読んで「お、自分も読んでみよう」って思ってくれたらいいな、と考えてます。
読んだ結果
内容はesaの内容や、実際に書籍を購入してみて欲しいなって思うのですが、Tweetを引用するとこんな感じです。 だいたい複数Tweetを連結させているので、ざっと並べてみます。
今日は「はじめよう!要件定義」を読み進め。システム的に言えば「発注側と受注側の間で合意した納品検収条件」となるのだろうが、無理に短く表現したところで、できるべき人の全員ができるわけではない。じゃあ詳しく言うと…(続く
— まみー (@mamy1326) 2018年11月29日
依頼した人が
— まみー (@mamy1326) 2018年11月29日
出来上がったものに対して
「これならOKです」
と言うために
「何がどうなればいいのか」
ということを明確に定めたもの
なるほど、となる。
世の中の仕事には必ず要件があって、それを事前に定めるからこそ成立する。以心伝心はあり得ない。ましてや依頼者は専門知識がない。専門家は実現可能性を検討する必要がある。そこで要件定義なんですよ、という内容が立て板に水を流すように順番にわかりやすく解説されている
— まみー (@mamy1326) 2018年11月29日
自分もちゃんとできてるわけじゃないし、できてない人はすごく多いだろうし、そもそもお客と話したがらない人も多い。それが良い悪いじゃなく、ポジションに関わらず「要件を定義して合意して仕事をする」のが基本なんだよ、という意識で読み進めたい
— まみー (@mamy1326) 2018年11月29日
転職してから、要件定義の場に出ることが多くなったし、これができてないと今後のエンジニアとしての仕事の広がりも期待できないと常々思っているところ、吾輩のボスに「課題図書であーる」と託宣いただいた書籍。明日はChapter2、要件定義の基本的な流れ、を読み進めるぞ!
— まみー (@mamy1326) 2018年11月29日
いただいた反響
吉祥寺.pm の主催者でもある @magnoliak さんからリプいただいたりしました。
このかたは設計について非常に見識が深く、また実践的な発表もされておられて、設計について何時間でも語れるすごい人です。 設計についてそれだけの思いがあるんだから、当然要件定義についても一家言ある。本当にありがたいなって思います。
Twitterのすごいところはこういうところだぞ!と僕は言いたい!
人と人とは「簡単には」わかり合えないっていう前提で、っていつも言います
— magnoliak (@magnolia_k_) 2018年11月29日
お互いに驚くくらい思い込みによる暗黙の前提で喋っている
あと、関心があることしか喋ってない
僕も考えるところ、過去の経験から思うところがあったので、リプをお返ししたりしてました。
暗黙の前提、つまり「わかるよね?」で話しますよね。で、関心がない=実は実装しなくちゃいけない、考慮しなくちゃいけない、ってことが抜けるけど、システムのプロじゃないから抜け落ちるのが当たり前であり、そこを埋めて提案するのが我々の仕事なんだよな、ってリプをみながらしみじみ思ってます!
— まみー (@mamy1326) 2018年11月30日
Chapter-02 要件定義の基本的な流れ
章単位で分けて記録することが多い(じゃないと長大になる)ので、Chapter-02は別のエントリです。
読んだ結果
ただ書き出すんじゃなく、個人のつぶやきとして公開することで、インプットとアウトプットの回転が1回回る感じがしています。なので、毎日何かしらTweetするんですけど、毎回長いよなあと思ったり思わなかったりしつつ「Twitterだしいいか!」とか思いつつ好き勝手やってたりします。
今日は昨日に引き続き「はじめよう!要件定義」の第一部 Chapter-02を読み進め。要望が出てくる流れから始まり、要望とは人の思いであり、その思いを外に出すのが要求。これが出て初めて、我々はクライアントの要望を知ることになる。
— まみー (@mamy1326) 2018年11月30日
要望が要求として伝わったら、実現可能性含め検討が始まる。ここで大事なのは、できないことの代替案を出すだけじゃダメで、できることでも「専門家視点でのより良い代替案」を検討すること。大抵の依頼者はただ注文を受けてくれるのではなく、専門的な知見を求めている、と。
— まみー (@mamy1326) 2018年11月30日
続いて大事な点として「代替案を出す=相手を否定する」ことになるので気を配る必要があること。なぜ代替案を出すのか、相手の言葉で、伝わりやすい図解も交え、判断までのプロセスとレポートを提示することが大切と理解した。そしてこれこそが「提案」であると。
— まみー (@mamy1326) 2018年11月30日
この要求から検討、提案、の流れは1回ではない。何度も繰り返すことで、最終的な「要件定義」として「双方合意」することができる。このプロセスを双方が面倒がらずに丁寧にやる。阿吽の呼吸の関係などない。人間同士が「簡単に」わかりあえないのはこの言葉に集約されるなあ https://t.co/9Hd7ZH2o98
— まみー (@mamy1326) 2018年11月30日
「目先の面倒くささから目を背けない」ことこそ要件定義に必要であり、要件定義とは「良い仕事を一緒にしていくための知恵 」である、ということで章が結ばれている。提案から要件定義の業務であれば四半世紀関わってきたけど、多分初めてきちんと解説を受けていると思う。
— まみー (@mamy1326) 2018年11月30日
大抵の依頼主の要望は、何かをよくしたい、こんなのがあったら良いな、という善意からのもの。それが誰かを幸せにするからこそ専門家がいるわけで、そこを丁寧に対応できなければならんのだよな、って思いはずっと変わらない。そんな中で読んだこの書籍は良いものだなーと思います。
— まみー (@mamy1326) 2018年11月30日
思うこと
要件定義ってお客さんとの対話なんだよな、って思います。 これって、お金を得る、つまり仕事をする人には全員必要なことなんですよね。
プログラム書いてれば良いのかって言われるとそうではなくて、それは社内のプロジェクトマネージャーからの要件をヒアリングする必要があるし、それに対して疑問点を聞いたり代替案を出したりするよね、と。
んで、それを拡大していくと、お客さんとの対話になる。
この考えかたって現場で忘れられること、そこそこあるよなって思いながら読んでました。
僕自身、この考えかたが100%できているわけでもなく、なんとなくやってて、なんとなくできてて、実はできてないこともあって。
ずっと仕事を続けていく以上、要望に応えることこそが根底なのだぞ、というのを今以上に思い定めて行かなくちゃなって思ったりしてました。
当たり前のことでも、改めて学ぶ価値もあるし、必要もある。 技術はどこかで必ず繋がっている。
日々のいろんな分野の学習を続けていけば、いずれ繋がる時が来る。
それが昨日より少し信じられるようになったかなー、とか思いました。