お仕事で Design Doc を書く前に色々整理するのだが、その作業をシンプルなフォーマットで効率化してみた。 やることは本当に簡単で、箇条書きに色をつけるだけ。
- 赤:誰かに質問や相談をしないといけないところ
- 緑:他の人のボールで待ち状態になっているところ
- 青:自分で調べるところ
- 黒:その他
設計を考える時、最初から全てのコードが頭の中に入っているわけではないので基本的には調査から入る。 その際、やるべきこと、分かったこと、分からないこと、気になったこと、不安なこと、全てを片っ端からメモっていく。 そうすると巨大な箇条書きのリストが出来上がるので、そこに上記の要領で色をつけていく。
まず「誰かに質問や相談をしないといけないところ」を赤文字にする。
- こういう場合はどういう挙動になるのが正解?
- ここはもっと良いデザインがあるんじゃないか
- 既存仕様がどうなってるのか分からん
ここは一人で考えても時間が勿体ないので速攻で関係者に質問・相談しにいく。回答が得られたらメモって黒文字にする。 「うーん、それはすぐに分からないので調べます」とか「ちょっと明日まで考えさせてください」などと言われたら、緑の文字(他の人のボールで待ち状態になっているところ)にして回答を待つ。
次に「自分で調べるところ」は青文字にしておく。
- この機能はどこに実装されてる?
- 影響範囲はどこまでなのか
緑文字の回答を待っている間にやると効率的。結論が出たら黒文字にする。不明点が出たら赤文字にする。
これを繰り返していくとそのうち全て黒文字になるので、後は他の人にも読めるように書いて仕上げるだけ。書いている間にも疑問点は出てくるのが、そうしたらまたメモを追加して同じようにする。
これまでも箇条書きで整理はしていたのだが、色をつけたら途端に取るべきアクションが明確になった感じがする。 まだ2回しか試していないが、今のところ良い感じ。