In this chapter, we will cover the following topics:
- Gathering requirements
- Creating a concept document
- HTML mockups
- How to divide a project into apps
- Whether to write a new app or reuse an existing one
- Best practices before starting a project
- Why Python 3?
- Which Django version to use
- Starting the SuperBook project
Many novice developers approach a new project by beginning to write code right away. More often than not, it leads to incorrect assumptions, unused features, and lost time. Spending some time with your client in understanding core requirements, even in a project short on time, can yield incredible results. Managing requirements is a key skill worth learning.