私のスプリントチームには、長年の開発者がいます。彼らはドメインを知っており、5年以上会社に勤務しており、チームとしてはかなり良い燃焼率を持っています。
他のスプリントチームもあります。同じくらい知識のある開発者がいるチームや、新しい開発者がいるスピードの速いチームもあります。
私のマネージャーは、すべての卵が1つのバスケットに入っていることを心配しており、いくつかの新しい人と引き換えに1人または2人の知識のある開発者を交代させたいと考えています。私は彼らの要点を見ることができますが、それに伴う問題も見ることができます-他にもあると確信していますが、これらは私の頭の上のほんの少しです。
組織がアジャイルに苦労していることを付け加えたいと思います。これは伝統的なウォーターフォール開発会社であり、リリースに含まれると予想される大きなリリースやアイテムをまだ考えています。
もしあなたがこれと同じような状況にあったなら、私はあなたが経験したことを知りたいと思います-チームメンバーを交替させることはうまくいきますか?ペアプログラミングまたは他の方法がより良い方法でしょうか?
1つの可能性:チームメンバーを交代させることによる生産性の低下を懸念している場合、マネージャーは正しいアプローチをとっており、真剣に懸念している可能性があります(彼が善意である場合)。
企業が成長するにつれ、当面の生産性への関心が薄れ、継続性と予測可能性への関心が高まります。ビジネス継続性、キーパーソン依存性、技術的活力などの問題が発生します。同じ人々が何年も密接に連携しているため、誰も出入りしない人はほとんどいないので、赤のバスだと思います...より一般的には、Boom( Big Bucket of Money)がチームに複数の損害を与えます。
新興企業を存続させるには、あらゆるコストで高いスループットが重要ですが、技術的負債と非技術的負債の両方にコストがかかります。一貫した、再現可能な、予測可能なプロセスは、純粋なスピードよりも、確立された企業にとってより重要です。 (亀とうさぎを考えてください)
長期的な離職率の高いサイロ化されたチームは、大企業の管理にとって非常に現実的な問題です。あなたは小さな会社から大きな会社にトランジションしていますか-より微妙に。 「大小」企業から「小大」企業へ?
これが本当に状況である場合は、変更に抵抗していることを本当に見られたいかどうかを判断する必要があります。
「新しい開発者が退職しました。すごい多くの時間を無駄にしました。」
これには古典的な反応があります。この開発者のトレーニングに時間を費やさずに、彼が会社に留まることに決めたのはなぜですか。
私の意見では、開発者はチーム間でローテーションすることをお勧めします。通常、これにより、開発者は会社全体をよりよく理解し、新しい開発者に多くの学習機会を生み出します。
もちろん、チームの速度は変化します。チームの速度は開発者によって定義されるため、通常、チームの変化は常にチームの速度を低下させます。しかし、あなたはこの新しい開発者のトレーニングと会社の将来に投資しています。この速度の低下は投資のコストであり、コストなしでは利益を得ることができません。すべてのインテリジェントマネージャーがこの単純な事実を理解しているなら彼が理解できる言語で彼と話しなさい。
新しい開発者は、少なくとも1人の経験豊富な人が常に質問するため、作業率を下げます。
これは適度に良いことです。
すべてのプロセスには、ツール関連、設計関連など、数え切れないほどの摩擦の原因があります。問題は、気づかない摩擦の原因の多くです。誰かが参加することは、新鮮な目をもたらし、あなたがしているすべてに疑問を投げかけ、優れたフィードバックループを提供します。
このフィードバックループは明らかな場合があります。Yの代わりにXを実行する理由を尋ねられますが、Yは確かに優れたアプローチです。
時にはそれはより微妙になるでしょう-あなたは特定のモジュールについて多くの質問を得ています、そしてそれはモジュールがうまく設計されていないというフィードバックです。
はい、チームに新しい人がいると、直線速度が遅くなります。また、フォローしている直線が最適な直線であるかどうかも確認できます。
なぜこれはすべて否定的であるべきですか
新しい人々は新しいアイデアと洞察をグループにもたらします:
チームのやり方を彼らに説明する必要があることで、チームの人々は挑戦されます:
そして、別のチームに参加している人々は挑戦されます:
それはあなたのグループのダイナミクスを変え、他の人々がより多くの責任またはより上級の役割をとるように後押しを与えるかもしれません。
私にとって、ローテーションは、グループ内の技術およびドメインの知識を持つ開発者の数が十分に多い限り、グループを豊かにすることができます。
チームメンバーを交代させることはできますか?
「仕事」を定義します。
チームメンバーを交代させると、文化が(良いか悪いか)さまざまなスプリントチームに広がることがあります。人々は以前には存在しなかった友情を築くことができるため、時にはチーム間のチームワークを構築することができます。
個人的に、それだけの価値はないと思います。ドメインナレッジの普及は遅すぎ、リスクは高すぎます。また、ドメインナレッジは、ほとんどのマネージャーにとってほど価値がありません。
チーム間の良好な個人的な関係を促進したい場合は、people間の良好な個人的な関係を促進する必要があります。私の経験では、変化(チームの社会的状況の変化)とボスの命令で人々にストレスを与えることは、その点で彼らを成功に導くことはできません。