Detailed requirements, hard-coded plans, designs, etc. form a liability in software development, and not an asset, because they represent potentially unused work. Agile avoids producing these upfront in every possible detail. If the potential point of implementation of identified work is still some time away, the chances are quite high that this will not be implemented.