What does it do? What is the problem it is trying to solve? Why does it need to exist? Who will use it?
What does it do? Reasoning for defining it?
What function does it serve? How is it used? What does it interface with? Does it have a public interface? Explain the thought process List benefits and risks
Does it need something to work in the first place? If required; otherwise can be removed
Describe relationship; does not have to be perfect
Describe communication; makes sure interaction between submodules are correct
5/6 top benefits All known risks/issues All assumptions