ドキュメントツールを浸透させるためにインハウスエンジニアがやったこと

ドキュメントツール

はじめに

レバレジーズ株式会社インハウスエンジニアの村本です。

本稿では、DocBaseというドキュメントツールを浸透させるために試行錯誤した際のお話を綴っております。

これから組織にドキュメントツールを導入したいと思っている方や、使われていないツールを使ってもらいたいと思っている方が、ツールを浸透させる際の一つの参考になれば幸いです。

ドキュメントツールを浸透させようと思った背景

当時弊社ではドキュメントをまとめていたツールが乱立していました。各チームでベストだと思うツールを選択していた結果なのかと思いますが、チーム間のナレッジ共有や異動の際には不便極まりないものでした。 当時の状態を伝えるために、簡単に当時使われていたツールを列挙してみます。

  • Confluence
  • esa
  • Google Docs
  • Google Sites
  • Google Spreadsheet
  • ファイル共有サーバ
  • Github Wiki
  • Evernote
  • Excel

この状況で、以下のようなことが起こっていました。

  • チームで一子相伝のドキュメントが引き継がれ続ける
    • 引き継がれたドキュメントは引き継がれる度に悪化していく
      • 古い情報が残ったまま更新されない
      • もはや参考にならない
    • 誰にも引き継がれない野良ドキュメントが出てくる
  • どこに何のドキュメントがあるかわからない
    • どのツールに何のドキュメントが書かれているのかがわからない
    • ドキュメントのリンクを知っている人しかたどり着けない
  • どこにドキュメントを書けばよいかわからない
    • ドキュメントが色んなツールに散らばる
      • 負のループ
  • ナレッジが共有されない
    • 同じ轍を踏み始める
    • 個人のメモに一旦書いて共有しない

実は、社員の殆どは情報共有に課題を感じており、上記のことにも気がついていたのですが、誰も手がつけられない状態でした。

このような状態を解決するために、乱立するドキュメントツールを統一し、どこに何のドキュメントがあるのか、どこにドキュメントを書けばよいかを明確にしたいと思ったのが事の発端です。

何をしたのか

結論から書くと、DocBaseというツールを導入しました。

DocBase

DocBaseを選んだ理由としては、「Markdownでかける」「非エンジニアにも使える」「安い」ことでした。

DocBaseを浸透させるためにやったこと

DocBaseを導入するところまでは簡単だったのですが、DocBaseをどう社員全員に浸透させるかが課題でした。

そこで、エンジニアの私がやったことをご紹介したいと思います。

Slackと連携

弊社ではコミュニケーションツールとしてSlackを使っているのですが、このSlackとDocBaseを連携させるためのSlack Appを作成しました。

このSlack Appの機能は以下の2つです。 - 自分をDocBaseへ招待出来る機能 - SlackのChannelと1対1のDocBaseのGroupを自動で同期させる機能

それぞれについて、少し詳しく説明します。

自分をDocBaseへ招待出来る機能

まず最初に、SlackのSlash Commandsを使って、自分をDocBaseに招待出来る機能を作成しました。

slash commands

上のようにSlack上で /docbase invite me と投稿すると、自動でDocBaseのAPIを叩いて、招待メールをSlackに登録しているメールアドレスに送るという仕組みになっています。

これによって、ツールを使うために誰かに依頼をする手間が省けるため、参加障壁を下げることができました。

実際に運用してみた所感としては、参加障壁を下げることはツールを浸透させる上で、最初の重要な課題になると思います。 私は、DocBaseを導入する前に、esaというドキュメントツールを浸透させようとして失敗しました。 esaはとても使いやすいUIでオープン文化にとてもフィットしたとても良いドキュメントサービスでした。 しかし、使う人は極一部だけでした。その人達は、僕の周りの人達です。

誰かに何かをお願いすることは、人が行動を起こす際に、想像以上の障壁になると思っています(ツールを使いたいとは思っていない人は特に)。 その障壁を取っ払い、自分で能動的に参加出来るようにすることで、ツールを加速度的に浸透させることに繋がるのではないかと思います。

SlackのChannelと1対1のDocBaseのGroupを自動で同期させる機能

DocBaseにはGroupという概念が存在しています。 Groupにメンバーを招待し、Groupに参加しているメンバーだけGroup内のドキュメントを閲覧出来るようになっています。

このGroup機能をうまく活用すれば、どこにドキュメントがあるか探しやすく出来ると考えました。

弊社では、SlackのChannelはルールに従って作られています。例えば、組織やチーム、プロジェクトごとにChannelが作られています。 また、Channelは一部を除いて全てPublicで構成されているため、Slackに参加しているユーザは自分の興味があるチャネルに自由に入ることができます。

そこで、SlackのChannelと1対1のDocBaseのGroupを作成し、SlackのChannelにJoinしているメンバーをDocBaseのGroupにJoinさせるという機能を作成しました。

これにより、ドキュメントが書かれていそうなChannelのGroupからドキュメントを探すことが可能になりました。 また、自分に関係のあるドキュメントのアクティビティはDocBaseのダッシュボードで確認出来るので、ドキュメントの更新も追うことが出来るようになりました。

既存ドキュメントツールからの移行するスクリプトの作成

当時、マーケティング職だけConfluenceというAtrassian製の製品を使っておりました。 なかには有用なドキュメントもあったのですが、私がヒアリングした時点では新しくドキュメントを書くことには使われておらず、一部の人がドキュメントを参照しながら仕事をしているという感じでした。

そこで、Confluenceの記事をDocBaseへ移行するスクリプトを作成しました。 Confluenceのドキュメントはexportすることは出来るのですが、すべてHTMLの形式でダウンロードされてしまいます。 DocBaseはMarkdownで投稿するような仕組みでしたので、HTMLをMarkdownに変換し、DocBaseの投稿APIを使って投稿するというスクリプトをRubyで組みました。

ConfluenceのドキュメントをDocBaseへ移行することで、今まで仕事で使っていた記事を参照していた人をDocBaseユーザにすることができました。 また、Confluenceの記事を移行したことにより、Confluenceの契約を解除することができたので、ドキュメントツールを一つ統合することができました。

結果どうなったか

これらの取り組みにより、日常的にDocBaseが使われるようになりました。 2018年8月現在では、約170名のメンバーがDocBaseを使用しており、毎日平均で30記事くらいが更新されています。

もはや、DocBaseがないと業務に支障が出るレベルまで浸透しています。 (オペミスで一部のDocBaseユーザをチームから退会させてしまった時は大変でした。)

最近では、ある部署が使っていたesaのドキュメントをDocBaseに移行する動きも出ています。 また、勉強会のレポートや、ポエム的な知見の共有記事も投稿されるようになってきました。

まとめ

DocBaseを浸透させることができたのは、以下のことがポイントではないかと思います。 - 参加障壁を下げること - 日常的に使うツールと紐付けること - 既存のツールを統合すること

今回は、上記のポイントに対して、エンジニアとしてSlack Appを作るというアプローチを取りました。 エンジニアは課題に対して、「解決方法を知っている」 + 「解決方法を実行できる」スキルを持った職種だと思います。 今回のような課題を、社内にいるエンジニア全員がハック出来るようになると、とても面白い組織になるんじゃないかと思います。

We Are Hiring

We Are Hiring

レバレジーズ株式会社では一緒に働いてくれるエンジニアを募集しております。 社内の課題を色々ハックしたい!という方は是非以下からご応募お待ちしております!

https://recruit.jobcan.jp/leverages/list?category_id=5142recruit.jobcan.jp