The first 90% of the software takes 90% of the development time. The remaining 10% of the code takes up the other 90% of the time.
—Tom Cargill, Bell Labs
So far in this text, we have used user stories and features to describe the functional requirements of the system—those system behaviors whereby some combination of inputs (action) produces a meaningful output (result) for the user. We have invested many pages in exploring how to discover, organize, and manage, in an agile manner, the requirements that we must understand in order to build the system functionality our users need to go about their business or pleasure.
However, we haven’t yet described how to discover, understand, or deliver ...