白猫のメモ帳

C#とかJavaとかJavaScriptとかHTMLとか機械学習とか。

ドキュメントは書けるベースじゃなくて欲しいベースで

こんばんは。
大掃除は仕事納めの後にと思っているのですが、とてもアレルギーな私です。
これはまずいかもしれない。リスクヘッジは大事です。

さて、皆さんドキュメント書いてますか。
チームのナレッジが溜まっていかないんだと困っていませんか。私は困っています。

結局自分ひとりじゃ書ける量って限られてるし、できればメンバーの成長のために書いて欲しいし。
自分で書ける範囲でいいのでなるべく書いてねっていうんだけど、なかなか貯まらない。
うーん…。ちょっと発想を切り替えてみましょう。

欲しいドキュメントを探そう

書けるドキュメントじゃなくて逆に欲しいドキュメントをみんなで探してみましょう。
最初は特に思い浮かばないなと思っても、直近の仕事を振り返ってみたりすると、
「この概念実はまだよくわかってないんだよね」とか、
「ここのデータの流れってどうなってるかいつも混乱しちゃう」とか、案外欲しい物が出てきます。

で、出てこなくなったら今度は足りていないと思うドキュメントをみんなで書いてみましょう。
直近困ってはいないけど、これまとめておいたほうがいいよねっていうものが出てきます。
そして足りていないものはなんだってなると、今度ドキュメントがちゃんと分類されていないことに気づきます。

ドキュメントを分類・整理しよう

じゃあドキュメントをちゃんと分類して、どんなページ構成、ディレクトリ構成(使ってるツールによる)が正しいのかなって考えてみましょう。
整理できると更に足りないドキュメントが見えてきます。
ついでにいらないドキュメントもたくさん見えてきます。
思い切って全部アーカイブにしましょう。
もしかしたら見るかもと思って消すのをためらうくらいなら、とりあえずアーカイブにしておけば良いです。
明らかにいらないってなったら然るべきタイミングで削除すればOKです。

優先度と担当を決めよう

足りないドキュメントがわかったら、今度は優先度をつけましょう。
「すごく欲しい」「割と欲しい」「それなりに欲しい」などのどれくらい欲しいかを表すレベルと
「今すぐ欲しい」「なるはやで欲しい」「~までに欲しい」などのいつ欲しいかを表すレベルの2軸とかで考えるといい気がします。

優先度がついたら担当者を割り振りましょう。
特定の人しか書けないとか、○○さんに書いて欲しいとかいうのがあれば優先的に担当者を割り振ります。
量が多ければ最初から全部割り振らずに、ひとまず優先度が高いものにするなどの作戦もOKです。

担当者を割り振ったら担当者ごとに取り掛かる順番と期限を決めましょう。
期限は仮で構いません。全部の期限を守れるわけではないかもしれませんが、期限がないよりずっと良いです。
仮でも期限があると書かなくちゃという気持ちになります。
先に空のページとか作っておくのもありです。

更新のルールを決めよう

最後に更新のルールを決めましょう。
一回書いたら満足して放置となるとドキュメントの信頼度はどんどん下がっていきます。
どうやって更新するかのルールを決めましょう。

無難なのはドキュメントごとに棚卸し期間を設けることです。
このドキュメントは3ヶ月に1回、こっちのドキュメントは1年に1回チェックするよなど。
棚卸ししてみて更新が必要なドキュメントは更新が必要だよってマークと、何を更新してほしいかのコメントを付けます。
どうしても時間がかかってしまうので、棚卸しする人はマークとかコメント付けに専念するのが良い気がします。

というわけで

っていうのをやろうと思って取り組んでるよって話でした。
まだまだ志半ばではありますが、なんだかんだで充実し始めてはいるので効果はあるんじゃないかなって思いたいです。

ドキュメントのレビューとかをどうするかみたいな課題もあったりしますね。
とりあえず、「こんなドキュメント欲しいよ」「作ったよ」「ありがとう」っていって増えていったら嬉しいですね。