For some shower heads soaking the shower head in a bowl of vinegar for 30 minutes is usually enough to remove calcium buildup and mineral deposits.
However some shower heads may need to be soaked for a few hours or even overnight.
What I do instead of removing the shower head and putting it in a bowl is I take a Ziploc bag and fill it enough with vinegar and then tie it around the shower head or use a rubber band to secure it around the shower head.
Then I leave it on the shower head overnight and in the morning I run hot water through the shower head and it usually clears it up.
Sometimes I might need to remove the shower head and soak the other side as well but usually just soaking it in vinegar with a bag is enough to get it cleaned.