Raspberry PiとFelicaカードリーダーを使った出退勤管理システムを開発した

3行で言うと…


今週の担当は杠です。昨年の12月中から取り取り組んでいた出退勤管理システム「Faye」の開発がひと段落したので今回は開発を振り返った事について書こうと思います。

Fayeとは?

Fayeは出勤・退勤の打刻管理を行うための社内アプリケーションです。以前はタイムカードを使って出退勤を記録していましたが、昨年秋のフレックスタイム制導入により時間計算が大変になったということで、打刻の記録と時間計算が可能なアプリケーションの開発に取り組むこととなりました。出勤時や退勤時等に事前にIDm(ICチップ固有のID番号)が登録済みのカードや携帯をかざすと、記録されます。かざすと音がなって記録されたことを知らせます。




Raspberry PiとFelicaカードリーダー

打刻した時間や勤務時間はブラウザで確認できます。




Fayeの画面

先週リリースがひと段落したので、これまでの開発の振り返りを行いました。

振り返り

今まで記録していた、開発に関するホワイトボードや使用していたタスクボードの写真を見ながらチームでそれぞれ良かったことや気づいたことを挙げて、これからの活動に活かしたいことや取り組みたいことを挙げました。






今までタイムカードに記録した時間から計算していた業務をシステム化するというのは複雑な要素が絡み合っていたりと考えることが沢山あり、苦労しました。普段、意識的に知ろうとはしない法的なことや、会社の決まりから考慮しなければならないこともあったので新しく知ることも多かったです。

個人的に開発を振り返ってみて良かったことや気づいたことは沢山ありますが、特に大きな気づきは「自分は人のコードを読むのが苦手」だと分かったことです。コードを読むのに時間がかかってしまい、レビューが遅くなってしまう場面が何度かありました。いつまでもコードを見つめているだけでは、いつまでも終わらないので「何分間で行う」という制限を自分で決めて集中して取り組んでいました。開発が始まった時と比べると人のコードを読むことには慣れてきたつもりですが、コードを書く技術だけではなく読む技術も大切なんだなと改めて感じました。

まとめ

私は人のコードを読むのが苦手ということで、これからの取り組みとして「コードを読む練習をする」を挙げましたが、なかなか難しい取り組みかもしれません。それでも、振り返りを行ったことで自分に必要なこと・これから取り組むべきことは何か分かって良かったです。毎週KPTの振り返りを行なっていましたが、それとはまた別に大きな括りで全体の振り返りをすることで見落としていた良いことを共有することができました。新しいプロジェクトに取り組む時は、今回の開発を通して得た気づきが活かせられたらいいなと思います。

こちらの記事もオススメです!
タイムレコーダーあります
タイムレコーダーの機種を選定した話です。
中国深圳にRedmineロゴ入りQiワイヤレスチャージャーを発注してみた
新ノベルティグッズとして竹製Qiワイヤレスチャージャーを中国の業者に直接発注しました。
ペアプロ・モブプロをやってみた話
社内でシステム開発においてペアプロ・モブプロをやってみて感じたことです。
お問い合わせをもとに「よくある質問」を掲載するRedmineを使った業務フロー
My Redmineのお客様からの質問をFAQに掲載しています。
JANOG41ミーティング出展報告 Redmineによるインシデント管理デモを初展示
CSIRTやSOCなどのインシデント管理のデモを行いました。
ファーエンドテクノロジーからのお知らせ(2018/7/5更新)
Redmineの最新情報をメールでお知らせする「Redmine News」配信中
新バージョンやセキュリティ修正のリリース情報、そのほか最新情報を迅速にお届け