チームルーム
2010年6月14日
アジャイルプロジェクトでは、開発チームが一つのオープンなチームルームに集まって作業することが一般的です。これはエクストリームプログラミングの初期から提唱されており、第二版では主要なプラクティスの一つとして挙げられています。アジャイリストは、オープンなチームルームがチームメンバー間の多くの非公式で深いコミュニケーションを促進すると考えています。

理由
ソフトウェア開発は、緊密な協調作業を必要とする集中的な活動です。オープンスペースは、人々の間の定期的な会話や交流を促します。皆が何をしているのかを見ることができ、必要な時に簡単に助けを求めることができます。多くの場合、偶然のコミュニケーションが発生し、非常に役立つ情報を耳にすることがあります。
これを聞いて、騒音について懸念し、個室を好む人もいます。実際には、チームは騒音を深刻な問題とは感じていません。結局のところ、ペアプログラミングはこの開発スタイルにしばしば伴い、会話のざわめきがあるものです。しかし、会話は通常それほど気を散らすものではありません。特に、ペアとの会話に集中している場合はそうです。それほど気を散らさない理由は、チームが協調的な活動において共通の目的を持っているからだと思います。これは、誰もが異なることをしているオープンなオフィスとは比較になりません。
効果的なチームルームのためのヒント
まず、チームの規模に合った適切な大きさであることを確認してください。チームルームは内部ではオープンであるべきですが、外部の人々には閉鎖されている必要があります。理想的には、チーム同士を隔離できるフレキシブルな壁があり、オフィスはチームのポッドで構成されています。これは実際には難しいです。私たちのオフィスは完全にオープンで、チーム間の障壁はほとんどありません。チーム間の騒音に関する不満はありますが、これは十分に機能しているように見えます。
自然光に注意してください。人間は外界を見ることに慣れています。あらゆる種類の自然のリズムは光によって機能します。そのため、十分な光がないと人が不機嫌になるのは当然です。私は密閉された会議室で多くの時間を過ごしましたが、確かに私のエネルギーを消耗させます。
十分なスペースを確保する:1人あたり約50平方フィート(メートル法を使用する場合は4.5平方メートル)。
適切なスペースがあれば、次に重要なことは、チームがそのスペースを管理できることです。アジャイル思考の重要な部分は、チームがどのように機能するかを責任を持つことであり、スペースの構成方法はその一部です。理想的には、チームに自分のスペースを完全に管理させ、自由に構成し、必要に応じて再構成できるようにする必要があります。プロジェクトの変更に伴い、チームは物事を変更する必要があるため、物を簡単に移動できるようにする必要があります。

北京オフィスの特注テーブルには、電源やその他のケーブルを入れる便利なバスケットが付いています。
その直接的な結果として、設備グループが1インチ以上動かす必要があるモジュール式家具はすべて廃止することになります。私が見てきたほとんどのチームはシンプルなテーブルを使用しており、ここでは確かに安く済ませることができます。
最大の面倒は配線です。主に電源とネットワークアクセス用です。理想的には、テーブルの位置に関わらず、人が簡単にテーブルに配線を接続できるように、床下または頭上に配線する必要があります。
家具にお金を掛けるべきところは、高品質の椅子です。プログラマーは長時間座っているので、姿勢の悪さによる身体的な損傷はチームの生産性に直接影響します。ですから、ここでケチってはいけません。ボールやニーリングチェアなど、変わった椅子を好む人もいるかもしれません。できる限り対応しましょう。
座っている高さとかけている高さの間で調整できるテーブルを好む人もいます。しばらく立っていることで腰痛が軽減されると感じているからです。これらは見つけるのが難しいですが、チームメンバーが必要とする場合は検討する価値があります。腰痛はよくある問題ですが、皆の痛み(と治療法)は異なります。
アジャイリストは情報ラジエーターを好むので、多くの壁面スペースが必要です。情報ラジエーター ストーリーウォール、アーキテクチャダイアグラムなど、人が壁に貼りたいものをたくさん置くスペースが必要です。この壁面の相当部分をホワイトボードにして、気が向いた時にいつでも何かを描けるようにします。車輪付きのホワイトボードも用意しましょう。ボードの内容を簡単に記録できるように、デジタルカメラを用意しておきましょう。ディスプレイが安価になった今、壁面ディスプレイ用のディスプレイを用意することを検討しましょう。これは、ビルド状況などの動的なディスプレイに特に便利です。あるチームが、さまざまな種類の情報ディスプレイを映し出すプロジェクターを壁に向けて設置しているのを見たことがあります。
従来のレイアウトでは、人々はデスクの塊の周りに作業しています。これにより、チームの他のメンバーと定期的に視覚的な接触を取ることができます。しかし、UPodを高く評価する多くの人々の話を聞いてきました。
時々、プライベートな空間が必要になる場合があるので、電話付きの小さな会議室を1つか2つ用意してください。これらはプライバシーのために、または気が散ることを懸念する場合に使用できます。作業スペースとは別に、チームが会議のために集まることができる大きな会議室も便利です。
私は常に多くのモニタースペースの熱烈な支持者でした。複数の仮想ワークスペースを持つ巧妙なソフトウェアは素晴らしい機能ですが、目を動かすだけよりも速いものはありません。すべてのワークステーションには、最低でも20インチのモニターを2台用意する必要があります。私のデスクには、Ubuntuマシン用の20インチモニター2台と、Macラップトップ用の25インチモニター1台があります。私はそれが全く過剰だとは思いません。
ソフトウェア開発は本質的に創造的な活動なので、多くの飾り気のある気が散るものを期待してください。おもちゃは私たちのチームの周りに一般的に見られます(ニール・フォードが言うように、「すべてのチームにはプラスチックのカンガルーが必要です」)。これは価値があるという良い認知的理由があり、脳を刺激し、創造性を維持すること全てに関わっています。
同様に、軽食や飲み物へのアクセスを容易にしてください。これは、チームエリアでの非公式な、会話による休憩をサポートするのに役立ちます。ひどいコーヒーにお金を払わなければならないときは、創造性を発揮するのは難しいです。
リモートワーカーと協力している場合は、ビデオリンクの設定を容易にしてください。実際、多くのチームは、カジュアルなビデオ連絡を常に維持できるように、リモートワーカーへの永続的なビデオリンクを備えています。
便利なリンク
- チームルームに必要なもののInfoQサマリー。
- ウィリアム・ピエトリが使用したチームルームについて説明しています。
- ビル・ウェイクのチームルームとチャートのギャラリー。
- レイチェル・デイビスによるアジャイル環境の構築に関するアドバイス。
- ジョエル・スポルスキーは、おそらく単一のチームルームではなく個々のオフィスを使用するための最良の例示です。
- ラジーブ・シンによるThoughtworksインドでのこの種のチームルームへの移行に関する考察。
- Menlo Innovationsのスペースの写真と議論。
この情報の編集に協力してくれたThoughtworksの同僚に感謝します。