Robert has a couple of principles that he uses when developing software:
- No technology or tool is 'sacred'. Use the best tool for the job.
- Do not reinvent the wheel. Use/buy existing components or link to existing components when these are available. When no API is available try to create (reverse engineer) an API.
- Use an agile development approach. Keep close contact with the users of the product. Use short development cycles.
- Our systems are open. It is often impossible to predict all exceptional cases. So the software tries to automate the bulk of the work, 'the boring part', allowing the (experienced) users to concentrate on the difficult (and more interesting) tasks. For example: when possible we prefer to add a report generator or mail-merge facilities to our systems instead of lots of predefined reports.
- Productivity for the user is very important. We add keyboard shortcuts to our software wherever possible.
- Our systems are reliable, easy to use, powerful