Game design and development is all about going over an idea over and over again, making changes and improvements along the way. Really this is the same for any idea or project that I have worked on. Iteration is KING!
In my day job I am a freelance programmer. I have been programming for over 20 years now. I have applied the same basic format I have used in programming to game design and development. The problem is I really know my day job, and have been perfecting it for a long time. I have been doing games for much much less and as a hobby since I haven't published anything.
What this created was the perfect storm for me to forget how to iterate when I am a rookie at something. As a senior programmer I have internalized a lot of things, and because of this I can make lots of changes in one go without worrying too much. Not to mention in programming I write things so everything is getting tested automatically as I go. This is not the case with game development.
Game Design "pro" to the Rescue
So boldly I went charging ahead making lots of changes to my game over each iteration. Let me define lots of changes. I do not mean one change that is very big (like removing a mechanic). Sometimes that kind of change is required, and really quite needed. I mean changing a little something here, a little tweak there, maybe a large mechanical change along with it.
My senior brain was all excited because I was making progress, PROGRESS! Which got me excited and kept me working on the game over a long period of time. However... the other thing it would do is hide the details of changes. Making multiple changes I couldn't see how one change affected the game in isolation.
Now this is not me saying that I am only going to do one change each iteration, because that doesn't always work, sometimes you have to make multiple changes to see an idea through. But what I am saying is keep it to one idea at a time. I need a catch up mechanism? Well don't also change a core mechanic to fix another issue at the same time.
What ended up happening with one of my designs is I ended up making those small changes over several iterations. Let me restate this... I went in circles to get where I am at. And let me tell you going in circles is slow and really pisses me off!
Hopefully this will save someone else from wasting time and energy.