The best shower cleaner I have found for hard water deposits and soap scum is vinegar. Just put some in a spray bottle and spray your entire shower or tub and let it stand for about 10 minutes then spray it again. Use a sponge or brush to work over the entire area. The vinegar may bubble a little. This is perfectly normal. Finally rinse the area with hot water.
I also use vinegar to soak my shower heads to remove the hard water deposits. Just mix a 50% vinegar and 50% hot water mixture and let the shower head soak for about an hour, then all of the hard water deposits will be gone and it will working like new.