Cook and stir bacon in a skillet over medium heat until crisp, about 5 minutes. Discard grease.
Melt butter in the same skillet.
Cook and stir asparagus and shallot with salt and black pepper in melted butter and bacon. Cover skillet and cook, stirring occasionally, until asparagus are tender, about 5 minutes.
Transfer asparagus mixture to a platter. Sprinkle with Parmesan cheese.