So you are coding away at your product, and its done entirely by the book. You have builders, immutable data transfer objects, a layered architecture and whatnot.
Suddenly the deadline makes a whooshing sound as it flys by, to paraphrase Douglas Adams. But you are safe, because you have a by the book aproach, and you have done nothing wrong. Doing it by the book takes time, doesn’t it.
Ok, so all your patterns are blue book, gang of four, approved, but are they really apropriate for your project? Did you really need seven layers of indirection for a product with a six month lifecycle? Was a complex SOAP interface really necessary when your plattform concists of exactly one language type?
I call this the pattern antipattern. The remedy is simply to apply common sense.