First and foremost, if you have an idea for a good product then just work on that. Don't complicate your life with consulting unless there's a dire need to save up a bunch of cash. It'll be easier to work on that while maintaining a 9-to-5 job, as opposed to trying to build a product while running a consulting business.

That said, consulting is a great way to learn a lot, gain experience, make good money, and figure out what you don't want to be doing. If you want to go this route, read on...

Speaking from experience (having incorporated two software consulting firms and worked at that for a few years), I completely agree with the comments about sales/selling be such an important part of things. If you don't enjoy this (or have someone on your team who does), then you're going to get worn out pretty quickly. However, if you can land 1-2 big clients and setup some kind of continuous (ex. retainer-based) relationship then you're golden.

One option is to try and contract from your current employer. You obviously have the experience and the relationships already in place. Your employer won't be happy about you leaving, but might be amenable to hiring you on a short-term gig.

An alternative is to subcontract. Expect your rates to be lower, but you'll have more opportunity to gain valuable experience and won't bear the risk/burden of landing clients yourself. It's a lot easier to find your own contracts once you have a few projects (and a network of contacts) under your belt.

Regardless of your approach, advice I always give to people when they ask me about starting a business are: get a good lawyer ; and get a good accountant. Don't take the cheapest options because you'll regret it later. Find people in the space who come recommended, whom you like, and who have a track-record in dealing in your line of work.

Whether or not you decide to incorporate is up to you (talk to the aforementioned lawyer), but in my experience it's a no-brainer.

In terms of legal, you'll also want your lawyer to provide you with a standard NDA and contract that you can use in all of your engagements. Any lawyer with experience should be able to provide this pretty cheaply (at a fixed rate, hopefully).

In terms of an accountant (or a small accounting firm), you won't need much to get started, but a 1-2 hour consultation to get your bookkeeping and invoicing setup will save you a lot of time (and grief) later. Make sure that you can hand easily hand your invoices, bank statements, receipts, etc. to your accountant when it comes time to file your taxes. Again, if you cheap-out on this it's going to cause you a lot of pain down the road.

Other notes from experience:

- Switching from consulting to product is difficult and almost always fails unless you're willing to make a clean break. As a consultant you eat what you kill; as soon as you stop working then your revenue stream drops to zero. I've seen people try to work around this by expanding their consulting firm to handle larger and larger projects, but then the people at the top just spend more time managing everything and have even less time to work on products.

- You'll eventually come up with a good product idea, at which point you should be willing (and able) to completely stop consulting to work on it. This transition will hurt, but you should have enough cash saved up to make a go of it.

- It's okay (in Canada, at least) to start working as a sole proprietor on some (smaller) contracts, but don't expect any client to be amenable to you changing the nature of your relationship with them half way through a contract (for instance, if you decide to incorporate).

- The larger the client/contract, the more likely you'll need insurance (errors & omissions, liability, etc). This doesn't come cheap. I recommend starting with smaller clients and projects to mitigate this.

- Figure out what taxes (if any) you need to charge ahead of time and be very upfront about this (and your rates).

- If someone wants you to be on-call (ex. 2-hour response time to a phone call), then great. Charge them more for it.

- If someone wants you on retainer (ex. 20 hours/month for dev ops), wonderful. Consider giving them a discount for multi-month agreements because it's a low-risk and guaranteed revenue stream.

- Make it very easy for clients to pay you. Include all of your payment information on each invoice. Have multiple payment options, if possible.

- Expect to terminate agreements with some clients. This sucks, but it's sometimes necessary.

- In your contract, be sure to state that the client doesn't own the work product (copyright, etc) until they pay you. This doesn't mean you don't deliver things according to schedule if payment is a little behind schedule, but you have some recourse if things ever get nasty.

- Finally, be sure to check your current employment agreement to make sure there's nothing that would get you (or your colleague) in trouble if you both decide to leave and start a company. Two things come to mind: there might be some onerous (and probably unenforceable) non-solicitation clause that a lawyer could twist to state that you solicited your colleague (or vice versa) to leave (this probably won't be an issue); and there might be some non-compete that you have to be careful about if you're consulting on similar products/features to your current employer. In both cases, I think this would be low-risk, but talk to your lawyer.