日報を書くシステムにプロジェクト毎の稼働見積もり、実績、収支の表示が出来るように機能拡張した話

初めまして。BPS Webチームメンバーの八木です。

2015年10月からBPSに入社しました。普段は、Webシステム開発とサーバ周りの構築と運用を行なっています。また、プライベートではネットワークやBSD系のOSを弄っていたりしています。そのため、TechRachoでもそのような内容を共有できればと思っています。よろしくお願いします。

さて、今回の内容は弊社で運用している日報システムについてのお話です。

日報システムについて

毎日の業務の報告を提出するシステムを自社で開発し運用しています。

2016-07-27-microposts_new.png

上記は日報システムの日報作成の画面です。日報システムはインターン生の課題として作ってもらったものをベースに、私が追加開発を行なっています。
このシステムでは、1日毎に稼働した案件、稼働内容、稼働時間等のデータを記録しています。
このシステムに、顧客別、案件別に社員の稼働を表示できるような機能を追加開発しています。

日報システムに機能拡張して解決したいこと

日報システムでは、弊社の全てのお客様、お客様から承っている全ての案件毎に、我々が頑張って開発した内容とその時間を記録しております。言い換えれば、誰のために、どのシステムに、どれだけの社内コストを要しているかを試算するデータをもっています。月内の稼働時間、稼働時間の累計をみれば、どのお客様のためにどのくらい頑張っているかがわかります。

また、社内で使っている別のシステムでは、どのお客様から、どの案件で、いくらお金を頂戴しているかを記録しています。また、社内が仕事で溢れた際に、いくらパートナー社に共同作業をお願いしているかも記録しています。この情報と、日報システムで記録している情報を合算すると、収支を見える化することができます。

今年から会社の方針で、多数の人員を採用していただいています。開発案件毎にチームメンバが多少入れ替わることが想定されます。メンバが変われば、お世話になったお客様のために、単発では赤字な案件に関わる機会がでてきてしまいます。せっかく頑張っているのに、この仕事に関わってる自分は評価してもらえないんじゃないか?仕事が多くてつらそうなら見ればわかります。でも、“なんのために頑張っているのかわからない”状態になると、見えない所で人員のモチベが低下してしまう可能性があり、それを経営陣が危惧しているようです。

そのため、お客様毎に累計でどのくらいお世話になっているかなどを計算して見える化しておくこと、あるいは、状況が経済的にまずくなりそうな場合、社員の正常なモチベを維持できるようにして、それがお客様へのサービス二点間するようにもっていきたいようです。また、見積時の予想と比較することで、かりにメンバ全員が見誤ったことがあれば、あとで全員で見直し、反省会を行い、次に活かせるようにしたいようです。

今回、これらの目的のために私が日報システムで追加開発してみた機能拡張の一部を紹介します。

案件別の稼働人月の表示

プロジェクトに対して関わったメンバーの稼働人月(月毎の稼働時間)の見積もりは、これまでも行ってきました。しかし、見積もり時点の稼働と実際の稼働を自動で比較する方法がなく、これまで日報システムで表示されている稼働時間を利用し、手作業で行っていたという背景がありました。

そこで、日報システムでプロジェクト毎の稼働実績を表示できるように機能拡張を行いました。これにより、プロジェクトの稼働実績を効率よく管理できるようになり、参加者全員が当初の目測とどこで食い違ってしまったのか、次からは何を計画に盛り込んでいくか、などの話し合いや改善点の洗い出しが容易になりました。

日報システムで記録しているデータを利用し、プロジェクトに関わった社員の稼働を日報のデータを利用して、プロジェクトの作業時間、稼働率、稼働人月を表示しています。

2016-07-27-project_list.png

顧客別の稼働量、作業内容の表示

今までも、社員の勤務時間の内訳は、各社員の日報から作業内容を表示することができました。しかし、社内の稼働がどこの顧客に集中しているか、また会社全体の動きが何に集中しているのかを知ることができるようになると、誰が確認しても異変があれば気付くようになります。

今回の機能拡張により顧客別の稼働量と、顧客のプロジェクトに関わった社員の作業内容を俯瞰出来るようにしました。

2016-07-27-working_of_customer.png

顧客別の支払一覧を表示

お客様との取り組みで金銭的にどの程度の余裕があるかという事を把握できるのは大切なことです。
現在、弊社では顧客への請求、経費の管理をZohoという外部サービスを利用して行なっています。Zohoに請求、経費情報が登録してあるので、Zoho APIと連携する事により、顧客別の売上(顧客の仕事を完了した暁の報酬。請求書のデータから出力できる)支出(顧客の仕事を行うに辺り、掛かった「原価以外」の費用の事。他者への外注費やテスト機の購入日などですね。これらは経費のデータから出力できる)は表示する事ができます。

しかし、顧客別の社内原価(社員の稼働時間を時給計算で算出する)を算出するためには日報システムの稼働時間から算出できるようにする必要があります。また、利益
(最終的に残る金額)を計算するためにも売上、支出、原価のデータを一括で取り扱える必要が出てきます。そこで、日報システムにZohoのデータを同期し、一度に売上、支出、原価、利益を表示できるように機能拡張を行いました。これにより、日報システムで顧客別の売上の管理も行う事が可能になりました。

2016-07-27-payment-list.png

まとめ

以上、弊社の社内サービスである日報システムと今回拡張した機能についての紹介でした。

収支計算の機能は現在の所、Zohoを利用している事が必須となりますが、日報を作成する機能以外にも様々な機能拡張を行っていき、社内サービスと言えども、大きなサービスになっていきました。

また今回の日報システムですが、このシステムを他社でも使えるように整備し、サービスとして展開するという計画も持ち上がっています。日報の作成だけでなく、稼働の管理やZohoツールを通じて支出管理を行いたいという方には、是非弊社の問い合わせフォームからお気軽にお尋ね下さい。

Ruby on RailsによるWEBシステム開発、Android/iPhoneアプリ開発、電子書籍配信のことならお任せください この記事を書いた人と働こう! Ruby on Rails の開発なら実績豊富なBPS

この記事の著者

ika

1990年滋賀県生まれ。以前は某大学の学内SE。 元々、Web業界に行きたかった希望があり、2015年10月にBPSへ入社。 北陸先端科学技術大学院大学(Jaist)情報科学研究科博士前期課程修了。 元々の専門はネットワークなので、ネットワークの話をすることもしばしば。

ikaの書いた記事

インフラ
限界までFreeBSDの環境を構築したい

2016年12月17日

インフラ
WordPressサイトをHTTPS化する手順

2016年10月14日

週刊Railsウォッチ

インフラ

BigBinary記事より

ActiveSupport探訪シリーズ