Warm the broth in a small saucepan over low heat. Meanwhile, heat the oil in a large saucepan over medium heat. Add the onion and cook, stirring occasionally, for 7 minutes or until soft. Add the garlic and cook 1 minute more.
Add the barley and cook, stirring, for 2 minutes. Stir in the wine and cook until the liquid is absorbed, about 3 minutes. Add the broth, 1/2 cup at a time, stirring occasionally and waiting until it is absorbed before adding more.
Add the asparagus with the last 1/2 cup of broth and cook until tender. It should take 30 to 35 minutes for all the broth to be absorbed.
Remove from heat, season with the salt and pepper, and stir in the Parmesan. Spoon into individual bowls.