One of the most important aspects of maintaining good relationships is doing what you say you're going to do, when you say you're going to do it. As a software developer, your time to shine in this context is delivering the goods before your customer has to wonder where they are.
It's equally important to know what done means to the customer, and how it may conflict with your definition of done. If I'm hiring you to line a parking lot for my store, and the deadline is the day of the grand opening, done is when the paint is dry, not when the last stroke is sprayed (and still wet!). Since I don't paint asphalt for a living, you surely can't expect me to know how long it takes the paint to dry.
A Real World Example
I once worked for an international online retailer who's idea of "meeting a deadline" was a little different than mine. We were scheduled to do a major release of the website consisting of a brand new design, and some additional features. It had a large supporting marketing campaign advertising it as a new generation of the store with super-awesome-o features. A hard launch date was set in the marketing material and community hype, so launching on that date was critical. The developers (through no fault of their own) ended up needing to work 20+ hour shifts in the days approaching the launch in order to make sure all of the promised features made the cut. After gallons of coffee and mountain dew, the launch was finally completed at 11:50pm local time on the day of the deadline.
In the coming days, the launch was touted as a total success, and the words "we met the deadline" were strewn about the meeting halls by the software development managers. I felt that expressing my opinion about the so called meeting of the deadline would create a lot of flak and would be taken as a slam to my fellow developers, so I decided to keep it to myself.
Quite frankly, this was not a satisfactory meeting of the deadline in my opinion. The expectation as a customer of the site was that they would log-on on the launch date and see a brand new website with pretty little features. Instead, we kept them waiting and wondering. Our blog site for the store was lit up with comments by loyal customers, wondering where the site is. Many had given up on it being launched that day, and only those 7 hours behind GMT (the time zone any international company should be paying attention to) or greater actually saw the website on the launch date. Yet, we were proud of meeting this tough deadline because "hey, we technically finish it on the date we promised!".
The real issue in the online retailer case is the approach to the problem. The delivery date and the marketing campaign date should not have been the same. The deadline for software development should have been at least 1 day prior to the launch, giving the developers a deadline that could be approached in the manner it was, but still allowing the site to actually be launched and available to the customer when they expected it to be. The developers could push their efforts right up to the wire (as we did) without any negative impact.
Conclusion
You've probably heard the saying "If you're 5 minutes early, you're on time. If you're on time, you're late!" or some similar version of it. This saying definitely holds a lot of merit when it comes to delivering your products. Surprise your customers and clients by delivering "5 minutes early" instead of making them come looking. Don't use the vagueness of your own deadline as an excuse to say you delivered on time. Save that for the cable company, and their "sometime between 9am and 5pm" appointments.












I once worked at a large, nearly-out-of-business semiconductor and cell phone company when I was just our of college. One day I was talking with one of the older people who had been there for 20+ years and I happened to mention that I had been in the office working until 2am the previous night. When he asked why I explained to him that I had promised my manager that feature X would be delivered that day (the day of the discussion) and that I always met my deadlines no matter what it took.
He looked at me as if I had three heads.
Maybe his kind of attitude is why it is now a nearly-out-of-business cell phone company.
I completely agree with your closing statement. I think that establishing a reasonable deadline in the first place is almost the most important part. There is always a sliding scale of scope vs deadline and as long as everyone knows that up front and is willing to negotiate I think deadlines can be very good for a team.