3 cups reduced-sodium chicken broth
2 cups water
3/4 lb asparagus, trimmed and cut into 1-inch pieces
1 small onion, finely chopped
4 tablespoons unsalted butter, divided
1 1/4 cups Arborio rice
1/4 cup dry white wine
3/4 lb medium shrimp, peeled and deveined
1 tablespoon grated lemon zest
1/4 cup grated parmesan
2 tablespoons chopped flat-leaf parsley
Bring broth and water to a simmer in a medium saucepan. Add asparagus and simmer, uncovered, until just tender, about 4 minutes. Transfer asparagus with a slotted spoon to an ice bath to stop cooking, then drain. Keep broth at a bare simmer, covered.
Cook onion in 2 Tbsp butter with 1/4 tsp salt in a 4-qt heavy saucepan over medium heat, stirring occasionally, until softened, about 5 minutes.
Add rice and cook, stirring constantly, 1 minute. Add wine and simmer, stirring constantly, until absorbed.
Stir in 1/2 cup broth mixture and briskly simmer, stirring frequently, until absorbed. Continue adding broth, 1/2 cup at a time, stirring frequently and letting each addition be absorbed before adding the next, until rice is creamy and tender but still al dente (it should be the consistency of a thick soup), about 18 minutes. (There will be leftover broth mixture.)
Stir in shrimp and cook until just cooked through, 2 to 3 minutes.
Stir in asparagus, zest, remaining 2 Tbsp butter, parmesan, parsley, and pepper to taste. (Thin risotto with some of remaining broth if necessary.)