Apply the concept of an RFP to the Team Selection approach.
Have a cost (est) and incentive pricing formula.
Have team members bid on projects as if they were independent suppliers.
Both in terms of scope and cost.
Scope is defined as a set of deliverables which can include items such as estimated time guarantees, documentation, build scripts, unit testing coverage, rewrite vs. refactoring work.
It becomes a contract between the supplier and the client.
The RFP would be evaluated by the team as part of a selection process.
Have the team police themselves and the coder select and define their own deliverables as part of the larger scope of work of the project.
A bidder could elect a reduced benefit to allow for a learning opportunity.
The areas of the project would have a weighted selection process.
Scope, Estimate, Difficulty
# of days * difficulty rating
A junior could get a project of higher difficulty by applying a counter weight such as a learning credit or top selector prize based on past project work.
(# of days * difficulty) / credit
credit would have to be less than difficulty by a small amount to offset difficulty rating to allow for junior staff to be bidding on par (almost like a handicap in golf)
(21 x 5 )/1.25 = (21 x~4)/1 = (~13*5) /1
Bonuses and such can be linked to a final approval % to deal with punishment of late estimate or missing artifacts.