Bring broth and 1/2 cup water to a simmer in a medium lidded pot. Add asparagus and cook 3 minutes or until crisp-tender. Remove asparagus to a colander with a slotted spoon and run under cold water; set aside. Repeat with fresh peas, but cook only 1 minute. (If using frozen peas, skip this step.) Reduce heat to low and cover broth.
Heat oil and butter in a large sauté pan over medium heat. Add shallots and cook 2 minutes. Stir in rice and cook 1 minute. Pour in wine and cook until liquid is almost absorbed, about 2 minutes. Add 1/2 cup of the reserved hot broth and stir; when most of the liquid has been absorbed, add another 1/2 cup broth. Continue until broth is gone and rice is tender, stirring well with each addition, about 20 to 25 minutes total.
Stir in lemon zest and juice, Parmesan, salt, frozen peas (if using) and reserved vegetables. Serve immediately.