OpenStack Lego Town
すでに先週のこと(2/3)になりますが、OpenStack Days Tokyo 2015が品川で開催されました。そのなかで、OpenStackのコミュニティ開発者になるための実践的なトレーニング「Upstream Training」が開催されました。そのプログラムのひとつに「OpenStack Lego Town」があり、これが弊社のレゴスクラムとよく似ていることからお声がけをいただきましたので、運営のお手伝いをしてきました。
要求にしたがって街をレゴで作る、というところまではレゴスクラムと同じです。ですが、いくつかの点で違いがあっておもしろかったので取り上げてみます。
役割
- Upstreamチーム:1チーム
- 街のオーナー。代表者がひとりいる。自分たちでも街を作っている。ブループリントの承認や成果物のレビューを行う。
- Companyチーム:4チーム(当日の人数の都合)
- 街の住人。代表者がひとりいる。自分たちでも街を作っている。ブループリントが承認されたもの以外は作ってはいけない。成果物はUpstreamチームに承認してもらわなければいけない。
- フリーのコントリビュータ:数名
- 開発チームと役割は同じだが、チームではなく個人で動いている。
分散型になっているのがおもしろいですね。フリーのコントリビュータというのも、いかにもOSSっぽくてよかったです。本当はスクラムマスターもいたんですけど、私が「そんなの要らないですよ!」と言って外してもらいました。他にも役割がいろいろありましたが、最終的に上記のようにシンプルになりました。
「ブループリント」というのはOpenStackの開発で使われている用語で、「機能提案書」を意味しています。当日は付箋紙に「学校」や「寺院」と書くだけの、簡単な提案書になりました(本物はちゃんとしてます)。アジャイル開発だとユーザーストーリーと呼ばれるやつですね。前回は口頭で伝えていたようだったので、きちんとブループリントを付箋紙に書いて、プロダクトバックログに配置してもらいました。
開発の流れ
- Upstreamチームがブループリントを事前に用意して、プロダクトバックログ(ホワイトボード)に放り込んでおく。
- 各チームが担当したいブループリントを提案/選択する。
- 作り方を計画する(5分)
- 実際に作る(10分)
- Upstreamが成果物をレビューする(10分)
- 成果物が受け入れられれば、中央にある街(masterブランチ)にマージされる。
- 受け入れられなければ、作り直し。もしくは作るのを諦める。
- 2に戻る。これを3〜4回繰り返す。
だいたいレゴスクラムと同じですが、分散型なのでmasterブランチがあるのが大きな違いです。マージしなければいけないので、成果物の大きさや色味が厳しくレビューされていました。計画の5分とレビューの空き時間もあわせて合計15分以上で作っているチームもあって(本当はダメなんですけどw)、どのCompanyチームも成果物のクオリティは高かったと思います。レゴスクラムだと実装時間が7分しかないので、そこまでのものを作るのは大変ですね。
担当者の方から「おかげさまで演習が前回よりもうまく進んだように実感しています」と言われましたので、ひとまず成功だったのではないかと思います。次回はもっと改善されていると思いますので、機会があったら参加してみてください。
弊社のレゴスクラムも定期的に開催していますので、こちらもよろしくお願いします。