Everywhere saying
NO to a request is loaded with difficulties (unless your are an
admin of course, since NO would be your only word, at least for
developers). Depending on context and culture these difficulties vary. One of the core reasons is that every NO to the
content of a request always carries the risk of being perceived as NO to the
relationship between sender and recipient. To successfully say NO you need to separate relationship and request (easier said than done) and wrap it up nicely. After all a NO feels like a raw meat paddy thrown at you (Vegetarian need to stop reading now).

The solution for the hamburger is to grill the meat, add garnish and wrap it into a bun. A similar approach is needed for a NO.

The general pattern for NO is: YES - NO - YES. So you wrap your no into 2 yes:
- YES, I'm interested in continuing this relationship and work towards your success
- NO, this is not how it is going to work / not what I will do for you
- YES, this is my suggestion to deliver the success we are both interested in
Delivered in 2 YES the NO is much more bearable. Of course the challenge is to find the common success criteria in the eternal quest for a win-win scenario.
Entire books
have been written how that exactly works. Absolute recommended reading.