# 🔍 Project Scope

This document outlines advice on how to manage projects requirements and scope.

# Minimum Viable Product (MVP)

A project's scope should be as minimal as possible while maintaining core functionality. The scope should be defined in terms of must-have features ("requirements") and bonus features ("stretch goals"). As much as possible, a project's set of requirements should fully describe the necessary steps to building the project.

Every project should have a complete scope, with each requirement described in a README or Wiki and as Epics on ZenHub, before development begins.

# Managing Risk

Some requirements may be technically difficult to build, rely on a third-party API, or involve risk in some other way. In general, at the beginning of a project, there may be some unknown factors that a project's success depends on.

These risks should be identified as soon as possible and documented. Once risks are documented, they should be resolved as soon possible. For example:

  • if a feature is challenging to implement, get a prototype working.
  • if you have a dependency on a third-party data source, contact or research the third party and verify the data is available, adequately formatted, etc.