Our first step with any new project is to distill a list of high-level requirements, which involves understanding your unique challenges and conceptualizing solutions. We like to have a complete understanding of the requirements before we write a single line of code. The requirement list, which often evolves over time, is our shared statement of your project’s deliverables.