Don't Waste Time on Unimportant Decisions

I just started working with a team on a new project. Perhaps a symptom of coding together for the first time, I noticed we spent too much time on questions like "what should we name this class?", or, "where should we draw the line for this abstraction?"

It takes a more experienced developer to know that you have to "pick your battles". If the choice between 'A' or 'B' is not clear, you need to take a step back on how important it is to make the correct decision now. If it is something that can be changed easily later, flip a coin and move on.

Sometimes is just about being receptive of diversity on your team. Everyone has different preferences on coding styles, editors, patterns, etc. Allow that diversity to improve your perspective, rather than blocking differences as wrong.

We recently addressed this issue as a team. We do a lot of pair-programming. So we decided to put the responsibility on the driver. If the driver sees us flustering on a decision, it is up to him/her to put their foot down and force to team to move forward.