Functional Requirements

The functional requirements specify what the espresso machine is supposed to do. Each requirement has a user story and a priority. The stories state what the user expects in the end product, that implies hardware capabilities and feature set of the Rust firmware.

Requirements

IDTitleUser StoryPriorityStatus
F001RepeatabilityAs a coffee drinker, I want to pull espresso shots with repeatable temperature profiles.highdone
F002TemperatureAs a coffee drinker, I want to set the target water temperature, so that I can adjust the machine to my coffee beans.highdone
F003SteamAs a coffee drinker, I want to put the machine in steam mode, so that I can steam milk.mediumplanned
F004PressureAs a coffee drinker, I want to adjust the brew pressure, so that I can experiment with novel brewing techniques.lowplanned
F005Brew InformationAs a coffee drinker, I want to know water temperature and brew pressure, so that I know if I need to adjust my preparation method.highdone
F006Temperature AccuracyAs a manufacturer, I want to temperature controller to achieve +/- 3°C accuracy (without water flow), so that the machine delivers repeatable results.mediumdone
F007User AnalyticsAs a manufacturer, I want to log machine usage and state to a server, so that I can improve the espresso machine design.mediumdone
F008Eco ModeAs a manufacturer, I want the machine to turn off when its not used for more than 20 min.mediumplanned
F009Debug InformationAs a student, I want the machine to provide as much internal information as possible, so that I can debug my application easily.lowdone

Questions

QuestionAnswer

Out of Scope