はじめまして。IT課の舩越です。
IT課では、ゲームを作ることは無くオフィスのインフラ周りの構築・保守を行ったりシステム管理などを行い、ゲーム制作を含めた会社の業務全般を気持ちよく快適に出来る環境を提供しようと心がけている課となります。
この度(栄誉ある?)「技術ブログ」を書かせて頂く事になりました。
初めてなのでちょっぴりドキドキしております。
はじめに
全世界が新型コロナの問題でテレワークに移行した企業さんも多いと思います。
そこで問題になってくるのがやはり「コミュニケーション問題」ではないでしょうか?
弊社はコミュニケーションツールとして「Slack」を使っています。
コミュニケーションが枯渇しないように「質問」や「依頼」最近では「大喜利」チャンネルなども作り社員全員が発言に躊躇しない環境を構築しているつもりです。
「教えてくれてありがとう!」
「ご対応ありがとう!」
っという文字はよく見るものの、やはりSlackの文面となるため定型文に見えてくるんですよね。。。
そうだ!!!!京都に行こう・・(古っ)
じゃなかった。
「感謝を可視化してみよう!」(ドヤ顔)
感謝の気持ちが目に見えてわかれば、人との繋がりや温かみをダイレクトに感じれる。何より社員は全員繋がっているのだ!っと舩越自身が自己満足に浸れる!
One for all.
All for one.
ボールは友達(最後は社員全員でスカイラブハリケーン!!って流石に意味不明)
構成図
GASとは、「Google Apps Script」の略。
- SlackAPIの「Outgoing Web Hooks」がTrigger wordである「good」で反応しGASを起動
- GASにてスプレットシートに「誰が」「誰に」「Good内容」を記載。
- GASよりBotをキックして、Goodの内容をSlackに送信。
おおぉぉ!!いい感じですね~
ありがとうの集計とは別にありがとうを言った人も集計出来るので感謝する人、感謝される人が数値化されました。
こうして(ドヤ顔で)カットオーバーしました!めでたしめでたし。
そんなある日・・・
この日は突然やってきた。
社員A:「感謝したのにカウントされないんです」
舩越:「またまた~。感謝の気持ちが足りないんじゃないですかぁ?」(ホジホジ)
社員A:「やってみろやぁぁ(高田延彦風)」
カチャカチャカチャカチャ・・・ターーン(ご存知Enterキーの効果音)
舩越:「本当だ・・・あれ?でも別チャンネルでは普通に動いているよ?」
社員A:「直すまで貴様にありがとうは一生来ないと思えぇぇ!!!」
舩越:「わがりばじだぁぁぁ(涙目)」
ありがとう欲しさに原因究明
切り分けの結果、このAPIが起動するチャンネルと起動しないチャンネルがある事に気づきました。
その2つの違いは?
「プライベートチャンネルだ」
「プライベートチャンネルではOutgoing Web Hooksは起動しない」
「はやく言ってよ~」(誰にだよ)
「聞いてないよ~」(ダチョウry)
グッジョブチャンネルなどを作ってそこでしか使わないという方法もあるけど、それぞれのチャンネルの中の話の流れでお礼を言いたい事あるし「わざわざチャンネル変えてお礼を言う必要は無いか」っとお礼を言うのを諦めてしまうという本末転倒な話にもなりかねません!
舩越は考えた。
凄く考えた(集中力は10分も持たないけど)。
ここで神の声が。
弊社代表堂前「スラッシュコマンドで実現したら?」 キラキラ
舩越「何ですかそれは?美味しいの?」
そんなわけでスラッシュコマンドについて調べた所、たしかにプライベートチャンネルでも起動出来る!
これだ!!!
どうせなら!
一度失った信頼は簡単には取り戻せない。
早く「ありがとう」が欲しい舩越。
ただ普通に直しても「ありが」ぐらいまでしか頂けそうに無かったので、どうせならより使い勝手が良くて、現状のデメリットを排除した仕組みに作り変えようという結論に至りました。
現状のデメリット
- 一人にしかgoodを送れない(複数人に送るにはgoodを繰り返し入力する必要がある)
- 集計結果がスプレットシートのみとなっている。わざわざ開くのが面倒ください。
- そもそもスプレットシート自体の運用が面倒くさい。共有したりとか、実際誰が所有してたりとか。
そこで、それら集計データはスプレットシートではなくデータベースに登録してそれを皆が簡単に見れる形で実現しようと、
つまり
「社内システムを構築しよう」
っと一念発起しました。
社内システムの構築
PHPとmysqlが使えるWebサーバをクラウド上で準備する。
やはりレンタルサーバは良いですね!(別に代理店ではありません)
- ハードウェア障害よるダウンタイムが無い(ハードディスク故障?何それ?)
- フルバックアップの心配が無い(もちろんデータ的なバックアップは取っておきましょうね)
- 停電がなんのその!(PM11時出勤して対応した時代もあったなぁ..涙)
mysqlデータベースを作成し、Slackから送信される感謝情報「いつ」「誰から」「誰へ」のデータを格納するためのテーブルを作成しました。
受け皿はこれで出来上がり!
今度はPHPにてログイン画面を作ってみましょう。
まずはmysqlに認証のための社員テーブルを作成し、ログインIDとパスワード(暗号化済)を登録。
出来上がったのが「Logicalbeat Intranet Project」先頭文字をピックアップして略して「LIP」
LIPには、「唇」という意味とスラングで「おしゃべり」という意味もあるらしい。
「そんなおしゃべりな唇に乾杯!」チーン
はぁ?
社内システム(LIP)を使った新構成図
Slackでスラッシュコマンド「/goodjob」を作成。
これを実行されるとGASを起動するようにセットしておく。
- スラッシュコマンド[/goodjob]が送信されるとGASが起動
- GAS内でPHPプログラムを起動。パラメータには「いつ」「誰が」「誰に」
- PHPプログラムは送信されてきたパラメータを取得しテーブルにInsert
- GASよりBotをキックして、goodjob内容をSlackに送信。
結果
↓
【グッジョブされた人ランキング】
キー!!
弊社代表にグッジョブカウントで負けた Orz
とはいえ、グッジョブのランク上位に「社長」がいる会社って純粋に素敵でしょ?
もちろん「グッジョブしろやごらぁ」などのパワハラは絶対にありません!
もし発覚したら本システムは終了させます。意味ないですからね。
【グッジョブした人ランキング】
グッジョブしたカウントでは圧倒的に弊社代表に負けた 惨敗( p_q)エーン
とはいえ、感謝を言った人ナンバーワンが「社長」ってとてもいい会社だと思いませんか?(大事な事なので2回言いました。)
【詳細表示】
いつ誰が誰にgoodjobしたのかを見る事が出来ます。
このデータが1年後にはどれぐらい溜まっているのかを考えると夜も眠れません(昨日は朝までグッスリ10時間寝た)。
最後に
mysqlのみ使用経験はありましたが、PHP・GASなどは使用経験は無く、様々なWebページを参考に、はたまた丸コピして使わせて頂きました。
今回で多くの事を学ぶことが出来ましたが、現状に満足する事なくより職場環境の向上に向けて邁進する覚悟です!そして何より楽しく!
今回は、弊社の環境と会社の雰囲気を少しでも感じていた頂ければ幸いに思います。
もしご質問等があれば、会社公式TwitterやFacebookなどの準備がありますのでお気軽にお問い合わせ頂ければと思います。
【免責事項】
本サイトでの情報を利用することによる損害等に対し、
株式会社ロジカルビートは一切の責任を負いません。