Every great piece of software begins with customer's big idea. As a professional softeware developer, it's your job bring the idea into life, turning it into working code that satisfies your customers.
Deliver software that's needed, on time & on budget.
develop software using iteratively, each iterartion deliver a workable software, and also get user feedback to ensure the software is really what thet need.
if customers' requirements change, rearrange task list according to priority, time, budget.