仕様や実装方針を決めに行く時に気をつけていること

チームでWebアプリケーションの開発していると、未確定の仕様を確定させたい時、実装の方針に悩んでいる時など、プロジェクトオーナー(相当の人)やテックリードや他のチームメンバーの判断を仰ぎたいときがあります。 その時はなるべく早く返事がほしいし、認識の齟齬から誤った答えが帰ってくることはなるべく避けたいですよね。

私は大抵情報をテキストにまとめて相手に送って返事を待っているんですが、スムーズに返事をもらうために「誰に何の情報を伝える必要があるか考えること」「相手と持っている情報を揃えること」「文章自体の可読性を上げること」を気をつけております。 それぞれについて少しまとめてみます。

誰に何の情報を伝える必要があるか考えること

こういう時の文章構成は大抵「現状の整理や問題点の提示」-> 「解決案の列挙」-> 「意見ください」みたいな流れになっている事が多いです。
解決案にはメリデメを書いており、例えば工数は少なく済むけどユーザー体験は最高とは言えないとか、工数はかかるが今度の拡張性を考えるとやっといたほうが良いみたいな、さまざまなトレードオフが書いてあります。

別の話題として、Webアプリケーションの開発では、最終決定権はプロジェクトオーナーにあるとは言っても、通常時の決定権や責任範囲は分散されているように思えます。 例えば弊チームでは、プロデューサーがお金周り、ディレクターがサービス仕様や工数管理や品質管理、リードデザイナーが体験設計、テックリードが実装方針などなど別れています。

ここで問題になってくるのが、トレードオフが各担当職種の責任範囲をまたいでいることが多いので、誰か一人がOKって言えば方向性が決まるといった話ではなくなっています。 また、それぞれの立場によって判断に必要な情報・不要な情報が異なってきます。

この意識を忘れてしまうと、ディレクターにも知っていてほしい情報をエンジニアだけがわかる文章で書いてしまうことがあったり、ディレクターには不要な情報が多くてどこを読めばいいの?みたいな文章になったりします。そのため、この人にはここを読んでほしいとか、この人にはこの情報が必要だよなみたいなことを考えて文章を書いています。

相手と持っている情報を揃えること

解決案の列挙を行う前に

自分がよくやってしまっていたのは「解決案の列挙」は力を入れて書いたんですけど、「現状の整理や問題点の提示」が疎かになっているパターンです。
これは、情報共有不足だったり、問題について相手が正しく理解できてないみたいな状態を想定しています。
この状態だと、何の解決策なのか理解してもらうことができなかったり、最悪ケースだと前提情報が足りなかったために誤った結論が導き出されたりします。

相手が正しく理解できてないは、あんまりこれだといった対策は思いつけてないです。
今ひねり出したものとしては、エンドユーザーにどう影響するかを説明するのが良いのかなと思いました。
DBがシャットダウンしたと説明するより、ユーザーがサイトを閲覧できませんと説明したほうが伝わりやすそう。

解決案のメリデメには可能な範囲で具体的な数字を書いておく

プロジェクトオーナーはエンジニアでないケースもあるので、例えば「他の案に比べて工数がかかる」と書かれた時に、どの程度が想像するのが難しいことがあります。 具体的に規模感がわかるならN日と書いたり、わからないなら見積もってみないとわからないくらい工数がかかりそうみたいに伝えるようにしています。
工数以外には処理速度とか費用とかでしょうか。UXへの影響とか技術的な負債具合とかは具体化が難しいんですけど、前者なら仮実装したりして伝えたりしています。

文章自体の可読性を上げること

ソースコードは可読性が低いと、このコードで実現したいことは何かを理解するのに時間がかかります。 相談の文章も一緒で可読性が低いと、相手が解読するまでに時間がかかってしまい、返事までの時間がかかってしまったり意図を取り違えたりします。

箇条書きで書くとこんなことを気をつけてます。

  • チーム内に既存のフォーマットがあれば利用する
  • 話の本線と補足事項はひとまとめにしない
  • 文章は意味が伝わるなら、読み飛ばすコストがかかるので短い文章のほうが良い。
  • 意味が伝わらないのなら、相手が行間をエスパーする必要があるので省略しないほうが良い

このあたりのことは本が色々出てそうなので、読んでみるのも良いかもしれません。

www.amazon.co.jp

終わりに

毎回こんなことを考えて相談を書いているわけではないんですけど、気をつけていることを書いてみました。
また、つらつら書いたんですけど、結局チームメンバーとの関係性とか慣れとかの部分も大きいので、一概に言うのは難しいよなーとは思いました。