Many ways to roast a duck, but here are a couple of tips I've learned. If you pour a few cupfuls of boiling water over the duck before cooking, then pat dry and roast, it helps the fat break down more easily, thus reducing the cooking time and giving you crispier skin and more tender meat. I have also steamed a duck for about 20 minutes before raosting with good results
When you prick the duck, make sure you do not pierce the flesh, as this will cause the meat to be tough. I would start out by roasting in a low oven (250 degrees F) and cook the bird on a rack so it doesn't sit in it's fat. After 1 hour, prick the skin some more, turn the bird over and drain the fat off. Cook for a total of about 4 hours repeating the turning process every hour.
After 4 hours increase the oven temp to 350 deg. F and roast for an additional 20 minutes on each side. A little more if you want it extra crispy.
By starting cooking out low and slow you will get a more tender meat and also give the bird more time to render of the fat.
Remember to always let the duck (or any roast) to sit in a warm place for about 20 minutes after cooking to give it time for the juices to redistribute back into the meat. Cutting right away will yield a tough roast as all the juices will run out.