Great post on the one skill software engineers could use more of, the ability to say no, or being able to more clearly and honestly communicate in general. Saying yes because you feel it's the correct answer helps no one.
There are a myriad of different reasons why software projects fail to complete on time. The difficulty of estimating development time is only compounded with developers steam rolled by project creep. Knowing ahead of time that additional features may be requested should be at the back of a developers mind. A new mantra of “just say no” would at least stop developers from saying yes by default. Running around with a gun is dangerous enough, perhaps if we put the safety on we might just stop from shooting ourselves in the leg.