Best Practices for On Demand Software Development Companies