ユアマイスター株式会社エンジニアブログ

ユアマイスター株式会社のエンジニアが日々徒然。

エンジニアチームでアウトプット強化のためにQiita投稿選手権をして、Qiita Organizations一覧のランキング1位になった話

f:id:yourmystar_engineer:20180901184133j:plain

どうも。ユアマイスター星(@inase17000)です。 今日は4月ごろにチームで取り組んでいたアウトプット強化の取り組みを紹介したいと思います。

やってる本人も楽しみながらアウトプット強化できた取り組みのご紹介です。

背景

ちょっと前の話なのですが、ユアマイスターではQiitaのOrganizationページを作りました。

yourmystar-engineer.hatenablog.jp

作ってみたもののそのままにしてしまっていたので、一念発起してエンジニアみんなでQiitaに投稿を増やそう、と企てました。

ところが、いきなりエンジニアたちに「今日からみんなQiitaを書くんだ!アウトプットするんだぞ!」と大きな声で叫んでみてもうまくいかないことは目に見えていました。

  • 本業に直接繋がらないことに時間をとる余裕がない
  • あえて他人に対して教えるほど有用な情報を持ち合わせていない
  • 何を書けばいいかわからない

人によって理由は様々ですが、やっぱり一番の課題だと思ったところは継続することです。

さて、この継続できるかという課題を解決するための方法はたくさんありますが、何が一番効果的でしょうか?

  1. 一人当たりのノルマを課す
  2. チームでのアウトプットにして、連帯責任にする
  3. 罰ゲームなどのネガティブインセンティブを課す

他にも色々あると思いますが、僕たちは上記の方法は選びませんでした。どうしたかというと「個人vs個人の競争にする」という方法です。

簡単にルール説明

  • それぞれ個人の投稿についた「いいね数」と「PV数」を元にポイント数を算出(このポイント数の配分は後で変えたくなったので要調整)
    • いいね数:2ポイント
    • PV数:1ポイント
  • 対象の月に公開された投稿のポイント数をすべて加算し、ポイント数の合計で競い合う

こんなルールを一番最初に決め、ヨーイドンで開始しました。

と、勢いよく開始したのは良かったのですが、どうもいまいちイベントっぽく盛り上がらない。開始2日でいきなり壁にぶち当たりました。

問題と解決策

何が問題だったかというと、ポイント数の合計で競い合ってるものの、1日単位でスプレッドシートを更新すること&それを見ることでしか進捗がわからなかったため、なかなか他人と競い合うという部分の実感を持てなかったことがあります。

これはエンジニアっぽく見える化してやろうという気持ちになったので、大きく分けて2つのことやりました。

その1:いいね数をQiitaのAPIを使って自動的取得するGoogle App Scriptでスプレッドシートに集約した

Qiita API公式ドキュメントを参考にしながら、スプレッドシートに自動で記事名や記事へのいいね数を取得できるようにして常に最新値を手間なく把握できるようにしました。Qiita APIの利用方法については、公式ドキュメントや先人たちの知恵を借りれば一瞬で実現可能だと思いますので、詳しくは書きません。

ただし、 つらみ のところに書いてあるように、PV数は僕のアカウントだけでは解決できず断念。若干の手作業が残ってしまったのは心残りです。

その2:個人別でいいね数、PV数、ポイント数をMackerelのAPIを使ってグラフ表示できるようにした

スプレッドシートに集約したデータを、Google Apps Scriptで取得&APIコールして、Mackerelにデータ連携をしました。

詳しくは下記の記事をご覧ください。

qiita.com

この方法で、普段監視に使っているMackerelにデータを集約できるだけでなく、一定以上に数値が行った時にアラート&Slackへの通知ができるのでリアルタイムで状況が変わっていくようなメトリクスには活用できる方法だと思います。

「データを集める」「データをサマる」「データをグラフ化する」「データを監視する」と行った段階によってツールを使い分けることで、最適化を図れるのでいい勉強になりました。

つらみ

PV数だけは自動化できなかった。。。

というのも、Qiita APIを使ってPV数を取得できるのは自分のアカウントの記事のみになってしまいます。他人のアカウントの記事については、いいね数はわかるけどPV数は教えてくれないという仕様のため、残念ではありますが、各エンジニアに定期的にスプレッドシートへPV数の反映をしてもらっていました。(全員分のAPIキーをもらって、スクリプトでぶん回す方法もありますが、セキュリティ的にNGですもんね)

結果

次第に盛り上がっていき、各エンジニアが毎日のようにQiita投稿を面白がってやっていると、自然と見てくれる人、いいねをしてくれる人が増えたようで、なんとQiita Organizations一覧のランキングにランクインしたのです。しかも1位!

f:id:yourmystar_engineer:20180901172340p:plain

これでエンジニアたちにさらに火がつきました。継続させようと段々本業を疎かにしかねないくらいのノリになってきていましたが、前向きに取り組めていたので勢いを止めないように、と、毎日Qiita Organizations一覧のランキングの内容をSlackへ通知したろう、ととことん盛り上げるための施策を行いました。詳しくは下記のQiitaにまとめていますので、ご覧ください。

qiita.com

最終的には、一人のエンジニアがとある記事でバズった結果、圧倒的No.1を獲得するという結果になりました。グラフを見ても、他メンバーとの違いが凄まじいことがわかると思います。

f:id:yourmystar_engineer:20180901181346p:plain

振り返り

結果的に毎日ポイント数を気にしたり、日常会話の中にQiita投稿する・しないみたいなことが出てくるようになってきたので、エンジニア全体でアウトプットへの意識を向けられたと感じています。

今後に向けた改善点としては、

  • 記事数(期間中に何回投稿したか)もポイントに加算するなどして、できるだけ公平な競争が生まれるようなチューニングは必要
  • Qiitaに投稿すべき内容か、エンジニアブログに投稿すべき内容かを精査しながら、Qiita側のクオリティーを一定以上に保つフィルタリングが必要

だと思っています。

もちろん、1個に気合を入れてもりもりの投稿をするのも戦略として褒められるべきことだとは思いますので、適度にコツコツ小さなことをアップしているエンジニアにも光が当たるような仕組みにできていければいいと思います。

最近、Qiitaに投稿すべき内容か、について考察したので、こちらも合わせてご覧いただければと思います。

yourmystar-engineer.hatenablog.jp

以上、ユアマイスターのエンジニアたちの取り組みの一環を紹介しました。これからもどんどんアウトプットしていくぞー!!