liveBook · Manning

Requirements analysis

As explained in Delivering Machine Learning Projects: From design to deployment

Requirements analysis is the systematic process of eliciting, clarifying, assessing, and specifying what a system must provide and under what constraints.

Requirements analysis turns a customer’s business objectives into a testable account of what an ML system must do and whether it is practical to deliver. Start by listening to the sponsor, even when the request is high-level or technically imprecise. Clarify and revisit the requirements rather than trying to settle them all in a fixed order: performance targets, deployment constraints, and the intended business use affect one another. section 2.3.2

Capture three kinds of requirement:

  • Functional: who the system serves, its inputs and outputs, the task its model performs, and the accuracy, robustness, and reliability needed. section 2.3.2 section 3.1
  • Nonfunctional: limits on latency, throughput, execution cost, and carbon footprint. Check these early; an ambitious model may not meet a fast response target on constrained hardware at an acceptable cost. section 2.3.2
  • System: where the model will run, how it will be maintained and integrated, how people or systems will consume its results, and what resilience is required. section 2.3.2

Make a recommendation request testable

A functional requirement can state that a user profile, budget, and date must produce a set of book recommendations. Nonfunctional requirements can then require each recommendation to cost less than $0.0001 and arrive in under 200 ms. The output alone does not establish whether the proposed system is viable. section 3.1

Turn the analysis into a list of business opportunities and delivery challenges. Recheck that list against findings about data, project setup, and security; remove or revise concepts that prove impractical. For viable concepts, draft system stories describing delivery and user stories covering sponsors, users, customers, and affected people. Use the stories to test whether implementation and business impact have plausible paths, and to identify possible acceptance criteria, harms, and corner cases. Detailed stories can wait until the project has funding and resources. section 3.1

How Delivering Machine Learning Projects: From design to deployment covers it

How deep it goes
Defines requirement categories and a clarification process, then develops validation stories while deferring detailed stories until funding and resources are available.
Examples
Uses book recommendations from a user profile, budget, and date, constrained by per-request cost and response time.
What it assumes
Assumes an initial funding decision and customer objectives; builds on data, project setup, and security findings when validating opportunities.
What you can do after
Practice/perform pre-project validation by specifying constraints, checking viability, and drafting stories that expose harms and corner cases.
How it connects
Connects business objectives, model performance, deployment, data, security, user stories, and acceptance criteria.

Also explained in

Compare how 3 books explain requirements analysis →

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Delivering Machine Learning Projects: From design to deployment. The section links point to the parts of the book it draws on.