Learn to multitask. Everyone likes to take a minute to stand still and enjoy their shower, but learning to multitask in the shower can help you save both time and money. Keep your toothbrush and toothpaste close at hand so you can brush your teeth in the shower or while waiting for the water to heat up. Use the few minutes that you have conditioner in your hair to shave or exfoliate.
Turn it off. There is a lot of time spent in the shower when the water doesn't really need to be running, at least not at full pressure. Turn off the water or decrease the water pressure when you're doing things like shaving or exfoliating your feet and turn it back on when you need to rinse off. This tip can save you a considerable amount on your water bills.
Use runoff water elsewhere. Depending on the age of your water heater, it probably takes a few minutes for the water in your shower to heat up. Running the water just to heat it up, however, can waste gallons of water every day. Keep a bucket in your bathroom to catch this runoff while you're waiting for the water to get to the right temperature. This excess water can be used to water houseplants, given to the family dog or cat or even put in your tea kettle for your morning cup of Earl Grey.
Time yourself. It's easy to lose track of time in the shower and forget that water is being wasted while you're luxuriating. Keep a timer with an alarm in the bathroom and set it for no longer than 10 minutes when you get in the shower. You'll be surprised how quickly you become accustomed to getting all of your showering necessities taken care of within the allotted amount of time before the alarm goes off. Shortening your usual 20-minute shower down to 10 minutes or less means you're using half the water and that will add up to a much nicer water bill too!