How to Manage Software Development Costs Without Compromising Quality