When I am working with clients, I always try to define the MVP (Minimum Viable Product) as detailed as possible. Anything else gets added after the MVP is accomplished. This way we minimize scope creep.
Also, I tend to be designing from rough wire-framing tools that generally don't match the UI Library so I have to push to make it clear that the wire-frame is not the final view ... we can call it pixel perfect, but there is always variation.
Great article; just adding my thoughts!