📆

【今週の振り返り】要件定義で質問しすぎて反省【 2023/1/1~20】

2023/01/22に公開

本業でやったこと、起きたことを定期的に振り返りたく、この記事を書いています。
今回は、入社〜研修途中の今までを振り返ります。

React Native研修

入社後間もなく、React Nativeの研修が始まりました。

まず環境構築からですが、まあ思うように進まない。。質問しながら2日間かけてなんとか終えました。
続いてJSXやコンポーネントや画面遷移などを順に学び、UI模写と簡易なアプリ開発をしました。
期限内になんとか終えることができてよかった…!

フルリモートでの質問の難しさ

そんな中で実感したことが、フルリモートでの質問の難しさ。
メンターへ質問しようとすると、やったことを遡り言語化しながらチャット入力するので、対面と比べるとかなりスローペース。頑張ってやり取りしてもなかなか解決しません。最後はビデオ通話を提案いただいたので画面を見せると、ようやく解決。
やはり画面を共有しリアルタイムで試行錯誤できると、非常に早い。とはいえ、メンターへ毎回声をかけるのも迷惑です。

タイムラインを使って解決

この解決策として、社内チャットのタイムラインに自分がやっていることを逐一報告するようにしました。
ドキュメントの、ここを進行中。この箇所で詰まった。調べると解決策が載った記事を見つけたので実行中。というように、やっていることをできるだけタイムラインに垂れ流しました。

そうすると、まだ質問していなくても情報を与えていただけるようになり、進みが速くなりました。メンターだけでなく、「似た詰まり方をした」という同期の方からも情報をいただけるように。(みなさん、本当にありがとうございます…!)そして自分がやっていることの整理にもなり、後からの振り返りも容易です。

自身のタイムラインとはいえ汚しすぎないよう、僕は課題ごとにスレッドを作りぶら下げていきました。特に初心者にとっては有効な方法だったかなと思っています。

要件定義研修

引き続き、要件定義の研修が始まりました。
フォーマットに従って与えられた情報を整理し、開発アプリの要件を決めていきます。
また、足りない情報がある場合は、お客様役であるメンターへ質問します。

質問しすぎて反省

ここでの反省は、何でもかんでも質問しすぎたかなと感じる点。
現行作業のフローやシステムで実現したいことなど、お客様の要求情報は既に存在します。僕はまず現行フローの整理から入りましたが、その中での些細な疑問点も全て質問していました。一度に10~20もの質問。これが、やりすぎ感。

僕は今までのノーコード開発時代、1人や少人数でお客様との初回面談から開発までこなしていました。要件定義にあたって、お客様の要求を聞きながら課題を発見し整理することも同時に行っていました。つまり「要求定義」と「要件定義」をしていたわけです。課題を正確に捉えるために、現状を根掘り葉掘り聞いていました。

今回も同じノリで、現状を正確に把握するための質問をたくさん投げてしまいました。しかし今回は、お客様の要求や課題は既に提示されています。ここで僕がやるべきは「要件定義」なのに「要求定義」に関する質問を投げていたわけです。実際、「要求定義」に関する質問では「要件定義」は進みませんでした。
課題解決のためのより良いシステムを作るためには、間違ってないはずです。しかし今回の指示は「要件定義」をすること。目的から明らかに外れています。まずは目的達成のために動くべきです。
またお客様からすると、既に要求定義を終えているにも関わらず、多くの質問が飛んできています。回答しながら不満を抱きかねない。

今後への活かし方

僕は今回の質問をする前に、より良いシステムにするために要求定義に関する質問をしていいか、最初に社内メンバーおよびお客様に相談すべきだったと思います。
まず「目的内 or 目的外」で行動を切り分ける。目的外だがやるべきと判断したことは、やってよいか相談する。許可を得てから実行する。今後このように意識しようと思います。

今回は研修ということもあり、とにかくエイヤで機能要件の書き出しを始めました。すると実装に迷う点がいくつも出てきます。しかしこれは「要件定義」に関する疑問であるため、積極的に質問しました。結果、質問数は少ないにも関わらず、要件定義がスムーズに進み始めました。
今月中に画面遷移図などの作成も必要なので、引き続き頑張ります!

GitHubで編集を提案

Discussion