How to Make It
Preheat the oven to 400°. On a rimmed baking sheet, toss the asparagus with the olive oil, season with salt and roast for about 10 minutes, stirring occasionally, until tender.
Meanwhile, in a small nonstick skillet, melt 1 tablespoon of the butter. Add the shallot and cook over moderate heat, stirring occasionally, until softened, 3 to 4 minutes. Transfer the shallot to a small bowl; wipe out the skillet.
In a medium bowl, whisk the eggs with 1/4 teaspoon of salt and 2 teaspoons of cold water. In the skillet, melt the remaining 1 1/2 tablespoons of butter over moderately low heat. Pour in the eggs and cook without stirring until the edge of the frittata has set, about 3 minutes. Using a heatproof rubber spatula, lift up the edge of the frittata and tilt the pan to allow the uncooked eggs to seep underneath. Continue gently cooking the frittata in this way until almost no egg runs when you tilt the pan.
Immediately scatter the shallot, prosciutto and asparagus over the frittata and slide it onto a serving plate. Top with the crème fraîche, pepper and grated cheese and serve warm.