Before you write any code, you create the documentation that explains to the user how the system works. The user approves the documentation. You use the documentation as a specification to build the system.