In a large saucepan add 1 to 2cm of water. Bring to the boil then add the asparagus reducing the heat to a simmer. Simmer for 3 minutes or until asparagus is just tender. Drain and set aside.
In the same saucepan bring stock to the boil. Reduce heat, cover and maintain at a low simmer.
In a large heavy frying pan heat the olive oil over medium heat. Add the shallots and cook for about 3 minutes until soft not allowing them to take any colour.
Add the rice and stir to coat with the oil. Add the wine and cook until absorbed.
Stir in 200ml simmering stock. Cook until stock is almost completely absorbed, stirring frequently, then add another 200ml of simmering stock. Repeat until the rice is tender (you may have stock remaining). The entire process should take about 20 minutes. Rice should be slightly firm in centre and look creamy.
Add asparagus and heat through. Remove from the heat then add the butter, parmesan, salt and pepper. Serve immediately.