Here I wrote some thoughts, based on my personal experience and knowledges from indie game developers communities. All that thoughts relates to indie development with Unity engine, and, of course, in bloody enterprise all things different.
1. Image and gameplay are more important than code and quality.
2. Quality of gameplay is more important than its singularity (originality).
3. If you have more than one control in your game, you must teach the player how to use it.
4. Game design is primary then development.
5. Visual part is primary then logic.
6. Knowledge of your tools is more important then coding skills.
7. Technology of coding is more important then good algorythms.
8. Using of payware assets and libraries is more profitable.
9. Good patterns must be implemented correctly.
10. Correctly implemented patterns must be used wisely.
11. Game development is business. You must invest appropriate amount of money to it.
12. Faster development is more profitable.
13. Usage of publishers is more profitable.
14. Adverts is engine of business.
15. Don’t work with morons.