One of the most challenging pieces I have ever worked on is this Granny Square Sampler from Better Homes & Gardens Crocheting and Knitting:

The directions were not always correct, and even when I was able to examine the photos and reverse engineer the pieces, they did not always fit together as I would like. There were pulled edges and ruffling; just the sorts of anomalies that make me uncomfortable, but I really wanted to make this afghan, so I persisted, despite my discomfort.
When I began working on the project that resulted in what I now call Bauhaus blocks, I was looking for a way to create uniform pieces, with the only variation begin color. I tried multiple ways of joining before I finally settled on one that gave me the squarest, most consistent result.
I learned that in order to get the look I wanted, it was necessary to use what remained of the tail after making the slip stitches along the side to whip stitch the blocks together. Additionally, I discovered the blocks first needed to be joined in rows.
When making a Bauhaus block, there is a definite front and a back, and the first row made and the last row made are similar, but distinct. Once the slip stitches are made along the sides of the block, the last row made is, to my mind, a bit tidier:

Here is a view of the back of the square once slip stitches have been made along the sides:

To join your Bauhaus blocks into rows, place the squares to be joined, side by side with right sides facing up:

Next, thread your yarn needle with one of the tails of the squares to be joined, then put the right sides of the Bauhaus blocks together:

For an eight row square, you will make 10 whip stitches. Make the first whip stitch by running the yarn needle through the knot portion of the end of each square:

Make the next 8 whip stitches by going through both loops of the corresponding slip stitches along the sides:

Make the tenth and final whip stitch in the very end of both Bauhaus blocks being joined:

The two Bauhaus blocks succesfully (and neatly) joined:

Here is a view of the back of a row of three Bauhaus blocks:

and here is a view of the front of the row of the same three Bauhaus blocks:

While joining the squares is not always the most exciting part of a project, it can be meditative, and there is a sense of discovery when each new square is added, both contributing to and altering the whole.
Related posts: Bauhaus blocks
Yeah, the edges are ruffly, but it still LOOKS GREAT!!! Amazing Colors, Leslie!
Really pretty.