Put a large pot filled with water on to the boil.
Meanwhile, in a large skillet or braiser, sauté the shallot gently in olive oil for a minute or two. Add the cut up asparagus and let it sauté as well for a minute or two, seasoning with salt and pepper as you go. Now pour in a cupful or so of water, enough to almost cover the asparagus, cover and let the asparagus simmer until they are tender and most but not quite all of the water has evaporated.
Add your pasta and a good pinch of salt to the pot. Cook until al dente.
Just a minute or two before the pasta is done, add the shrimp to the asparagus, raising the heat and tossing the shrimp with the asparagus. Cook only until the shrimp have just turned pink. (They'll cook some more in the next step.)
When the pasta is done, transfer it to the skillet, along with a small ladleful of the pasta cooking water and, if using, the butter. Toss everything together over a lively flame until the asparagus and shrimp are well mixed with and cling to the pasta. Taste and adjust for seasoning.
Serve immediately.