Teams hardly ever know the entirety of what they want up front. Agile development is about changing how you work based on new information.