こんにちは、チームを 2 つのグループに分けることはできないと思います。
@Guge は、これらのグループのメンバーに対する経済的および政治的影響をカバーしています。
そして、もっとあります:
1) スピード グループはコードの品質を気にしません。
2) 品質グループは、いくつかのコードをより良いものに書き直します。Speed Group はこのコードにいくつかの新しい機能を追加しますが、これもコードが見苦しくなります。
3) スピードグループは新しい機能を追加しようとしています。リファクタリングされていないコードに。彼らはリファクタリングをしません (彼らは報酬を支払われていないので、リファクタリングを行ったり、作業が遅くなったりすると経営陣は怒ります)。
4) 新しい機能はありません。$$$ がないということは、賃金が低いということは、割り当てられた開発者が劣っていることを意味し、速度と品質が低いことを意味します。
5) より優れた開発者は、グループをスピードに変更する方法、または作業を変更する方法を見つけるでしょう :)
5) 品質グループがサブシステムの速度を改善する場合、スピードを落とさないように既存のコードにパッチを適用することを拒否する可能性があります。
では、このような状況を防ぐにはどうすればよいでしょうか。
あなたの管理者と話してください。新しい機能間のバランスを維持する必要があります。そしてコードの質。優れたコードのみが、迅速な変更の導入や新しい機能の実装を可能にします。高速で。
良い議論は、醜いものに進化した下手に書かれたコードやアーキテクチャは負債であるということです. あなたがそれを支払わないとき、毎月の利息は急速に増加します。おそらく 1 か月間支払わない余裕がありますが、それ以上は支払わないでください。
強調するために、クレジットカードを手に入れることができます。
チームの仕事が多すぎて締め切りに間に合わない場合は、大声で話す価値があります。しかし慎重に;)
また、すべてのプログラマーはリファクタリングして睾丸を作成する必要があります (関連する場合)。例外なし。今日は少しリファクタリングし、明日は少しリファクタリングするだけです。
Trick with credit card は Fowler "Refactoring" <- 素晴らしい本から借りてきました。
PS 「死の行進」のようなハード開発のみを推進するプロジェクトがあります。経済的に理にかなっています(プロジェクトは、限られた費用で期限内に成功した場合にのみお金を稼ぐためです。症状は、必要以上に少ない開発で長時間にわたって一定の作業を行うことです)、私の提案はそれに当てはまりません