At a certain point a writer needs to stop overthinking a novel and just let it go. Such is the case with my current project, "Fractal Standard Time".
In my relentless pursuit of perfection (however imperfect of a pursuit that may be), I've come to realize that I may never get this book to work out exactly the way I envisioned it six months ago. The interactions between the characters and their individual stories, as well as trying to tell the larger tale of what it might be like to settle on Mars is complicated enough. But trying to get all of the details "just right" is getting overbearing to the point that it may never get done.
That's typically the point where it's best to back up and re-evaluate things or let it go. In the world of building software, there exists a concept called "function creep", where more and more features get added on, until the project potentially implodes under its own weight. Instead of focusing on a few features and getting them to work right, the developers and/or project managers focus on anything and everything so that in the end everything ends up being done in a half-baked manner.
The same goes for a novel. The more you pack into it, the more it grows and the more the overall story can suffer. I'm running into that now. So, in the interest of getting this book done before the year is up, I'm going to edit it for what it is today, instead of trying to make anything and everything in the book into a fractal. The lessons I've learned will be carried forward into the next novel which I hope to get done by the end of the year, too.