I thought I would try and make a visual step by step guide for soaking, since this problem comes up quite frequently. It is possible to contribute to a bad shed by soaking prior to the actual shed. These steps should be taken after the shed has failed to come off. If the snake has not managed to complete it's shed after 24 hours, then it's okay to help it out.
Step 1 - Start with a bad shed. They're really not a big deal, and happen to everyone. Just double check your husbandry that you are providing 50-60% humidity, and 70% during the shed cycle.
https://ball-pythons.net/gallery/fil.../6/9/shed1.jpg
Step 2 - Grab a container (mine is a shoebox sized rubbermaid) and fill the container with tepid (luke warm) water to 1/2 to 3/4 the "height" of your snake. You do NOT want the snake to have to swim constantly.
https://ball-pythons.net/gallery/fil.../6/9/shed2.jpg
I throw in a old wash cloth as well, and then use it later to help remove shed. This part is not necessary.
https://ball-pythons.net/gallery/fil.../6/9/shed3.jpg
Step 3 - Put snake in the container.
https://ball-pythons.net/gallery/fil.../6/9/shed4.jpg
Step 4 - Put lid on. (There are no holes in this container, and aren't necessary as the container is NOT air tight and we will only be leaving the snake in here for ONLY a hour - no more!) Once the snake is secured in the container, place the whole setup back into the enclosure whether it's in a rack or tank. (I just happen to have a rack) Let soak 45 - 60 minutes.
https://ball-pythons.net/gallery/fil.../6/9/shed5.jpg
Step 5 - After 60 minutes remove the container and snake. I use the washcloth, and let the snake slide through it to remove the shed. You can use whatever is handy.
https://ball-pythons.net/gallery/fil.../6/9/shed6.jpg
Step 6 - A happy, well shed snake. If you were not able to get all the shed off in this attempt. Wait 24 hours and try again until all shed is gone. (which should not take more than a couple attemtps)
https://ball-pythons.net/gallery/fil.../6/9/shed7.jpg