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.
As with any stretching question its relative to the persons assessments as to how much, what type, and when they stretch.
As was stated by Steve Oswald if you are training to increase performance, static stretching before a workout can reduce work capacity and strength. But if you have a beginner who has only sat at a desk and computer his/her whole life then the majority of the whole program should be corrective stretching with some strengthening of motor pathways in between.
How flexible are you? Whats your mobilty like? Do you have any compensation patterns? If you don’t have any issues and mobility is not a problem then a basic Acitve Isolated Stretching or Dynamic Warm up prior to for around 10 min and some static stretching and mobility work done after for 10 min is adequate. Remember that this is relative though, so if you have anything that needs extra work then take extra time. Don’t skip it though, you should give yourself at least 5 min if you are in a rush to move through some dynamic warm ups and static cool downs.
Research shows (I don’t know the study, but I’ve heard it several times from a PT with a PhD) that at least 10 seconds is needed. Longer helps, but the highest bang for your buck is 10 seconds. If you have time to hold longer then do that. I make sure I get in a lot of stretches of 10 seconds and then go again and longer when I have time on particularly tight muscles.
I would recommend doing dynamic stretching before your training session instead of static stretching. This keeps your contractile force in your muscle high for your workout while warming them up to do “work”.
Post- Workout I would recommend 20-30 seconds of static or proprioceptive stretching of each muscle group you used for the session. If you are stretching for corrective purposes, I recommend do 2-3 sets of static stretching on the overly tight muscle that may be causing the deviation.