This is the code repository of USeR, a User Story eReviewer.
USeR is a web-based tool that allows authors, such as Product Owners in agile software projects, to assess and optimize user story quality. It implements a user interface for instant, consistent, and explainable user feedback, supporting fast and easy quality optimizations.
USeR was pre-built on a small "demo" German user stories dataset to showcase its behavior. To achieve optimal results, it is recommended to import larger datasets, comprising more than 150 user stories.
make build
make up
http://localhost:3000
- Define a project identifier(s), e.g., p2 in ./api/config/default.cfg. Multiple projects are possible, separated by a comma (,).
[app]
projects = p1,p2
- Add the project identifier(s) in ./web/src/config.json and change the default project if preferred.
"projects": [
{
"key":"p1"
"default":true
},
{
"key":"p2"
}
]
Provide the raw backlog(s) with the user stories as ./api/importer/p2_backlog_raw.csv.
Create a new ./api/importer/p2_importer.py that imports the raw user stories. The importer can be adapted to import project-specific CSV formats.
Import the new p2_importer in the ./api/manage.py.
from importer.p2_importer import P2Importer
- Finally, execute
make ready
- Add the project identifier(s) e.g., p2 in ./api/config/tests.cfg
[app]
projects = p1,p2
Provide the raw test backlog(s) with the user stories as ./api/tests/importer/p2_backlog_raw.csv.
Define test classes and cases in ./api/tests/test_*.py e.g., class P2UserTestCase(unittest.TestCase).
Run all tests
make test
make restart
make stop
This code repository has been utilized in the context of the following publication: Hallmann, D., Jacob, K., Lüttgen, G., Schmid, U., & von der Weth, R. (2025). USeR: A Web-based User Story eReviewer for Assisted Quality Optimizations. arXiv preprint arXiv:2503.02049. PDF