A colleague of mine just bought a new vacation home. It's an upgrade from their current vacation home as they prepare for retirement in a few years. Her plan is to knock down the existing house, which is old and in need of considerable improvement, and build a new one that can remain in her family for generations. Not a mansion, but certainly a legacy.

With 30 years in the mortgage space, and the experience of writing Building Your Own Home for Dummies with my Inc. colleague Peter Economy, I was able to offer advice. It's been a while since I stretched my homebuilding muscles, but the fundamentals remain the same. Much of my business involved cleaning up messes people made because they didn't plan properly when they began building. I watched too many people nearly ruin themselves financially before I was able to step in and help.

Here's how you can build your dream home, without it turning into a nightmare:

1. Pick Well at the Outset

Before you even consider placing a bid on a house or piece of property, make sure you've done your homework. If you're planning to renovate or totally reconstruct the house, you need to make sure the neighborhood can support it. You never want to be the smallest - or biggest - house on the block. The cost of the purchase plus construction should total around the average price of the area homes. Otherwise, your home will be out of place, and you won't get the value out of it if you need to sell. Think about resale value. How are the schools? I know you think you'll stay there forever, but don't get romantic about an uncertain future. You never know what will happen, so you need to be prepared for the worst. Anything less is irresponsible, and could burden your descendants.

2. Plan, Plan, Plan, Then Plan Some More

Even if you've found the perfect spot in a great neighborhood for an amazing price, don't jump right into purchase and construction. Only fools rush in. Before you put in an offer, and certainly before you so much as remove a shingle from the existing house, you need to have every detail of your new house planned out. Every single element needs to be priced and decided on, down to the very last fixture. Only with this level of pre-planning will you actually know what the real cost will be. Typical projects run from 20 to 50 percent over what people originally expect, and much of that comes from insufficient pre-planning. After you do the math, you may find that you cannot realistically afford the project right now. Better to find out now and be disappointed, than to find out later and be financially ruined.

3. Generate Competition for a Contractor You Can Work With

Once you know exactly what you want, go talk to contractors. Talk to each one, and find out how they function and if your personalities blend well. Have them submit bids, and compare the contracts. Remember that most contractors can do most things - the difference is in quality and customer service. Ask to see their prior work, in person. Make sure you check references, and find out as much as you can about the contractor's attentiveness and style. You need a contractor with a personality that complements your own. Nothing will make the process more unpleasant than a partner you clash with.

4. Be Specific and Persistent, but Realistic

When you decide on a contractor, review the contract carefully. Does it include exact specifications of what you want in your house? How specific is the pricing laid out? Are there penalties for late or shoddy work? Have you scheduled periodic visits by a licensed home inspector? Make sure every T is crossed before you sign. Once work is underway, don't be absentee. Keep steady communication with your contractor, and visit at least occasionally. If something doesn't look right to you, bring it up! You're entitled to quality work and to what is outlined in your contract. Remember, however, to be fair. Some things really are beyond a contractor's control. Don't fly off the handle at every little thing - and there will be many things. Be pleasant enough to work with that your contractor wants to keep the lines of communication open.