banner

新着情報

Tech Blog

2023.07.10
AzOneの勤怠管理
pic

会社の勤怠管理システムなんですか?


こんにちは~、㉔です!

 

皆さんの会社はどんなシステムで勤怠を管理していますか?Az Oneはスプレッドシートに手動で記載して共有することで管理していました。(過去形)

 

私が加入した時点でAz Oneの社員数は6人でスプレッドシートによる管理でも何とかなってしまうところがありました。しかしながら会社の業績・社員数ともに堅調な成長をみせ、現在社員数は60人を超えています。この規模になってくると流石に社員全員の勤怠をツール無しで管理するのは厳しくなってきます。

 

 

お金で解決or自力で解決


お金で解決という方法を取るのであれば、既存システムを利用すれば勤怠管理の問題は解決するでしょう。ただ、弊社のツール選定のテーマの一つにシステムに無駄にお金をかけないというものがあります。このテーマの意味するものは守銭奴ということではなく業務管理に高額な費用をかけるくらいなら社員へ還元するという取締役の金言によるものです。(入社当初社員へ還元するという言葉を聞いておぉっとなったのを覚えています)

 

また、Az OneはSESが業務の多くを占めていることもあり社員個人の勤務時間が異なるケースが多いです。(9時-18時の人もいれば9時-17時半の人もいる)こういったイレギュラーをカバーするシステムもあるとは思いますが、今回は以下を理由に自力で解決するという方法を選択しました。

 

  • 最初から高度な管理を目指さない
    • 現状の作業量を半分以下に減らせて無理のない金額に収まるシステムを導入する

 

  • Az One独自の休暇制度をカバーする
    • Az Oneには労働基準法内の有給休暇以外にも複数の特別休暇があります

 

  • Discordから利用できるシステム
    • ChatOpsやってみたい(個人的な願望)

 

 

 

ChatOps is 何?


ChatOpsはチャットベースのコミュニケーションツール(Slack、Discord等)と、オペレーションや自動化プロセスを組み合わせた協調的なアプローチです。

 

要は開発、保守、業務などのオペレーションをチャットというリアルタイムの場で、各種ツールと連携して自動化させつつ生産性をあげていく取り組みです。

 

GitHubのエンジニアであるJesse Newland氏が、2013年にHubotというGitHub製のチャットbot開発FWと、それを用いた業務の自動化に関する講演でChatOpsというワードを解説したことが始まりです。当時の資料はここにありますが、資料は講演と合わせて読む前提なので詳しく知りたい方は以下の動画を参照して下さい。

 

www.youtube.com/watch?v=NST3u-GjjFw&ab_channel=Rubyfuza

 

ChatOpsと勤怠管理

 

Slack同様DiscordにもBotを追加可能です。今回はこのBotを独自開発し、勤怠管理ができるような機能を組み込みます。DiscordのBot開発はかなり丁寧な公式ドキュメントとチュートリアルがあるので気になる方は是非取り組んでみてください。

 

初めまして、きんたくんです


Az Oneの勤怠管理システムの名称はきんたくんです。社員の中で名称を募集しましたがダントツにいい感じでしたので採用しました。

 

きんたくんの構成

 

 

きんたくんの構成ではDBを使用せずにGoogle Sheets(スプレッドシート)でデータの永続化を実現しています。これはシステムの開発において以下の点でデメリットとなる選択です。

 

  • 一般的な開発手法と異なる

 

  • ロールバックができない
    • 一応Google Driveの履歴で以前の状態に戻せますが手動で実行する必要がある

 

  • リクエスト過多によるアクセス制限がある

 

なぜこのような構成となったのかは理由があります。

 

管理側ファーストの構成

 

きんたくんは勤怠管理における管理側のコストを下げることを第一の目的としています。DBはクライアントソフトを使用すればある程度GUIで操作可能ですが、それでも複雑なデータの修正などはそこまで容易ではありません。

 

その点スプレッドシートはエンジニア以外のメンバーも普段から利用しているツールであり、複雑なデータ操作なども学習コストはほぼかかりません。このメリットが開発コストを上げてでもGoogle Sheetsを採用した最大の理由です。

 

きんたくんの費用

 

現状EC2の無料枠で稼働できてきているので無料です。ただより高いものはないと言いますが、IT界隈ではタダなのに良いものが結構ある気がします。

 

Discord Botの開発


やっとエンジニアリングな話となりそうですが、今回はすでに色々紹介してしまったのでここで一旦終了です。Botの開発ではSapphireというFWを採用しています。これが中々に語れることがあるので次回をお楽しみに。

Recruitment information

採用情報

menu