I have a client that recently laid off 40 developers who worked a single java project for 3 years without being able to produce a workable piece of software. I recently had a thought, rather than having all 40 developers work together on the same project and create all sorts of bugs, would it be better to create small competing teams?
So the layout would be you have a single project that needs to be done. And you have break the development group into 10 teams of 4. Each week you check the progress of each team and you eliminate a team that isn't performing. By the end of a few months you narrow it down to the top 3 and pick the solution that is the least buggiest to release with. Thoughts?
UPDATE: I have advocated paying 4 developers 250k a year and grab all the top talent out there but companies refuse to do it. You can't convince managers that one programmer is 10x better than joe programmer. The reality being joe programmer will probably cause a lot of harm to the project ala spegetti code and horrible programming worthy of thedailywtf.com. I'm not saying fire the losing teams, just put them on bug fixing projects, or maintenance. The competition is to create the new code base.