ナイスesa活動
弊社では、全員がリモートワークを行っているため、オフィスで業務している会社に比べて、情報共有ということがより重要なものになっている。
チームメンバーの姿が見えないため、ちょっと気になったことを気軽に声をかけて聞くことができなかったりするし、メンバーがタイムゾーンが違う海外で働く場合もあったりするので、なおさらだ。
そういうこともあって、弊社では『暗黙知を形式知にする』ということを重視していて、積極的に esa.io に情報をまとめて共有することを行っている。
私もよくチームメンバーに
「これ、esaにまとめておいてください」
「これは後でいいので、 してくださいね」
などとお願いしたりする。
今回は、納品するドキュメントとは別に、私がいつもどんなときに「esaにまとめておいてくださいね!」とお願いしているか、ちょっと振り返ってみたい。
その技術情報や設定などが他の案件でも使いまわせそうだと感じたとき
今回設定した内容が他の案件でも使えそうだと感じたとき。
例えば、 logrotate
で行うログのローテーション設定や、あるディレクトリ配下のファイル群をS3にアップロードするスクリプトを書いたときなど。
案件に限らず、汎用的に使えそうなものは、設定内容や設定根拠等が分かるようにまとめてもらったりする。
まとめるときに、どんな要望があって、どういう経緯で、そういう設定をしているのか、その背景も含めてドキュメント化することで、今後の同様の案件で、それを参考にして効率よく構築ができるかもしれない。
設定ファイルだけが書かれているだけだと、構築時に何も考えずにそのドキュメントを基に、設定ファイルをコピペして構築してしまう可能性もあるので、背景や意図もしっかりと書かれていると、それを考慮した上で構築できるので、そのようなドキュメントになっているとベストだと思う。
逆に、なかなか同じ技術を使うケースがなさそうな場合
一度導入して、しばらく同じような技術を使わない可能性が高いけれども、運用はしないと行けない場合など。
しばらく安定稼働していたものが、何らかの原因で障害になってしまった場合、
「どこをどう設定したのか」
「どういう意図でそのような設定になっているのか」
「どういう背景で、その設定になっているのか」
など、障害対処や復旧作業時の手がかりになりそうなことは、まとめてあるとかなり助かる。
構築から、数年経ってしまっていたりすると、構築したのが自分であっても思い出せないことが多いので。
他のメンバーがその技術スタックを触ったときに同じようにハマる可能性があるか
特に初めて触る言語やフレームワークとか、他のメンバーが自分がハマったところと同じようなところで躓く可能性が高い。
そういったときに、どういう対処したのかという知見がしっかりと書いてあると、ググる手間も省けて良いと思う。
オペミスなどが起こってしまったとき
人間なので、ミスを起こすのはしょうがないことだと思っているし、ミスを起こしてしまった人を責める気持ちはまったくない。
ミスを起こしてしまった後、やってしまった本人はもちろん他のチームメンバーも含めて、それを繰り返さないことの方が重要だ。
ミスをしてしまったときに、そのミスについて向き合うのはツライことかもしれない。
そんなミス、さっさと忘れて次の作業に入ってしまったほうが気持ちは楽かもしれない。
ただ、その ミスをちゃんと分析することは非常に重要なこと であると思っている。
どうしてそうなってしまったのか、ミスに対してどういう処置をしたのか、どうしていたらそのミスを防げたのか、ミスを繰り返さないためにもどうするべきか。
そういったことをしっかりと自分で分析して、他のメンバーと共有すること。
それを見て、他のメンバーが同じようなミスをしないようにできるのが、チーム開発を行うメリットの1つでもあると思っている。
何らかの障害や不具合が発生したとき
運用を行っている上で発生した障害対応についての情報共有も重要だと思う。
障害が起こってしまい、サービスが停止してしまったときなどは、かなり焦ってしまう場合が多いし、一刻も早く復旧しないと!と、余裕がなくなっていることも多い。
休日や夜間などで、他のメンバーがいない場合などもあるかもしれない。
そういったときに、過去の類似の障害情報がドキュメントとしてまとまっていると、心強いと思う。
障害に対して、いつ、どのような状況になって、ログはどういう内容だったのか、どう対応したのか、暫定対応はどうしたか、恒久対応としてはどう対応したのか。
こういった情報がしっかりと書かれていると、障害対処時にも多少余裕を持って対応できるのはないだろうか。
今後、別の案件で同じような障害が発生したら(もちろん、発生しないように未然に防げるのが一番だが)、 他のメンバーが即時対応できるように。
そういう視点を持って、ドキュメントとしてまとめておくことは重要だと思う。
まとめ
個人的には、新しいメンバーが入ってくれた際などに「困ったらググる前にesa.ioを見てみて」って言えるぐらい、社内でのノウハウやTIPSが充実していると嬉しいな、と思っている。
もっともっと『暗黙知を形式知にする』活動、 活動を啓蒙していきたい。