Web解析ツール開発に利用している5つのサービス | SiTest (サイテスト) ブログ

メニューボタン閉じるボタン

Web解析ツール開発に利用している5つのサービス

弊社で開発しているWeb解析ツール SiTest ですが、開発を行っているエンジニアはいろいろなサービスを使用したり組み合わせたりしながら、日々業務を行っています。今回はそんなツールやサービスの紹介と、エンジニアチームがどのように活用しているのかを簡単にご紹介します。

Trello

trello-logo-blue

Trello はFog Creek Software社が提供している無料のカンバン型タスク管理ツールです。
ホワイトボードに付箋を貼ってタスクの進捗を管理するように、ブラウザ上でチケットを動かしてタスクを管理します。
PCではWebサービスとしてブラウザからアクセスして使用しますが、iPhoneやAndroidのアプリも公開されており、リアルタイムで同期しています。エンジニアチームではTrello駆動と呼べるほど、Trelloにタスク情報を集約しています。また、公開されているChrome拡張でカスタマイズしたり、更に欲しいと思った機能は自分たちでChrome拡張を作ったりもしています。
機能がシンプルなので大変使いやすく、使い方はチームによっていろいろと考えられそうです。APIも公開されていますので拡張機能も作りやすく、どんどん使いたくなるサービスの1つです。
尚、Trelloの開発自体もTrelloでタスク管理されており、こちらで公開されています。

Redmine

redmine_logo_v1
Redmine はOSSのプロジェクト管理ソフトウェアです。「チケット」と呼ばれる単位でタスクを登録し、その進捗状況や担当者等を登録し、タスクを管理できます。
こちらは主にお客様からのお問合せを管理するのに使用しています。お問合せや問題報告があった場合にチケットを登録し、進捗がある度にコメントとしてチケットに追記していきます。エンジニアチームとパートナーサポートチームの連携を円滑に行う目的で導入したのですが、Redmineには検索機能もあり、以前に似たような問い合わせがなかったか確認することも出来るため、問い合わせが多いような内容は機能の見直し等も行い、日々改善に努めています。

ChatWork

ChatWork_Hz
弊社と同じく大阪に本社があります ChatWork株式会社 のサービスです。名前の通り個人同士やグループでのチャットを行うサービスです。国内でもかなりの導入実績もありますでの、ご存知の方も多いかと思います。
弊社では社内・社外の連絡は可能な限りChatWorkで行っています。メールよりもシームレスにコミュニケーションが取れ、よりスピーディーに業務を遂行することができます。
業務での様々な連絡に使用するのはもちろんのこと、特にエンジニアチームではChatWorkのタスク機能も活用しています。リリース予定の機能などをタスクに追加しておくことで、どの機能がリリースされるのかを全員で管理・把握しています。
このタスク機能ですが、タスクの追加時に担当者を決めておかないと追加出来ない仕様となっているため、「誰でもいいからこのタスクやっといて〜」という使い方ができません。このようなタスクが発生することは稀ですが、今後の改修で担当者無しタスクも追加できるようになると嬉しいです。

Slack

slack_rgb
Slack は前述のChatWorkと同じくチャットサービスです。ChatWorkとの住み分けですが、こちらは主にエンジニアリングの情報集約という役割で使用しています。
世界中の様々なサービスと連携することが可能なため、今回紹介しているサービスの更新・変更の通知やサーバーの状態等もこちらに通知し、チーム全員が把握できるようになっています。

例)

  • ・Trelloの更新通知
  • ・サーバーの状態監視通知
  • ・Google Chrome等の主要ツールの更新通知
  • ・サーバーへのデプロイ通知

また、エンジニア同士での情報共有や簡単なコミュニケーションにも使っています。

  • ・「〇〇の最新バージョンが出た」
  • ・「Chrome拡張でおもしろいのがあった!」
  • ・「こんなロジックってどう思う?」

などのメッセージを日々やりとりしてお互いを高め合っています。
他にも hubot というchatbotを社内に作成しており、Slackとも連携しています。Slack上で特定のコマンドを送信するとhubotが受け取り、他のサーバーへいろいろな動作するような仕組みを構築しているのですが、これは別の記事でご紹介できればと思います。

Bitbucket

bitbucket_rgb_blue
ソースコード管理にはgitを使用しているのですが、チーム内での共有にはBitbucketを使用しています。
Atlassian製のgitホスティングサービスで、各自のPC内のgitを繋ぐ役割をしています。gitのホスティングサービスといえば「github」という方も多いかと思いますが、Bitbucketでもプルリクエスト、イシュー、Wiki等の機能が使えるため、弊社ではBitbucketを使用してプルリクエストでのソースコードレビュー等を行って開発しています。
また、重要なもの以外はドキュメントを作成せずに開発をおこなうため、Wiki機能で各プロジェクトの情報をまとめて共有しています。技術系のTipsをまとめてチーム内で共有するだけのプロジェクトもありますね。

githubとの異なる点は課金形態がチームの人数のみに依存するというところではないでしょうか。プライベートリポジトリをどんどん作れるというのはBitbucketの魅力の1つだと思います。メンバー自作のChrome拡張のソースコードもこちらで管理・共有しており、弊社では既に50以上のプライベートリポジトリが作られています。(2016年3月時点)
また、継続的インテグレーション(wikipedia) のためにJenkinsを導入しており、そちらとも連携して自動的にテスト〜デプロイする仕組みとなっています。こちらの話も詳細は別の記事でご紹介しますので、ご期待ください。

まとめ

簡単な紹介でしたが如何でしたでしょうか。今回ご紹介できなかったサービスもまだまだありますが、1つのサービスをただ使うのではなく、組み合わせることによってより自分達にとって使いやすく、業務の効率化を図っています。連携する仕組みや必要な機能がなければ作るというのもエンジニアの醍醐味ではないでしょうか。
今後の記事で、弊社のエンジニアがどんな「なければ作る」をやってきたのか、ご紹介できればと思います。