Write a functional specification
A functional specification describes the scope and functionality of your module, without documenting implementation details.
It also documents other issues for development, such as phases of functionality, compatibility, performance, and platform. A good functional specification shows how your module solves the problem you designed it to solve.