Roast potatoes at 400 F for about 15-20 minutes (baby potatoes) or 40 minutes for medium ones. You want them to be soft enough to poke a fork into, with brown, crispy skins. The crispier the skins, the better it tastes. Last time I made this, I didn't have small potatoes and in an effort to speed up the process, I cut my medium potatoes in half and roasted them with the cut side down on my stone baking sheet. This was serendipitous, because I had unknowingly added an extra surface that could be crispified.
While potatoes are cooking, get out a frying pan and saute your other ingredients. First, cook up your bacon then set it aside. Drain out some of the bacon grease, and then use the remaining grease to fry your asparagus pieces, and once they're almost finished (they only take 5 minutes or less if your pan is already hot), then add the swiss chard (spinach, whatever leafy greens you're using) in for the last minute. You only want to wilt the greens, mostly, not cook them to death.
Let potatoes cool off for a few minutes after coming out of the oven. I cut them in half to speed this up. In the meantime, measure out your olive oil, balsamic vinegar and mayonnaise. Start with 1/2 cup, and you can up it to 3/4 cup mayo if you feel like the potatoes are a bit dry still. Chop up green onions and add them to the bowl, along with your sauteed asparagus, greens, and chopped bacon.
Cut the potatoes into bite-sized pieces (about 1 inch). I actually like using my kitchen scissors for this job, but you can just chop them on a cutting board.
Mix it all really well in a serving bowl, add your salt and pepper, and let it sit for 5 minutes so the flavors can mingle a little.