はじめての開発合宿 :: 幕の内 - CMS - コンテンツマネジメントシステム

はじめての開発合宿

先日3月23から2泊3日の日程で開発合宿を行いました。海辺のペンションにノートパソコンを持った集団が集います。普段の業務から離れ、各自、思い思いの開発を行いました。

お宿

開催場所は伊豆の宇佐美です。初合宿でお世話になったのは シーベアー・アネックス です。今回、金曜日に3人・土曜日から5人という変則的な人数構成だったにもかかわらず柔軟に対応していただきました。また、宿で無線LAN環境が用意さ れており、一部のノートPCが電波を捕まえられないという若干のトラブルがありつつも、最終的には無事合宿を終えることが出来ました。

シーベアー アネックス 室内の様子 (YouTube)

朝食
朝食

夕食
夕食

室内唯一のテーブル
室内唯一のテーブル

室内にはテーブルが1つ、椅子が2つ、ソファーが1つ、ベッドが5つでした。あまり開発向きというわけではありませんでしたが、天井が非常に高かったので狭苦しい感じはありませんでした。むしろ、洋室でありながら好きな体勢で開発できたためか、なかなか好評でした。電源は、コンセントが少なかったので持ち込んだ電源タップで拡張。他にも無線LAN -> 有線LAN変換やHUBなどももちこんだのですが、自分は肝心のノートPCの電源ケーブルを忘れてきてしまいました‥‥。1日目はLet'sNoteの電源をIBMノートにおそるおそる繋いでしのぎ、2日目は、2日目から参加のメンバーに会社からもってきてもらって事なきを得ました。

合宿の目標


合宿期間中の各自の目標
合宿期間中の各自の目標

イーゼルパッド (A1サイズのPOST-IT)を壁に貼り、ゲルマーカーで各自のToDoを書いてもらいました。今回の合宿は共同作業でもサービス立ち上げでもないので、各自けっこうばらばらな目標になりました。でも振り返ってみると、みんな1個か2個の目標を書いていて、10個もToDoを書いたのは自分くらいでした。欲張りすぎたかな?

各自の目標は以下のような感じです。
  • メモツール作成
  • python nose について調べる
  • フレームワークに依存しないHTMLコンテンツDeploymentの検討
  • Mozart/Ozの勉強
  • TurboGearsのオレフレームワーク作成(Python合宿の続き)

成果発表

成果発表するまでが合宿です!ということで、2日目から3日目にかけて各自に成果発表をしてもらいました。成果発表を合宿中の開発の目標にすることで、ダレること無く開発に集中出来るし、なにより技術共有になるので、成果発表は欠かせません。

  • TurboGearsの俺フレームワーク作成
    • ajax.jsとMochikit.jsの連携でちょっととまどう
    • widgets.LinkRemoteFunction便利
    • RemoteFormのvalidationエラー処理を実装
    • プレゼン中にバグ。テスト重要。というかコードまとめ切れてない
    • 成果物を公開するまでが合宿です! (TurboGearsのお手軽Controller
  • Mozart/Oz
    • 宣言型言語で並列処理が言語レベルで用意されている。
    • マルチパラダイム言語。10個くらいのパラダイムが入ってる
  • メモツール
    • kahua web 使用
    • 今使っているメモツール(kahua webで階層型Wiki)の限界
    • ロジック/HTML/CSS/Javascript全てを S式 で記述
  • python nose
    • discovery test framework
    • 発見型。命名規則でtest関数を見つけてくれる
    • 実現しようとしてることはpy.testと同じ?
    • pluggableに作られている
  • HTMLコンテンツDeploymentの検討
    • CMFDeploymentは...
      • 設定が複雑
      • プログラムも複雑
      • CMFにべったり
    • フレームワークに依存しない仕組みが欲しい
    • 他のWebフレームワークでも使えるようにしたい
    • HTML出力、配信、などの機能を個別に扱えるようにしたい
  • py.py
    • CPythno上で動作するPythonで書かれたPython処理系
    • PythonコードをC言語にトランスレートする機能
      • 関数オブジェクトを渡すだけ
      • フローチャートが表示される(PyGameが使われている)
      • C言語にトランスレートして実行できる
      • トランスレート後の関数は処理が爆速

既に成果物を公開しているものもありますが、それぞれ、公開できる範囲でここで出していきたいと思います。

ふりかえり

KPTするまでが合宿です!ということで。

Keep

  • 2泊にしたおかげで2日目の時間をフルに使えた
  • ネット環境は必要
  • メディアコンバーター(無線→有線)とHubは必須
  • 報告会での意見交換は勉強になった
  • 自然の中での開発は気持ちが良い
  • 息抜きにカードゲームで交流
  • 良い宿だった。
  • 洋室必須。
  • 宿の料理がおいしかった
  • 割り込みがほぼなかった

Problem

  • ToDoを欲張りすぎた
  • 目標をもうすこし明確にしたほうがよかった
  • 金曜日夜から始めると仕事の疲れが加算される
  • もうすこしちゃんと寝るべきだった(5時間睡眠)
  • 無線LANつながらないことがあった
  • 初日は飲み物が少なかった
  • 2日目は酒とお菓子を買いすぎた
  • 外食を豪華にしすぎた
  • 食べ過ぎ飲み過ぎに注意
  • 天気予報に注意
  • 持って行くものはリストにしておこう!(ノートPCの電源とか)
  • 宿が駅から少し遠かった

Try

  • 2ヶ月に一回くらいやろう
  • 3連休を使うのがよいかも
  • 意見交換をもっとたくさん
  • 成果や経過などをWebで公開
  • 社外の人も入れても良いかもしれない
  • 共通のお題があるといいかもね
  • 合宿明けは休みたい。
  • 合宿のテーマを事前に明確にしておいた上で、合宿に突入する
  • 伊豆よりももう少し東京よりの場所でもいいかもしれない
  • おいしく適度に食べる

参考になるサイト

合宿が終わってから知ったのですが、以下のような開発合宿するにはとても参考になるサイトがあります。次回開催時の参考にさせてもらおうと思います。
最終更新日: 2007/04/13
日本語全文検索KabayakiBOX 日本語全文検索KABAYAKI コミュニケーションポータル オープンソースウェブ ウェブフレームワークKahua オンライン出版サイトKarretta
本サイト上で記載されている製品名および商品名は、それぞれの会社の商標または登録商標です。
幕の内 (R) は Time Intermedia Corporation の登録商標です。
はじめての開発合宿 :: 幕の内 - CMS - コンテンツマネジメントシステム