Here are some rules for happiness that I’ve learned (often the hard way) from running my own software business since 2005.
Make sure important things are backed up automatically
Any kind of manual backup will be forgotten. Back up to multiple locations. At least one of them is offsite.
move away from the cutting edge
Whenever possible, use proven and trusted tools and technologies. JQuery will probably be around in another 10 years, but the latest and greatest JavaScript framework may not be.
Use good suppliers
You need to make sure your hosting company, payment processor, and other important suppliers are rock-solid. Think twice about using a supplier just because it’s cheap. Changing suppliers can be a hassle, so ask around before trying a supplier.
Use version control for everything that matters
It doesn’t really matter which version control system you use. Making regular copies of your source folders is not a version control system.
Please do not promise a shipping date
developers are notoriously bad at predicting dates. If you commit to a date and make a mistake (and you will), you’ll either miss the date or cut corners. Neither is good.
Never send an email you might regret later
If you’re writing an email and you start to feel angry, stop writing. Please come back later. Or maybe you write it, feel a little better, and delete it without sending it.
Create documentation as you go
Few people like writing documentation. However, if you leave all documentation until the programming is complete, you may end up forgetting something in the rush.
Prepare a checklist
Automate where you can. Create a checklist for everything else. Keep updating your checklist.
Have someone else proofread everything
Typos are embarrassing, but it’s impossible to proofread your own writing. Therefore, have someone else proofread anything your customers see (web pages, newsletters, documents, etc.).
Don’t release changes right before going on vacation
No need to extinguish new bugs when you’re supposed to be at the beach with family and friends.
don’t try to do everything yourself
You can spend weeks learning about taxes, web hosting, CSS, or other topics that aren’t business-centric. But why bother? Pay someone who already knows this.
accept imperfection
You can’t ship anything if you wait for perfection. Make sure each release is better than the last. Enough is enough.