Over moderate heat, begin to saute the shallots with oil in a large sauce pan or stockpot. Cook for 5 minutes or so until the shallots are tender and have begun to brown. If the shallots begin to dry, add a tablespoon or so of water.
Add the barley to the pot and cook for 1 minute, stirring frequently. Pour broth and 3 cups of water into the pot. Cover with lid and cook 10-15 minutes until the barley is tender. (Check the package instructions for suggested cooking time.).
If you are adding the carrots, cook in a separate saucepan in water for 5 minutes until tender but firm.
Pour barley and broth into a colander sitting in a larger bowl to collect liquid. Take half the barley and shallots, all of the liquid and 2 tablespoons of sour cream and place in a blender. Puree until smooth.
Transfer the contents of the blender back to the pot. Add whole/unblended barley and shallots (and carrots if using) to the creamed mixture and stir until well mixed. Season with salt and pepper to taste.
Divide soup among serving bowls. Thin remaining tablespoon sour cream with remaining tablespoon water and drizzle over soup. Sprinkle with dill.