In a large pot, bring 4 cups of salted water to a boil. Add the orzo and cook according to package instructions until al dente, about 8-10 minutes. During the last 2 minutes of cooking, add the asparagus to the pot. Drain and set aside.
In a large skillet, heat the olive oil over medium heat. Add the minced garlic and sauté for about 1 minute until fragrant, being careful not to burn it.
Add the shrimp to the skillet and season with salt, black pepper, and red pepper flakes if using. Cook for about 2-3 minutes on each side until the shrimp are pink and opaque.
Stir in the lemon zest and juice, then add the cooked orzo and asparagus to the skillet. Toss everything together until well combined and heated through.
Remove from heat and stir in the chopped parsley and grated Parmesan cheese. Adjust seasoning if needed.
Serve immediately, garnished with extra parsley and lemon wedges if desired.