私は、他の回答では対処されていないいくつかの側面を説明しようとしますが、IMOは重要です。
基本的な問題は次のとおりです。一部の開発者は、主に難しい作業をして、設計を考え、潜在的な問題を考え、次に問題を部分的に解決し、他の人との最小限の相互作用のみで、期間。彼らは通常、高品質のタイムリーな方法で作業を完了します。それらの作業は保守可能であり、全体的なアーキテクチャに適合しています。
この種の開発者は、アジャイルな環境に適応するのが難しいと感じるかもしれず、彼らの態度は、しばしばエゴや昔ながらのことに関連する「変化への不本意」として却下されます。
しばしば無視されるのは、複雑な問題を解決するために多くの情報を処理する必要があり、これには多くの分析、思考、試行、ソリューションのスケッチ、破棄、別の試行が必要になる場合があることです。このような複雑な問題には、完成したソリューションが得られるまで数時間から数週間の集中的な作業が必要になる場合があります。
1つのアプローチは、開発者が問題の仕様を取得して自分の部屋に行き、2/3週間後にソリューションを取り戻すことです。開発者はいつでも(必要な場合)、チームの他のメンバーまたは利害関係者(特定の問題に関する質問をする)とのやり取りを開始できますが、ほとんどの作業はタスクを割り当てられた開発者が行います。
アジャイルシナリオでは何が起こりますか?チームは、迅速な分析(グルーミング)の後、問題を小さなチャンク(ユーザーストーリー)に分割します。ユーザーストーリーは互いに独立していることが望まれますが、多くの場合はそうではありません。複雑な問題を本当に独立したチャンクに分割するには、通常、数日間作業した後に得られる知識が必要になります。言い換えると、複雑な問題を小さな独立した部分に分割できる場合、それは基本的にすでに解決済みであり、勤勉な仕事しか残っていないことを意味します。たとえば3週間の作業が必要な問題の場合、これはおそらくスプリントの最初の数時間にグルーミングを行った後ではなく、2週間目に当てはまります。
そのため、スプリントが計画された後、チームは互いに依存関係がある可能性のあるさまざまな問題の塊に取り組みます。これは、同じように良いかもしれないが、お互いに異なる異なるソリューションを統合しようとする多くの通信オーバーヘッドを生成します。基本的に、試行錯誤の作業は、関係するすべてのチームメンバーに分散され、追加の通信オーバーヘッドが発生します(二次的に増加します)。これらの問題のいくつかは、特にポイント7のPaul Grahamによるこの記事で非常によく説明されていると思います。
もちろん、チームメンバー間で作業を共有すると、プロジェクトを離れる1人のチームメンバーに関連するリスクが軽減されます。一方、コードに関する知識は、他の方法、たとえばコードレビューを使用したり、同僚に技術的なプレゼンテーションを行ったりすることで伝達できます。この点で、私はすべての状況に有効な特効薬があるとは思わない:共有コードの所有権とペアプログラミングが唯一の選択肢ではない。
さらに、「より短い間隔での作業機能の配信」により、ワークフローが中断されます。機能のチャンクがスプリントの終わりまでに完了することができる「ログインページにキャンセルボタンを追加する」の場合、これは問題ないかもしれませんが、複雑なタスクで作業している場合、そのような中断は望ましくありません: 100 kmの速さで車を運転し、5分ごとに停止して、どれだけ遠くまで到達したかを確認します。これはあなたを遅くするだけです。
もちろん、頻繁にチェックポイントを設定することは、プロジェクトをより予測可能にすることを意味しますが、場合によっては、中断が非常にイライラすることがあります。
ですから、質問で述べられている態度は、変化に対するエゴや抵抗にのみ関係しているとは思いません。また、一部の開発者は、上記の問題解決のアプローチをより効果的であると考える場合があります。これにより、開発者は、解決している問題および作成しているコードをよりよく理解できるようになります。そのような開発者に別の方法で作業を強いることは、生産性を低下させることになります。
また、チームの一部のメンバーが特定の困難な問題について単独で作業することは、アジャイルな価値観に反するとは思いません。結局のところ、チームは自己組織化し、長年にわたって最も効果的であることがわかったプロセスを使用する必要があります。
ちょうど2セントです。
There’s a great story of a manager of a Coca-Cola plant whose numbers were far better than his peers. When asked what his “secret” was, he said simply that rather than take a best practice and modify it to meet what the plant did, he instead modified the plant to match the best practice.
なぜあなたがそれをするのか理解するまで、あなたはアジャイルをしていません。