1. Make sure your guest of honor likes surprises. Not everyone does! Surprise parties are only fun if the recipient is happy and excited. Otherwise there's just an awkward, what-am-I-doing-here vibe, which is not conducive to a good party.
2. Schedule the party before the event you're celebrating. No one should feel neglected on their day, even if there's a happy ending. If you're not able to have the event the day of, scheduling the party the weekend before will keep it a surprise without the angst.
3. Make sure your surprisee is dressed appropriately. I would absolutely kill anyone who surprised me coming home from the gym or work. At a party (especially my own), I want to look my best. If necessary, fake me out with a plan to go to a nice restaurant, another party or anywhere festive so I'll feel party-ready after the big reveal.
4. Keep it simple. Don't arouse suspicion by stockpiling food as I once did. Set-up time will be limited, so it's not the occasion for culinary masterpieces or craft cocktails. Also, limiting the guest list to the inner circle crowd increase the chances that the surprise party will stay a surprise.
5. Re-think the reveal. The best surprise party I've ever attended had no hiding behind couches, no yelling "surprise." The honoree arrived at a party in progress and slowly realized that all her friends and family were there and the cake had her name on it! It was an amazing, low-pressure way to surprise her without all the drama.