Scoping What to Build
Knowing what your project must do is only half the battle. You also need to know what it will not do — at least not yet. Scope is the explicit boundary between what is in your project and what is out. Projects without a defined scope expand forever, a phenomenon so common in the industry it has a name: scope creep. Learning to set and hold a scope is one of the most valuable skills a builder can develop.
The Minimum Viable Product Concept
The most productive framing for scope is the Minimum Viable Product, or MVP. An MVP is the smallest version of a product that delivers the core value to real users and lets you learn whether you are building the right thing. The word "minimum" is doing heavy lifting here: it does not mean low quality or broken; it means stripped of everything that is not essential to the core value. Consider a ride-sharing app. Its core value is: a rider can request a car and a driver can accept and complete the trip. The MVP delivers exactly that. It does not need in-app tipping, scheduled rides, multi-stop trips, loyalty points, or driver ratings on day one. Each of those features is real and valuable — but none of them is the core. To find your MVP, ask: "If I removed this feature, would the core value disappear?" If yes, the feature is in scope. If no, it is a candidate for a later version. Document both categories explicitly: a scope document lists in-scope features and, critically, an explicit out-of-scope list. The out-of-scope list prevents misunderstandings and scope creep by making exclusions a deliberate choice rather than an oversight.
An MVP is the smallest product that proves or disproves your core value hypothesis. It must work correctly and serve real users. Shipping something buggy and calling it an MVP is not strategy — it is an unfinished product.
A concrete technique for drawing scope boundaries is the MoSCoW method, which sorts requirements into four priority tiers: Must Have: Without these, the product does not function at all. These are always in scope. Should Have: Important and expected by users, but the product can launch without them temporarily. Could Have: Nice additions that add polish or convenience; include only if time permits. Won't Have (this release): Explicitly deferred to a future version. The power of MoSCoW is that it forces you to distinguish between what feels important and what is actually essential. When a project runs behind schedule — and projects always run behind schedule — you already know which features to cut because you sorted them in advance. Example application: A student is building a personal finance tracker for their senior project. Must Have: manually add a transaction with amount, category, and date; view a monthly total by category. Should Have: import transactions from a CSV file. Could Have: a pie chart visualization. Won't Have: bank API integration (too complex for the timeline). With those decisions made, the student can build the Must Have features first, ship a working product, and add layers later.
Flashcards — click each card to reveal the answer
Constraints That Define Scope
Scope is not set in a vacuum. Three real-world constraints shape what is achievable: time, people, and technical capability. Time is usually the most binding constraint for student projects. If you have four weeks, a scope requiring eight weeks of work is not ambitious — it is a plan for an unfinished product. Experienced engineers estimate task durations, sum them, and compare that sum to available time. If the sum exceeds available time, features must move to out-of-scope. This is not failure; it is planning. People constrains parallelism. A solo builder cannot work on the authentication system and the data visualization at the same time. A team of three can work on three things simultaneously, but they must coordinate to avoid conflicts. Scope must account for how many builders are available and how much of their time they can actually dedicate. Technical capability constrains what is even feasible with your current skills and tools. Integrating a real-time collaborative editing feature like Google Docs is a very hard engineering problem. If your team has never built a WebSocket server, that feature probably does not belong in a four-week MVP. A scope that ignores these constraints is not a plan — it is a wish list. A scope that respects them is an honest commitment.
An out-of-scope list is as important as the feature list. It signals to every contributor — including your AI collaborator — that excluded items are deliberate, not forgotten. It also gives you a ready roadmap for version two.
A team building a social app has listed 'dark mode' as a Must Have in their MoSCoW analysis. What is most likely wrong with this classification?
A student says: 'I will build all the features and worry about time later.' Which planning failure does this represent?
MoSCoW Your Idea
- Step 1: Take the project idea from the previous lesson (or choose a new one).
- Step 2: List every feature you have imagined for it — brainstorm without filtering, aim for at least 10 features.
- Step 3: Apply MoSCoW: sort each feature into Must Have, Should Have, Could Have, or Won't Have. Be ruthless: your Must Have list should contain only features without which the core value does not exist.
- Step 4: Count your Must Have features. Estimate how long each would take to build in hours. Sum the estimates. Does the total fit a two-week build window?
- Step 5: If it does not fit, move the least-essential Must Haves to Should Have until it does. Write your final in-scope and out-of-scope lists.