Redgate Software Interview Question

What rules do you take into consideration when designing something?