This includes the following tasks : 1. Relevant diagrams to communicate the idea (design decisions, improvements expected to have etc.) 2. Choice of programming language, DB etc.