Effective Requirement Prioritization and Trade-offs in Software Projects