When you are designing your game and your game milestones, my favorite way to develop is by polishing each feature one by one. This part is tricky to do, especially if you don’t have a lot of history built up between you and your client. They could get very nervous. The number one type of question I’ve heard is along the lines of “Is it done yet?” or “Where is this feature?” Even though they’ve read the delivery sheet as many times as you have, they still start to ask for things that are miles away. The strategy you need to take is to develop one feature at a time and get it as close to Gold Quality as possible. Compare this with the other strategy, where you work on everything at once. If you’re getting ABCD features 10, 20, then 50% of the way to completion each milestone, it is going to be nerve wracking to your client because at the end of the day, they can’t show anything to their superiors and say “look how good this part of the game is! Can’t wait for the rest!” All your client will be able to say is “look how moderately functional this game is!”.
From an indie development standpoint, creating small complete systems as early as possible makes me very excited because I can see totally finished features that don’t crash and say “Yes this is what I want”. The Carbon Games people are rockstars at doing this.
Everything you put into the game should be the absolute best that you can do When you deliver high polish early on it shows what your team is capable of and it buys you a lot of good will. This means that even your most early deliveries should be polished to the absolute best, even if that means a little throwaway scripting or throwaway code. Take it into account when you do your scheduling and, although your programming team will gripe about how they were going to write it, it is going to turn out much better. Also, if you do one feature at a time, its going to be a much better representation of your schedule. If you’re doing the most important features first, and all of them are taking 1.25 times longer than you estimated, you can see which features are going to fall under the chopping block. If you are working everything up at once, you are at risk of a really stressful crunch at the end of your project. Because you’ve put so much work into less important features, you’ll be more likely to want to keep them even if it means missing your mothers birthday (which she brings up EVERY time).