The four categories of features.
- Core: like an engine in a car. The product is meaningless without it.
- Necessary: like a car’s spare wheel. It’s rarely used but when needed, its function decides the success of the system.
- Added value: like a car’s cup-holder. It’s nice to have but the product is perfectly usable without it.
- Unique Selling Point: the main reason people should buy your product instead of your rivals. For example, your car is the best off-road vehicle.
Think where to put your time and energy. A typical prioritization can be
Security > Reliability > Usability (Accessibility & UX) > Maintainability > Simplicity (Developer experience/DX) > Brevity (code length) > Finance > Performance
Source: https://alexewerlof.medium.com/my-guiding-principles-after-20-years-of-programming-a087dc55596c