このドキュメントの目的
当ドキュメントは http://coderetreat.org/facilitating/activity-catalog の翻訳を基に、Coderetreatのファシリテーターになる方の助けとなるドキュメントをまとめたものです。
制限カタログ
Coderetreatがスタートしたら、Coderetreatの間、ファシリテーターは参加者に、やるべき活動や制約、課題を追加できます。しかし、もあしあなたがファシリテーターとしての経験が浅いのであれば、いつ、どんな活動を追加すべきかわからないでしょう。このページでは追加する制約や課題をカタログにまとめました。
ここにまとめられた制限の多くは、コードを書くことを異なったやり方で設計する手助けをします。どの制限も異なる学びを念頭においています。
Coderetreatでは下記のリストにまとめられた制限のみ追加できる、とは考えないでください。参加者と共にCoderetreatを進める上で、ベストな制限を見つけたのであれば、是非それを実施してください。むしろ、ここにあげられた制約を全く使わなくても良いのです。
新たも制限の提案するには
このリストに加えるべき制限があれば、ファシリテータグループフォーラムにある「セッションの間に参加者に課せられた制限がどんな練習になるの?(What are some exercises and constraints that people use during sessions?)」というトピックに投稿してください。
(注意:グループに投稿するには、予めグループに参加する必要があります。)
制限
基本
簡単な制限のため、経験の浅いグループによいでしょう。
- ピンポン(ぶつかり稽古) テストコード実装者とプロダクションコード実装者というように、セッション中に役割を決める。
- ペアプロのナビゲータとドライバを固定する。
ツール制限
他のツールを使った時、より使いこなせるようになるために、開発者のツールを使わないようにする制限です。
- マウスを使わない
- テキストエディタを使わない
- 紙に実装する
言語機能制限
言語によくある機能を制限することで、より良い抽象化を学び、身に付けるための制限です。
- プリミティブを直接使わない
- 条件文を使わない
- ループを使わない
品質的に制限する
開発者としてより良いコードを書く練習をするための品質的な制限です。
- メソッドの実装行数を4行以下にする
- Immutableなクラスのみにする。
視点を転換する制限
Activities designed to stretch a group. Most of these activities tend to try to push developers into new ways of thinking about their code.
下記の一覧は視点を転換するための制限です。視点を転換することで、参加者がコードを書く時、新しい考え方で実装することを挑戦させます。
- クラス名に名詞を使わず動詞を使う
- セッション中、別のペアとコードを交換する
- ルールの抜け穴を小さくする
- あなたの考えるTDDを実践する