はてなチーフエンジニアが聞く、サイボウズLiveのアジャイルな開発現場 - はてなブックマークニュース(情報元のブックマーク数)

とてもよく出来た記事。竹迫さんのレッドブルぶりに惚れた。

大西 はてなチーフエンジニアの大西です。今日はサイボウズの無料コラボレーションツール「サイボウズLive▼」、その開発現場の実際を聞くために京都からやってきました。よろしくお願いいたします。早速ですがスペシャルゲストの竹迫さん、レッドブル▼はお好きなんですか?
竹迫 サイボウズ・ラボの竹迫です。レッドブルを愛飲しています。普段サイボウズLiveの開発者と話す機会はあまりないので、今日はどんな話が聞けるのか楽しみです。持ってきた24本のレッドブルは、面白い発言をした人にその場でプレゼントしようと思います。
大西 なるほど。サイボウズLiveの開発をエンジニアとしてまじめに話しつつ、ときどき面白いことも言ってもらってレッドブルをゲットで盛り上がろうってことですね。レッドブルのPR記事にならないか心配です。早速、皆さんがこのチームに参加した経緯から聞いてみましょう。

はてなチーフエンジニアが聞く、サイボウズLiveのアジャイルな開発現場 - はてなニュース

テストを自動化してるのかすごい。これは安心。

■ 1日2回の自動テストがないと「夜も眠れない」
大西 サイボウズLiveの開発ではいろいろ新しいことを試したとお聞きしたのですが、やってみて一番よかったことはなんですか?
福嶋 テストの自動化ですね。サイボウズでテストコードを書いて、自動的にテストを実行しているプロジェクトは2008年当時にはあまりありませんでした。テストの自動化は本当にやって良かったです。テストコードを記述する工数はどうしてもかかりますが、将来的なデグレード▼の心配がないし、安心してリファクタリング▼できます。機能追加なども思い切ってできます。
生江 開発に入る前から、テストコードを書くことでどのくらい工数が増えるかと、それによって得られるメリットをじっくり考えました。やはりテストコードを書くことで時間の何割かを使うことへの恐怖や心配はありました。でも、時間を使うこと以上のメリットがあったと感じています。
竹迫 最初からテストを導入したんですね。それはすばらしい。
大西 テストあったらいいよねと思いつつ、納期に迫られて、十分なテストコードを書けずにリリースするというのは、僕自身何度か経験があります。テストコードをちゃんと書くところまで納期に要求できるのは、エンジニアとしておいしい環境ですね。

はてなチーフエンジニアが聞く、サイボウズLiveのアジャイルな開発現場 - はてなニュース

こういうのが回っていると安心できるよなぁ。手によるミスも防げるし。

■ 重要視しているのはSeleniumによる自動テスト
大西 テストコードを書く時間をふんだんに取れない中で、どの部分のテストをどのくらい書くのかは、なかなか悩ましい問題だと思います。サイボウズLiveの開発で重要視している部分はありますか?
福嶋 もっとも重要視しているのは、Selenium▼を利用した自動テストです。Hudson▼を利用して、Subversion▼にあるソースコードを自動ビルド、自動テストしています。Javaのクラス単位の単体テストをがんばるよりは、ユーザーの目線に近いWebブラウザ上でのテストをSeleniumで作るほうが、より高い効果が得られると考えました。テスト内容は画面単位で記述しています。例えば「掲示板に書き込む」というような単位です。
北崎 Seleniumの自動テストは、専用サーバーでだいたい3、4時間で完了します。深夜とお昼の1日2回、自動でテストを走らせています。出社すると深夜のテストが終わっていて、昨日のあれ壊れてるな、お昼までに直そうとか。お昼のテストも夜に帰る前に終わるので、壊れていたら「直してから帰ろう」なんて。そういうサイクルです。もし何もなければ「帰ろう帰ろう」って。

はてなチーフエンジニアが聞く、サイボウズLiveのアジャイルな開発現場 - はてなニュース

screenshot