There are many pitfalls to commercial software development. But that's not a reason to go for it anyway. I have read a number of tips from people who created failures in the commercial software world. I am one of them. Let's see what they have to say.
Launch early. Be warned that some software has a long sales cycle. Make sure your product has killer features that the competition does not have. Make sure you need the product yourself. Temper that with the fact that just because you need something, everyone else will not necessarily need it too.
Make sure you learn during the development process. That way even if you fail, you come out smarter and it is not a total waste. Conduct your marketing research up front before you sink unrecoverable costs in development. Be careful of sharing equity with other partners who may not put in as much into the start up. Also beware of potentially high software support costs.
You should try to save up money then go full time into product development. Make sure your market is not too small. A niche is ok, but too small of a niche is death. Talk with actual people during your research. Get feedback from your users early on. Make sure you have enough domain knowledge for the market you are selling to. Consider integration with other software to expand usefulness of your product. Good luck to all.
A Little Bit of Crypto - I have been trying to figure out to "collision resistant" some of these standard hash functions are. It is a tough concept to get my head around. I figure...