The sections above describe various short-cuts that can be taken during initial development.
However, there are some approaches which are important no matter which part of the development cycle you're in:
CER's concept of Timelines, and its expressions for manipulating them, are widespread in rule sets used by products. Ensure that you are comfortable with how timelines work and when they are used, before you implement any rule sets for your product. See also Write the Case Eligibility/Entitlement Calculation Rule Classes.
Write comments for your rule classes and rule attributes as you implement them, while they are fresh in your mind.
Once you have simple processing up-and-running, write unit tests for blocks of rules as you implement them. Write integration tests for your product once there are enough end-to-end processing steps implemented for your product.
Look at the rule sets included with Cúram Solutions for ideas on how to structure and implement different styles of rules.
Don't be afraid to refactor rules as you discover commonality and better structures. A good bank of unit tests will allow you to refactor with confidence. Draw pictures of complex structures (because any system of a certain complexity cannot be entirely self-documenting).
The Engine tries hard to continue processing even when configuration is not quite correct. Keep an eye on non-fatal warnings and/or errors written to the application logs and console output. Use the Engine's environment variables to increase the logging verbosity to help track down problems (see Environment Variables).