※本記事は、サーバーワークス Advent Calendar 2016 12/15分です。
こんにちは、技術3課の紅林です。今回、大阪オフィスでの掃除BOTの取り組み(いい歳した社会人たちが掃除当番を回せないので、技術を使って何とか解決しようと四苦八苦する姿)についてご紹介します。
はじめに
サーバーワークス大阪オフィスは今年9月に現在の場所に移転しました。移転して以来、必要な什器等を少しずつ揃えているわけですが、オフィスのルールの整備もその中に含まれます。
特に掃除は以前のオフィスビルでは清掃員の方に実施頂いていましたが、現在のオフィスビルでは自分たちで掃除をしなければいけないため、ルール作りから始めることとなりました。
東京オフィスの場合
東京オフィスでは毎週月曜日の朝に掃除の時間を設けており、朝、掃除BOTがランダムで東京メンバに掃除場所の担当を割り振ります。担当者はBOTの記載内容を確認して、自分の担当の掃除を行います。
大阪オフィスお掃除BOT「常務」 Ver1.0
大阪オフィスも当初東京オフィスの方法を真似て、同様の方法で掃除BOTを導入しました。月曜日の朝、「常務」BOT(※1)により、メンバにランダムに掃除の役割を割り当てられます。
Ver1.0の課題点
当初これで進めていましたが、課題点も浮き彫りになりました。大阪オフィスでは、クラウドワークスタイルを利用しているメンバが多いこともあり、特定の時間に掃除の時間を設けることはせず、1週間のうちどこか任意の時間で実施する運用となっています。
しかし、そうなると、タスクの割り当て通知が月曜の朝であるため、その週にタスクが割当たっていても、担当のメンバが忘れてしまうことがあり、次の週の人が代わりにやることになったり、来週に持ち越しになったり等の事象が発生しました。
大阪オフィスお掃除BOT「常務」 Ver2.0
1週間の流れについて
そこで、週頭のSlackの通知だけでは不十分と考え、Trelloのカードで各メンバの掃除の分担を管理するようにしました。また、週の頭に通知しただけでは失念することもあると考え、週の半ばと週の終わり頃にBOTでリマインドすることにしました。
1週間の中のイベントとしては以下のようになります。これをLambdaのスケジュールイベントで実施します。
「※ただし、先週実施し忘れの人は持ち越し」の部分は、やはり、どうしても週末にやろうとしていて忘れてしまったりといったことはあるようで、忘れてしまったメンバは来週もおなじ担当を持ち越すようにしています。
実行内容としては、先週分のカードが破棄され、新たにカードを生成しますが、その際に先週忘れた(チェックが無い)人の分は今週分のカードに反映される形となります。(後述のTrelloの処理参照)
BOTについて
上述の通り、Ver2.0ではBOTによるリマンド機能と前週掃除できなかった人の持ち越し機能が実装されました。
リマインド時に実行するBOTは、その時点のTrelloのカードのチェックリストの状態をチェックし、チェック済の人には「済」のマークを、まだの人には「まだ」である旨をSlackのメンションで通知するようにしています。
前週にタスクが出来なかったメンバは次の週に持ち越すようにしています。以下の例では、約一名、前週に掃除をしなくて吊し上げられているのが分かりますね。誰とは言いませんが、いい歳した社会人であれば、この大阪オフィスの営業課のKさんのように醜態をさらすことの無いようにしたいものです。
(ちなみにねんりん屋ののバームクーヘンはおそらく中の人が好きなのでしょう。)
Trelloのカードについて
生成されるTrelloのカードは以下のようなものです。チェックリストに担当メンバの名前とタスクを記載されたものを生成します。
リマインドBOT発動時や週の始めのカード生成時にLambdaファンクションがカードのチェック状態を確認し、リマインドの内容や新規作成されるカードの内容に反映させています。
感想と今後の課題
今回、大阪オフィスの掃除当番管理を自動化する試みをご紹介しました。今後は、掃除完了後のチェックをTrelloだけでなく、ネットワークに接続可能な実物のボタンを使用して、掃除実施の管理を行うことを考えています。
また、ゴミ箱が溜まったらSlackに通知する等、本当に掃除が必要なタイミングの検知等が出来たらなと思います。
※1 BOT名「常務」とは大阪オフィス気鋭の若手エンジニア「常務」にちなんでいます。詳細気になる方はぜひサーバーワークス大阪オフィスに遊びにきてください!