Well if you use modern project management methodologies, development methodologies like RUP and wrap CMMI around it you really do not need that many people up front. That is how the (good) Indian shops do it. It works,I have done it. On large projects the day is long gone when the grunt programmer ever sees the customer. You have seperate requirements, QA andarchitecture Depts. that handles it and the Chief architect sees that it gets down. These method are highly interative so the client always has something to play with to make sure that the product is correct. It takes really good process management but it is the only way. The Indian projects tend to be huge, hundreds of thousand of lines of code and very large teams.