弊社は現在開発メンバーがフルタイム2名、パートタイムが1名、それに加えてプロジェクト毎に外注が0〜2名という体制で仕事をしています。ただ、同時で複数のプロジェクトが動いているので、各プロジェクトの人数は1人〜多くても3人(複数プロジェクトの掛け持ちもあり)となってます。

さて、このような零細企業ですし、やっているプロジェクトは自社製品が1つ+受託開発というよくあるパターンなので、このままでは何も面白い事はありません(あ、いや、開発自体は面白いのですが)。

遠隔勤務をする理由

そこで、というわけではないのですが、弊社では遠隔勤務に取り組んでいます。理由としては、まず

  • そもそもオフィスを借りるお金がもったいない、という後ろ向きの理由
  • メンバーの1人が遠方出身で、いずれは地元に帰りたいと思っている
  • メンバーの1人(私)に小さな子供がいるため、夜中に作業することが多いなど、作業をする時間がバラバラ
  • クラウドソーシングも使っているが、実際に会うというのはあまり現実的ではない

と言った、必要に迫られて、という側面があります。

それに加えて、以下の様な将来を見越した側面も有ります。

  • 今後、社会として遠隔勤務が増えていくと考えているので、いち早く取り組んで自分たちなりの遠隔勤務のスタイルを作り上げていきたい
  • エンジニアは在宅勤務を好む方も多いので、採用上のメリット

取り組んでいること

こう言ってしまうと身も蓋もないのですが、実は遠隔だからと言って、あまり特別なことはやっていません。

ツール

使っているツールとしては

  • GitHub, Bitbucket などのソース管理
  • issue tracker
  • 情報共有:wiki, Facebook group
  • チャット(Slack, Facebook message)
  • 音声通話(Skype)

くらいです。以前はSqwiggleを使っていて、まぁまぁ便利だとは思ってたのですが、そもそも作業時間がかぶる事が少ないので、自然消滅的に使わなくなりました。

業務フローとか

開発はPull requestをベースにしていますが、必ずPRを作るようにはしていなく、軽微な修正は直接修正してもらったり、各自の判断にある程度任せています。

プロセスはアジャイル的な感じですが、例えばScrumの厳密なプラクティスなどはあまりやっていません。日次ミーティング位はやっていますが。

日次ミーティングでは、いわゆるKPTっぽい事も含めていますが、若干カスタマイズして、以下の様な内容を話しています。

  • 前日やったこと
  • 当日やる予定のこと
  • 良かったこと、その原因、続けてやること(KPT の K に相当?)
  • 困っていること、その原因、改善すること(KPT の PT に相当?)

良かったことも悪かったことも、必ずその原因を考えて、その後のアクションに活かすように心がけています。

なお、チームメンバー間で信頼関係があることが大前提なので、その為には、最初の段階では合宿を行ったり、定期的に振り返りのミーティングなどを設定することも重要だと思います。

お客様の反応

基本的には、我々を信頼してくださっているお客様の仕事しかやっていないので、遠隔でやることに関しては特に問題視されていませんので、そういう点では非常にありがたいです。遠隔とは言え、打ち合わせなどでは随時顔を合わせていますので。

初めてのお客様では、不安に思われる方もいらっしゃって、成果物はちゃんと出しても、「実際に近くで開発してくれればもっと良い物が出来たのではないか?」と考えたり、若干不満に思う方もいらっしゃいました。これに関しては、こちらから丁寧に説明することは当然必要ですが、発注側の意識が変わっていくのを待つしかないという面もあるかなと思います。

まとめ

弊社のような零細企業では何か特色を出す必要があり、その1つとして遠隔勤務に取り組んでいます。

困難な点も無いことはないですが、最近はツールが揃っていますし、プロフェッショナルとしてお互いを信頼できる関係であれば、遠隔勤務は世間が思うほど難しくもないかなと感じています。