Article

ブログ

2015/12/24

チーム全員開発!セルフリーにおける高速開発の手法

こんにちは、本間です。

クリスマスイブ、いかがお過ごしでしょうか。私は 次にリリース予定である CallConnect の新機能のテストケースを先ほどまで書いておりました。

さてご存知の通り、セルフリーは3人の会社です。最速の開発効率を突き詰めるため、エンジニアでなくてもCallConnect の開発に携われるような体制をとっております。今回はそんな全員エンジニア、のような開発体制についてご紹介します。

CallConnect の開発環境

CallConnect は、現時点で最新である Ruby on Rails の 4.2.5 で開発されております。それらのソースコードを Bitbucket で管理しております。それぞれの開発タスクは Trello で管理しています。

人の出入りがあるわけではないので、それぞれが開発環境を用意する形にしています。弊社メンバーは全員 Mac 所持者ですので、Rails の開発環境を構築するのは手間になりません。ということで、仮想環境などを使わずに Mac 内でローカルの Rails サーバを立ち上げて開発しています。

当時は VirtualBox, Vagrant などを使っておりましたが、私だけでなくデザイナーも構築したり開発することになりましたのでできる限り開発中の手間をなくしたかったという理由もあります。

それでは弊社デザイナーと営業がどういう関わりでCallConnect 開発に関わっているのかをご紹介します。

デザイナーの場合 ~ UI調整をいつでもできるように ~

まず弊社デザイナーの畠ですが、Mac 上に Rails 環境を入れてもらっています。そして開発するときはしっかりと rails server でローカルで立ち上げ、 Sass や erb などを理解して開発してもらっています。

Rails の UIの部分のみをいじれるように教えました。具体的には app/views、 app/assets、config/locales の3つの関係と’image_tag’などの基本的なヘルパーメソッドの扱い方についてです。エディタは subline text を使っているようです。Rails の基本を教えた後、 rails server で立ち上げるターミナルの使い方を伝え、開発してもらっています。

Git は SourceTree を利用しているので、煩雑なことは教えていません。自分専用の開発ブランチの切り方、 プルリクエストの出し方などを教えました。それ以外の git の細かい部分は教えていません。変に教えて逆にmaster などにプッシュされても困るので、開発に必要なことだけを伝えました。

結果、 css の微修正、画像の当て込みなどは私がやらなくても彼が勝手に修正してもらっています。プルリクエストでソースレビューしましたが、最初は Sass のインデントなどがぐちゃぐちゃでした。その際は厳しく指摘して直してもらい、今では問題なく Sass も書けている状態です。

メンバーが少ないので、困った時はすぐに私が助けられるというのも人数が少ないからこそできる素晴らしい開発体制だと感じております。

営業の場合 ~ 文言を一瞬で修正 ~

次に弊社代表であり営業の小俣ですが、LPの文言などをいつでも修正できるようにしました。

具体的なデザインや動作などは知る必要がないので、このケースでは開発環境を作るということまではしていません。 Bitbucket にはWeb上でソースを修正できる機能がありますので、config/locales 内において修正したい文言があればすぐに修正してコミットしてもらえるような体制にしました。最初は日本語しかないサービスだったので app/views に文字を直に書いていましたが、そうすると文言変更がいろいろなファイル内に分散してしまうのでエンジニアの私が修正する必要がありました。それを config/locales 内に文字ファイルとして全てまとめれば、ちょっとした文言修正の際はそのファイル内で修正したい文字を検索し、それを直してコミットすれば良いだけになります。これによりちょっとした文言修正を誰でも行えるような環境を実現しました。

終わりに

エンジニアとデザイナー・営業の垣根をできるだけなくし、それぞれが色々なことができるような体制にすると、それぞれがオーナーシップを強められると思います。

そういう意味で、私はエンジニアですが開発だけしているわけではなく、営業にも行きますしカスタマーサポートもやります。”これしかできない” という状態をできる限り無くしていくことがプロダクト開発をより加速させるためのキーポイントであると考えています。

次なる私の目論見としては、デザイナーの畠にJavaScriptも書けるようになってもらいたいと考えております(笑)

サービス運営体制が3人であることはデメリットではなく、むしろメリットです。本当は胸を張って言いたいところですが、まだまだ不安に感じられる方が多いようです。人数が多ければいいという風潮が無くなっていくことを願っています。