I’ve found that keeping a clock in the shower is an easy cure for taking excessively-long showers. No need to set a timer—just seeing time pass seems to be enough.
To this end, I’ve gone through a couple waterproof clocks with suction cups. They were junk and fell off the tiles and broke. Also, expensive.
Then, I remembered the Casio watches of my youth. Indestructible. Waterproof. Full-featured. And inexpensive.
This is the one I use now: Casio A158W-1. Highly recommended. They last practically forever and you can hang it from a shower caddy using the wrist band.