よかろうもん!

アプリからインフラまで幅広くこなすいまどきのクラウドエンジニアが記す技術ブログ

いろんな人が関わっている!?ソニックガーデン開発の裏舞台 (SonicGardenアドベントカレンダー5日目)

SonicGardenアドベントカレンダー、5日目までまわってきちゃいました。

今日私が書いているので、残りは副社長と社長の2人ですね。トーク上手な二人なだけに、おもしろい記事が出てくること間違いなしだと思います。

今回は、あまり知られていないソニックガーデンのサービス開発の中で関わっている人たちについてご紹介します。

 数ある中でも今回は、Webサービスの「デザイン」と「テスト」の2つに絞って紹介します。

 

デザイナーとのかかわり

Webサービスの開発はSonicGardenが得意とする領域です。そのためプログラマのみでサービスを作り上げることはできるのですが、スタイリッシュなデザインサイトにしたいということであれば、デザイナーの方のチカラを借りたりします。

 

実際に自社サービスの「SKIP」や「youRoom」、さらには以下のようなフロントページのデザインを「怖話」で有名なフィヨルドの町田さん(@machida)や、「ズルいデザイン」で有名なフリーランスの赤塚さん(@ken_c_lo)にデザインしてもらったりしています。

http://ja.youroom.in/

http://emergency.youroom.in/

http://www.sonicgarden.jp/

http://ja.messageleaf.jp/

 

ただ、デザイナーさんの方にサイトデザインをお願いするというのは巷でもよく聞くパターンですよね。

では、何か特別かというと、machidaさんや赤塚さんは、インデントや簡略構文によって簡潔な記述を行えるhamlやsass、さらにはソースコードのバージョン管理を行うGitを使いこなしているプログラマスキルを兼ね備えたデザイナーなのです。

そのため、Gitで管理しているソースコードを直接変更してもらうということが可能なのです!

 

通常は、デザイナーがCSSを書いて、それをプログラマがサービスにせっせと適用するという非効率的な作業をしなければなりませんでしたが、デザイナーさんが直接ソースコードを変更してくれるので、無駄な作業を減らすことができます。

また、以前はデザイン変更中に開発をストップすることを求められることが多々有りましたが、hamlやsassを理解してくれているデザイナーの方はソースコードの変化にも柔軟に対応してくれるため、デザイン変更中であっても機能開発を続けることができるようになりました。

それもこれも、デザイナーの方々がプログラマに求めれられるスキルをオーバーラップしてくれたからですね。プログラマに歩み寄ってくださり、ありがとうございます!

あとはデザイナーの方々が安心してソースコードの変更ができるように、プログラマは、デザイナーさんが変更したソースコードを責任持って確認し、必要に応じてリファクタしてあげましょうね。

 

 

続いて、アプリケーションフレームワークのバージョンアップやミドルウェア/OSのリプレース時に行うテストについてです。

オンラインテスティング

アプリケーション単体のテストはCapybaraやRspecなどのようなツールを活用することで実現できますよね。ソニックガーデンでも積極的にテストコードを書いて品質担保をしようとしています。

ですが、テストツールは万能ではありませんので、テストすべてを網羅するのは困難です。

特にフレームワーク自体のバージョンアップでは、テストツールのバージョンアップを同時に求めらることもあり、場合によってはテストコードを改修しないと動かなかったりします。

また、テストツールではアプリケーションを動作させるミドルウェアやOSが変化した際のテストはできません。

そのため、人的なテストも時には必要となります。

そんな時、巷ではテストのアウトソースが利用されるようです。ただ、テストケースを洗い出したドキュメントの作成や入力に対する結果などをまとめたドキュメントを事前作成する必要があるみたいで、アウトソースするのも一苦労のようです。

そこでソニックガーデンでは、より効率的なテストのアウトソースを実現するためにフィヨルドのインターン生のチカラを借りています。

ここ半年以内に、社内SNS「SKIP」と「youRoom」のフレームワークの最新化およびOSディストリビューションの最新化を実施した際に、テスト環境でさまざまなテストの協力をしてもらいました。

このとき工夫した点は以下。

  • コミュニケーションは全てSkype
  • 不具合を見つけたらGoogleスプレッドシートで報告(再現方法も記述)
  • 不具合が登録されたらプログラマはすぐさま修正
  • 修正完了後、不具合発見者にすぐさま再確認依頼

完璧な網羅テストを依頼しようとすると、確かに厳密なドキュメントが必要となりますが、ソニックガーデンではこちらのエントリにあるように、

"SonicGardenのアプリケーション開発は、「どれだけ頑張ってもバグは発生する。0にするよりもどれだけ早く直せるかを考える」"という方針で考えています。

そのため、テストの目的でも、不具合0を目指すのではなく、多くのユーザが利用する機能を重点的にテストし、なるべく不具合を減らすようにしています

この背景もあり、フィヨルドの優れたインターン生協力のもと、テストのクラウドソーシングを実現してもらうことができました。

インターン生のみなさん、ホントご協力ありがとうございました! 

 

これまでに述べてきたように、SKIPやyouRoomなどのサービスは、さまざまな方々のチカラで成り立っています。これからも多くの方々に協力していただくことになるかもしれませんが、そんなときでもソニックガーデンらくし、既存のやり方のままではなく、何かしらひと工夫したアプローチを心がけていこうと思いますので、ご協力よろしくお願いします。

 

 

それでは、次はブログを書かないことで有名な副社長の@pastaonlyにバトンタッチです!エンジニアがこれまで繋いできたバトンをまさか放棄したりしないはず・・・。

 

最後にお知らせ。

ネット上で年賀状が送れる「Keep in touchグリーティングカード」を使って、例年とはちょっと違う新しいスタイルのウェブ年賀状を送ってみてください。

ビジネスでもネットで年賀状を送ろう!〜もっと手軽に、もっと心を込めて〜Keep in touchグリーティングカード - SonicGarden 株式会社ソニックガーデン

 

あわせて読みたい(Advent Calender編)

1日目:「お仕事忙しいですか?」と聞かれると返事に困る話

2日目:大は小を兼ねない〜丁度良いソフトウェア開発〜

3日目:SonicGardenの1プログラマから見た「納品のない受託開発」

4日目:ルールを作るな。習慣化せよ。