(Fri)開発室と非開発室、分離のススメ弊社内の取り組みや制度について御紹介するシリーズ(勝手にシリーズ化)。以前にエントリで朝夕のミーティングを必ずやっている事について書きました。休憩時間1時間を除いた合計7時間が開発の為の時間になります。エンジニアにはこの限られた時間を全力疾走して開発をして欲しい。他の要素すべてを廃してただひたすらキーボードを叩き続けて欲しい。没頭して開発出来てる(ゾーンに入っていると言います)有限な時間が一番生産性が高いからです。欲しいのは最高のパフォーマンス。そこで、生産効率を最大化する為に開発行為を阻害する全要素を執拗なまでに徹底排除してまして、その一つが部屋の分離です。大きな会社さんなら当たり前かも知れないですが、ウチは5人と小規模ながら敢えてやっています。下の図は弊社が借りてる階の一部。同じフロアで2部屋借りてまして、緑色が非開発室、ピンク色が開発室です。為の部屋(受付、ミーティング、倉庫、電話)こんな風に、開発以外のすべての要素を非開発室に閉じ込めるようにしてます。僕が社外の方と打ち合わせる場合は来客頂く場合が多いのですが、話し合いの声がエンジニアの集中力を削がないように別室でのミーティングを徹底してます。お茶入れも今はエンジニアにやって貰う事はありません。人がいない場合は僕がやったりします。これもエンジニアの開発行為を阻害しない為。社内ミーティングも全員参加でない場合は基本的に非開発室へ。来客受付も非開発室へ。僕の携帯に電話がかかってきた場合は、僕は部屋を出て非開発室に移動して話をします。全てにおいて気にかけているのは開発室を集中できる環境として維持する事。こんな感じの扉のマグネットを確認せずに飛び込み営業がこようもんなら、「読めませんかね?」と即刻出入り禁止宣言する勢いの如く僕の逆鱗に触れます。これは極端な例ですけども、とにかくエンジニアの没頭時間(ゾーンタイム)がなるべく長くなるよう徹底しています。著名なトム・デマルコのピープルウェアという書籍に感化され過ぎてる感は否めませんが、実際、非開発的な要素を全て開発的な空間と分離する事で、集中力維持が可能な環境は容易に作れます。エンジニアにとってのノイズを取り除くということ。サーバ側・クライアント側が怒涛の勢いでバージョンアップしていたり...等々に現れています。エンジニアリングと非エンジニアリングの物理的な分離(ハード的な分離)はホントお勧めです。会社の規模に依らずですね。加えて更にソフト的な分離も徹底すると効果的です。主にはメールだったりタスク管理だったりするのですが、少し長くなってきたので次回書いてみたいと思います。