Design docs への温度感も、design docs といって想定するものも、けっこう個人差があるのがわかった。
自分は Google がもてはやされていた時代に会社の外からさぞかし良いものに違いないと眺めていた時間が長く、 そのときの印象を拭いきれていないのかもしれない。 会社カルチャーの宣伝を真に受けない大人になったのは、もうちょっとあとなのだった。
ただ design docs への高い期待値はテンプレートにも織り込まれている面がある。 テンプレートを無視すればいいとかずよしさんは言う。じっさい自分は無視しているけれど、 他の人が使う限り冗長で読みにくい design docs が回覧されてきてしまう事実は変わらないんじゃないかな。
Writing Culture
むかいさんのいう Chrome の design docs は テンプレート も含め社内のものとは独立して公開されており、これは Chrome 用でサーバサイドからのバイアスとかはない。それに比較的簡素。
一歩さがってみると、チームはそれぞれが必要に応じ自分自身の documentation / writing の (sub)culture をきちんと育てていく必要があって、 そうしないと外側の、自分たちには不似合いな mainstream に飲み込まれてしまう。あるいは文化不在の荒野になってしまう。 自分の不満はそうした不在から来ているのかもしれない。
そして他人が書くものをどうこうしたいと期待するのは不毛だし横柄。 自分はべつに change agent になりたいわけではない。現状は受け入れ、自分が書くものがどうあるべきかに考えを向ける。
説得としての Design Docs
かずよしさんやはまじさんのはなしを読んで振り返るに、この手の high-level writing は 具体的なデザインの詳細より問題の分析や説明に労力を割くべきなのだろう。 よくコードのコメントは How ではなく Why を書けとかいうけれど、 それと似ている。自分が書いたものを振り返ると、その点がいまいちだった。
こうした反省を踏まえて最近 push-back されてしまった自分の design docs を時間をかけて書き直し、計画も見直した。 いざミーティング!事前に回覧する時間がなかったので口頭でさっと説明すると、いいんじゃない、みたいなかんじで素通し。 あれ、がんばって書いた渾身の problem analsys とか読んでよ・・・とおもったが、 計画をだいぶ scale down したため人々の警戒が解けたらしい。
でも、そのほうが良い。Design docs で他人の説得が必要なくらい規模のある作業は、できればやりたくない。 インクリメンタルにちまちま進められる仕事がしたい。 むかいさんは design docs を各所との調整が求められる大規模開発の税金だという。 言われてみればそのとおりで、自分は調整とかが全然得意でなく、 その事実も design docs への怨嗟を高めていた気がする。
Where Is The Design?
Design docs が実際は説得 docs なのだと考えると、色々腑に落ちる。
たとえば自分がこのごろ気になっている Amazon Narrative も、 説得(すなわちミーティングで approval を得るため)のプロセスの話だった。 これじゃあ使いみちは限られているとがっかりしてたけど、design docs も似たようなものだとしたら学べることは多い。
ありのさんのいう design docs のデザイン力過信問題も、説得の方法によってはある程度は緩和できるのではないか。 つまり合意を得る過程で重要なのはまず問題認識(Why)を揃えることで、デザインの細部には踏み込まない方が良い。 雑な first sketch をいくつか示し「これがどのくらい上手く行きそうか試して、よさそうなら進めるしダメそうなら違うの試してまたアップデートしますね」 くらいにしておく。
逆にいうと、この段階で詳しいデザインを議論しなければいけないとしたら、 それは戦略の失敗かもしれない。どうしても詳しい議論をしたいなら、試作で裏付けを取る。
デザインの自由度をある程度担保しつつ説得 docs で問題認識を揃え協力をとりつける。 細かいデザインは、仕事が進むなかでインクリメンタルにアップデートしていく。 決まってない部分はムリに決まったフリをしない。きまった分は必要に応じて事後的に書く。 世の中の多くの design doc がこう書かれているとは思わないし、 これはもはや design doc と呼べるのかもわからない(というか呼べない)けれど、 自分の仕事はそうやって進めるべきな気がしてきた。 Design docs は、もういいです。みんなすきにしてちょうだい。
これだとバーンと大きくなにかを変える仕事はできない。 それは別に design docs や writing culture の問題ではなく、 どちらかというと今の自分の限界なのだろうな。 組織圧に負けず、 プログラマの筋肉をつけて仕事のインクリメントの歩幅を増やし、 視力を高めて調整のいらない道筋を見つけ出し、 バーンとせずとも遠くへ行けるようになりたいものです。 勤務先で楽しく働いているのはそういう人たちな気がする。