Since I do more engineering work than producing I instinctively have a different scope. I also do a lot of creative work with a (non-engineer) friend of mine, so that helps.
We had the classic problems in the beginning, like so many of you have already outlined. We actually clashed often because I’d focus on making things sound good (engineering) whereas my friend would get annoyed 'cause he just wanted a good song (musician). We’d keep tweaking, going back and forth, scrapping things completely, etc. It was hard for us to agree since our focus was in different places, which made it really hard to ever finish anything.
We actually developed our current method when we tried out a Maschine at a music store. After about 10 minutes of playing around we had actually managed to come up with a pretty fun sounding track. We both sort of looked at each other and we’re like: “Hey this is fun, and it sounds fun”. We pursued this method because it allowed us to disconnect from everything else and just focus on putting a song together, with the minimal on the spot tweaks that actually made a difference (pre-mix).
Main Philosophy
Through working on music, be it recording, mixing or producing, I’ve learned one very valuable lesson: Limitations create possibilities.
The reason a lot of stuff is done is based on limitations: time, money, experience, equipment, etc. But now these limitations aren’t as harsh for most. We can go on endlessly tweaking and stick all of our time into projects. I think that’s part of the problem why people can’t seem to finish things. That’s why I fully agree with Alchemy, if there are no limitations whatsoever then you’ll never see an end to it.
Constraints
Me and my friend have actually imposed rules on our projects because they help us produce better and more efficiently (which the Maschine helped us see). At the start I’ll usually work out some drum patterns, chords, etc. and mix them as instruments on the spot. This happens sporadically, which is actually nice since I’m not always thinking of making sounds in function of a specific song. Obviously some cataloging has to happen, but that’s simple, and rewarding later. Usually me and my friend will then sit down with our material and see what gells together. Once we find stuff that works well together we’ll use that as our basis for a track. From there we just keep grabbing material and building our track, focusing only on the arrangement. It’s great because by this point we don’t have to worry about how it sounds since most of the pre-mixing has already been done. It’s pretty much literally like banging out a track on some Maschine pads.
I mentioned rules, and these are the ones we try to stick to. In my opinion, most songs (even complex ones) can be divided up into 8 major groups (not tracks!):drums, bass, keys, etc (imagine fader mix groups if that’s easier). so we try to stick to that. If we’re having a hard time dividing by 8 then we’re probably using too much stuff. Once we’re actually arranging a song based on some start point we found, we’ll have 2 structure sessions max. The sessions are imposed by time constraints (which is great), so sometimes we can sit down for a few hours, other times it’s shorter. If we haven’t found our structure then we wait, usually a week, before even opening the file again. Once we have our structure then we focus on adding/subtracting material if it’s absolutely required. This keeps us from needlessly altering the main sound, 'cause in the end we almost always go: “Hey I miss that old drum pattern now…” when the old one was something we quickly added in 5 minutes to fill in, after we added a so called “better” drum we worked on for a lot longer. In the end we just add whatever minimum things we are missing, and maybe tweak a couple of things. Once we hit a point where when listening to the track we can’t think of stuff to add, we’re done. This allows us to use our time and material to the fullest effect.
Obviously this doesn’t happen all the time, but that’s why we have our rules, so we don’t get sucked into projects going nowhere.