I agree with this statement about writing specs and how they cannot be accurately written before implementation happens. Happened to me more often than I'd like to admit:
> The deeper issue is that there is often no _correct_ spec. Requirements emerge through building. Edge cases reveal themselves through use. The assumption that you can fully specify a non-trivial system before building it has been tested repeatedly and found wanting.
from https://addyosmani.com/blog/comprehension-debt/ by @addyosmani



