I've come up with a concept, and I'd like to know what others think. This would make the projects based on small groups, not all in the same location at the same time, to increase cooperation and decrease lag. It should also expand the time horizon in general. There are probably some problems with the details, but I hope the general idea makes sense:
When the project starts, the Vendor will have a certain number of contracts, say 1000. You may go and buy exactly 1 contract for the project for a (reasonable) fee. The contract will be based on a random skill and level you have, say Alchemy I. You must then go find a team of people, say 10, that have the exact same skill and level, who will sign the same contract.
The contract must be fulfilled by either doing work using that skill or contributing items made using that skill. To do this the team must go to any shrine of the primary Giant of that skill and pick the option to fulfill the contract. They then do the work, such as mixing, or pay the items, such as compounds, at the shrine. There should be a reasonable time limit to get this done, so you may need to prepare your tools or make items after you get the contract but before you fulfill it.
If the contract is not completed within a good amount of time after it is bough (I'm thinking at least a day), your team is fired. The Vendor would then be able to issue a new contract to any player that goes to buy one, so that the total of finished contracts will be the same as they started with. If you complete a contract you may buy another one, perhaps with a bit of cool down time. If we want to keep the phase idea, the contracts could come out in batches, and weight heavily toward certain kinds of skills by phase.
I think this will help the collaboration problem, because you actually have to form working teams that act together for a certain amount of time to get each contract done. You can choose teams from your friends, or meet new people. It helps with lag because you probably have to go elsewhere to get it done. It helps spread out the level of the participants, since it will draw on a wide variety of skills and levels. I think it makes it less boring, because you can't be too sure what you will need ahead of time. What do folks think; would this be a useful concept for improving projects?