The only time you should be “holding” a stretch prior to a workout is if you are attempting to increase ROM in a joint that can not adequately go through it’s full ROM (e.g. Corrective stretching). Performing static stretching prior to activity can open up a joint, but if proper mobility is already there, you will be decreasing your productivity during your workout. Static stretching before exercise has been shown to decrease cardiovascular efficiency by up to 3% and strength & power output by as much as 30% (depending on length and amount of holds). Reserving static stretching for the end of the workout is usually necessary. In this case, hold each stretch for approximately 30 seconds. You may need to perform more than one set for some muscle groups (like calves) that don’t respond well to just one set of stretching.
If you (or your client) do not have movement impairment disorders/postural distortions, then active isolated stretching or dynamic stretching prior to a workout is a much better option. Holds should not be more than 2 seconds long, and should mimic the activities you are about to perform as closely as possible. This will help activate those muscle groups you are about to engage for exercise.
I would be happy to answer any questions you may have about specific stretches or other warm up/cool down options.