As project managers, we all know about how to compromise, working with disparate stakeholders and coming up with a solution that meets their needs, is technically feasible, and won't break the bank.
However, are there times when we shouldn't compromise? There are times that if we give in too much, we fail to make anyone happy.
I was on a process improvement project one time, representing the business users as we were improving the process for testing software before it was put into production. One of the recommendations of my improvement team was to co-locate business users with the software vendor as part of the testing team. The complication was that the vendor was half-way across the country so co-locating meant temporary housing for a couple months in another city.
Management's reaction was that this would be expensive and couldn't we do it with conference calls and email. However I and one of my other team members felt strongly that co-location was the only way to get the results we were looking for. Rather than compromise, we kept lobbying until we were able to convince management to agree.
So there are times to compromise, but there are also times when you have to stand for what you want or be willing to walk away with nothing. The key is to know the difference.