Often projects just slip away of a developer’s hand, in all situations is always the developer’s fault. Strange ? Maybe not, lets recap some 101 in client expectations management, negotiation is the keyword here.
1. Deadline agreement
Situation 1: A client defines what want’s for a specific delivery date, you as a developer is given the option to accept the job or not.
Situation 2: A client defines the project scope for a specific milestone, you as a developer propose the deadline for the given project scope.
2. Changes request
Situation 1: A client demands a change to the initial assignment, you as a developer is given the choice to accept or not, in case of acceptance you can negotiate the new terms, meaning a new deadline or a reduced project scope in order to achieve the deadline.
You may always opt to not enter in any negotiation process, but in this case you are agreeing with all client requests without changing your deadline.
So, at the end, it’s always the developer’s fault!