Peel the asparagus with a vegetable peeler from top to bottom, starting below the tips. Remove any woody ends with a knife and cut the stems into bite-size pieces. Place the asparagus in a sauce pan with lightly salted water. Bring to the boil; reduce heat and simmer gently until the spears are tender and can be easily pierced with a sharp knife, about 15 to 25 minutes. The cooking time varies depending on the thickness of the asparagus. Drain the asparagus, reserving a few tablespoons of the cooking liquid.
Place the asparagus pieces in a salad bowl. Add diced ham and mushrooms.
Whisk mayonnaise, yogurt, mustard and cream together in a small bowl. Add some of the reserved cooking liquid, a tablespoon at a time, until the dressing has the desired consistency. Season with salt, pepper and a dash of lemon juice. Cover and refrigerate for a few hours before serving.