誰もがこれがとても良いことだと思っていることに驚いています。Peopleware(IMOは、実際に読む価値のある貴重な数少ないソフトウェアプロジェクト管理書籍の1つです)の著者は、強く反対しています。本のパートIVのほぼ全体がこの問題に専念しています。
ソフトウェアチームは非常に重要な機能単位です。チームは、本当に生産的になるために大声で話す必要があります。それは時間(とり多くの習慣や癖や強みと弱みお互い学ぶために、敬意をお互いを獲得するために、チームメンバーのための時間のを)。
確かに、個人的な経験から、私は特定の人々と1年間働いた後、私を苦しめた特定のことを笑い飛ばすことを学んだ、チームリーダーとしての私の推定ははるかに優れており、それはそれほど難しくないすべての人が幸せになるように作業を配布します。最初はそうではなかった。
「ああ、でも私たちはチーム全体を分割するのではなく、ほんの数人を動かすだけです」と言うかもしれません。ただし、(a)代替品が最初にどれだけ盲目的に非生産的になるか、および(b)自分や他のチームが「Xが本当に好きだった」または「これは持っているだろう」 「Yがまだ残っている」ことで簡単になりました」、新しいメンバーを微妙かつ無意識に怒らせ、既存のチーム内で分裂を引き起こし、「古い」メンバー間で不満を植え付けさえしました。
もちろん、意図的にこれを行うわけではありませんが、それはほぼ毎回発生します。人々は考えずにそれをします。そして、彼らがそうしないように強制した場合、彼らは最終的に問題にさらに集中し、強制的な沈黙に失望します。チームやサブチームでさえ、相乗効果を発揮します。相乗効果は、構造に手を加えたときに失われます。ピープルの著者は、「teamicide」の形と呼んでいます。
ことでは回転していても、言ったチームメンバーが回転し、恐ろしい練習で自身がチーム完全に罰金です。よく運営されているソフトウェア会社には製品の所有権という概念がありますが、チームが実際に古いプロジェクトを終了するか、少なくともプロジェクトに持ち込む限り、チーム全体を別のプロジェクトに移動するのはチームにとってそれほど混乱しません彼らが満足しているレベル。
開発者スティントの代わりにチームスティントを持つことにより、ユニットとして各チームに悪影響を与えることなく、回転する開発者に期待されるのと同じ利点(ドキュメント、「他家受粉」など)をすべて得ることができます。本当に管理を理解していない人にとっては、生産性が低いように見えるかもしれませんが、チームを分割することで失われる生産性は、そのチームを別のプロジェクトに移動することで失われる生産性を完全にdします。
PSあなたの脚注で、あなたはローテーションしない唯一の人が技術リードであるかもしれないと述べています。これは、両方のチームを台無しにすることがほとんど保証されています。技術リーダーはマネージャーではなくリーダーであり、チームの尊敬を得る必要があり、より高いレベルの経営陣から単純に権限が付与されるわけではありません。チーム全体を一緒に仕事したことのない新しいリードの指揮下に置き、アーキテクチャ、ユーザビリティ、コード編成、見積りなどについてさまざまなアイデアを持っている可能性が非常に高いです...まあ、それは地獄のようにストレスになります信頼性を構築しようとしているリードと、古いリードがないために結束力を失い始めるチームメンバーにとって非常に非生産的です。時には企業が持っているこれを行うには、つまり、リードが終了したり昇格したりする場合でも、選択によってそれを行うと異常に聞こえます。