developTweet大学時代の同期の友人たちと一緒に11/1〜11/3の二泊三日、伊東で開発合宿をしてきました。ありがちなWebサービスを集中的にがー!っと作るやつですが、今回は仕事でのWeb系開発経験者は参加メンバー7人中3人。あとはIT系とは言えまったく違う仕事、というわけでなかなかの面白い合宿になりました。某インフラ屋と、まー「これだけいろんな方面の人間集めたらなんとかなるだろう」というお役所的視点で集まったメンバーと言っても過言では無いくらいのバラエティに富んだ構成になりました。世間でにわかに流行りがちな開発合宿でも、こんなメンバーでWebサービスを立ち上げようとするのはなかなか無いのでしょうか?合宿までの道のりまず、「何を作ったか?」ということについてですが、残念ながらまだローンチまでは辿り着けなかったので(ローカルで動くレベルで精一杯だった)、とりあえずこの段階では伏せておきたいと思います。数ヶ月前から何度も実際に顔を合わせてディスカッションをして決めたものだったので、それなりにニーズがあったり自分たちで作り上げたいものであった、とだけ言っておきたいと思います。今回は参加者が7人とやや多かったので、3人+4人の2グループに分けて2アプリを作ることにしました。次に開発言語+フレームワークについて。これは決め方に結構悩みました。僕はPHP+CakePHPに慣れているので、これを選ぶとそれなりにアドバイスもできるし、サクサク開発は進む事になるはず。一方で、せっかくなんで全然違う言語やフレームワークを学んでみたい、という思いもあったり。Railsをやってみたいなーとは強く思ってました。他のメンバーで「軽くPythonを仕事で触ってるからできればそれを。Railsから3択のあみだクジで決めることにしました。ちなみに、くじにはこれを利用しました。「Rails!Rails!!」と、心の中で叫ぶ中、無情にもクジは「Python/Django」に、、、w。いうわけで開発はDjangoに決定。Engineでも動くようだし、これはこれでメリットもあるのかな、と前向きに捉えました。合宿は伊東の山喜旅館で。ここ、結論から言うと開発合宿用として「かなりいい!」です。開発に必要なもの、あると便利なものがこれでもかと揃っています。今回、僕たちは以下のものを借りました。Wi-Fi長机(3つ)全員分のパイプ椅子(7つ)電源タップ(2つ)ホワイトボード以上のものは元々の料金でコミコミです。あと、必要ならばプロジェクタも追加料金で貸してもらえるようですが、今回は利用しませんでした。よかったのがホワイトボード。これ地味にあって大正解です。上の写真でもあるとおり、グループごとにサービスのイメージの詳細を詰めていく絵を描くのに非常に役立ちました。合宿をされる方はここポイントにされたほうがよさそう。そのキーワードで迎えてくれている点。実際、開発を行うのにはもってこいの場所だったと断言できます。今回は「ゆったりプラン」で頼みました。朝、夕ついて(ごはんも文句なし)一泊8,400円は満足度高いですね。いうなら「お風呂の温度がやや低い」と、いう難点もあるのですが(笑)それでも総合点はかなり高い点を付けることができそうです。温泉街の旅館やホテルは、この「開発合宿」をサイト内に入れておくは時代的+SEO的にもよさそうです。開発は実際にはこんな感じで1部屋に7人集まって2、2、3の3つの机に別れて真ん中にホワイトボードを置く感じで開発していました。旅館のごはんも思っていたよりおいしかったです。旬の魚を中心にボリュームもあるのでかなりの満腹。軽くビールでほろ酔い。それ以上に特筆すべきは五味屋というお店の「ねごめし」前段階で「1時間は並ぶ」と聞かされるくらいの人気店で、実際それくらい並んだのですが、まーこれがうまい!海鮮丼をだし汁をかけていただく味は、近くに寄った際にはぜひぜひ!という感じです。10:40修正)もおいしかったなぁ。開発風景で、肝心のDjangoですが、僕はCakeを結構長く触っていた分、その違和感が最後までぬぐえなかったのが本音。最終的にはJavaScriptばっかり書いてて、Pythonのコードは6行くらいしか書かなかったと思います(笑)(実際、jQueryでごりごりUIいじる必要もあったので、これはこれで役立っていた、と思い込んでいます。image...)を扱う仕掛けが標準では用意されていない点。Cakeだと、app/webroot以下に入れたファイルはstaticファイルとして、リクエストに対してそのまま返してくれるわけですが、Djangoはこれらのファイルは別サーバに置くか、urls.pyでうまくルーティングさせてあげないといけない点。後者は「あくまで開発用として利用してください!」と本番では推奨されていない点。これを最初知らずに1、2時間つぶしたのが痛かった。逆に、他のメンバはこういうフレームワークを使ったのは初めての人が多かったので、「これは便利!」みたいな印象だった模様。対照的な印象を持ったことは、これはこれで興味深かったですね。実際、言語をまたいでフレームワーク比較をすることはなかなかありそうでないので、僕自身もいい経験にはなりました。codeのSubversionを利用しました。オープンソースとして公開されちゃうわけですが、手っ取り早くSubversionの環境を手に入れるにはここが一番早そう。実際ここの導入においてはメンバもそんなに困ってなかった模様。単純に分担作業をする上で、マージを行いやすくするためにも、この選択は正しかったなと思います。肝心のローンチがまだ完了していないので、近いうちにまた集まってどういう風にすすめて行くか詰めていく予定です。公開できればそこそこ便利なものになる。ローンチの際はここでも紹介したいと思います。おまけ最後に、合宿までのマイルストーンのメモ。異業種の人たちが定期的に顔をあわせて集まるのは難しいのですが、こんな日程で集まっていました。開発合宿をされる方はご参考に。2008年10月4日(土)技術・勉強会2008年10月18日(土)設計2008年11月1日(土)~3日(月)合宿あらかじめ経験者のみでメンバーが成り立っている場合は、もうちょっと短期間でオンラインのみでサクサク話が進むかもしれません。今回は未経験である上に、特殊なメンバー構成でもあったので、前準備に時間をかけた方だと思います。