Milestone 3
The Personas
TomLowIncome: is a low income father of a family of 4 who just got a job at a local slaughterhouse making minimum wage and is living paycheque to paycheque and would like to better manage their finances. TomLowIncome is moderately tech literate, having previously used Excel, but would like to work with software that is easier to use and more sophisticated.
MaryShopaholic: is a 27 year old single middle class shopaholic that makes enough money to live comfortably, but enjoys spending money on her various hobbies, which has made paying rent difficult on occasion. She has tried to set budgets before using physical paper copies of her receipts but with how much time it took she quickly gave up. MaryShopaholic is a visual learner. She is moderately tech savvy as she has a middle management job at a local potash mining company and is comfortable using applications like Excel and Word.
DaveBossBusiness: is the boss of a small business called Blossom's Lawn Care, that he started 2 years ago. DaveBossBusiness is 26 and has a degree in marketing. He is moderately knowledgeable in technology. DaveBossBusiness works seven days a week and lives with his girlfriend, Alice who is the manager at a local tire shop and only has a high school degree. DaveBossBusiness has always had problems with losing his business receipts.
SallyStudent: is a 20 year old university student who moved from a small town to attend university. SallyStudent’s parents aren’t exactly well off, so between student loans and only working part time, she has a very tight budget. Being a university student however, means that SallyStudent needs to be able to be able to blow off some steam every once in a while. She needs a way to track and manage her limited budget, but like most students today, can’t be bothered with anything other than an app. SallyStudent is quite proficient with technology, having grown up in the age of computers and smartphones.
Epics
As DaveBossBusiness, I want to be able to enter my receipts manually so I know all of the information is correct.
As DaveBossBusiness and SallyStudent, I want to be able to scan my receipts so that the information from the receipts is easily put into the database
As SallyStudent, I would like to be able to categorize my receipts so that the information is easier to find.
As TomLowIncome, I would like to serialize the data so that I can close the program and reopen it later.
As MaryShopaholic, I would like to see my spending visually in a way that’s intuitive and makes sense so that I can intuitively know what I overspent on.
User Stories
For TomLowIncome
- As TomLowIncome, I want to be able to share my spending with my wife so we can both see our household spending.
- As TomLowIncome, I want be able to save the items I have input into the system so I can see them at a later date.
- As TomLowIncome, I want to set constraints on my budget based on tag/category so that I don’t overspend on unnecessary items.
- E.G. $20/month allotted for entertainment
For DaveBossBusiness
- As DaveBossBusiness, I want to be able to manually enter the price so that I know the cost is right.
- As DaveBossBusiness, I would like to manually input the tax amount so that the total amount from that receipts taxed the proper amount.
- As DaveBossBusiness, I want to be able to categorize business purchases so that it is easier to know what I purchased, and when and where I purchased it from.
- As SallyStudentand DaveBossBusiness, they don’t have a lot of time/I’d like to save time and would like to be able to scan receipts and have all the information automatically captured to save me time.
- As DaveBossBusiness, I capture a lot of receipts for my business and I don’t want to have all my storage space occupied by pictures.
For MaryShopaholic
- As MaryShopaholic, I would like to be able to create my own personal categories so I can track my spending for each of my hobbies.
- As MaryShopaholic, I want to see my spending visually in different graphs so that I know what I overspend on.
For Sally
- As SallyStudent, I want to be able to save a picture of her receipt so I can get the textbook code for later.
- As SallyStudent, I’d like to be able to search my purchases by tag/category so that I can see how I spend my money.
- As SallyStudent, I’d like to be able to search my purchases by company/business name so that I can see where I spend my money.
- As SallyStudent, I can set time-framed budget goals for myself so that I can better plan my finances
Acceptance Test
-
User Story: As SallyStudent, I can set time-framed budget goals for myself so that I can better plan my finances
- Tests:
- Set budget of 0 and make a purchase shows you're over budget
- Set budget of 1,000,000 and make a small purchase you're under budget
- Set weekly budget of 1 and go over-budget shows you're over budget
- Set weekly budget of 1000 and go under-budget shows you're under budget
- Tests:
-
User Story: As SallyStudent, I’d like to be able to search my purchases by tag/category so that I can see what I spent my money on
- Tests:
- Searching for tag that exists works correctly
- Searching for a tag that doesn’t exist fails gracefully
- Searching for an empty string fails gracefully
- Searching for a very long string works correctly
- Searching for a special character works correctly
- Tests:
-
User Story: As MaryShopaholic, I would like to be able to create my own personal categories so I can track my spending for each of my hobbies.
- Tests:
- Test that a new category is created
- Test that a new category is selectable
- Test that a new category is saveable
- Tests:
-
User Story: As SallyStudent and DaveBossBusiness, I don’t have a lot of time/I’d like to save time and would like to be able to scan receipts and have all the information automatically captured to save me time.
- Tests:
- Cost is correct more than 90% of the time
- Date is correct more than 90% of the time
- Store name is correct more than 90% of the time
- Tests:
-
User Story: As DaveBossBusiness, I want be able to save the items I have input into the system so I can see them at a later date.
- Tests:
- Test if data is correctly written to database
- Test if data is correctly read from the database
- Test if written data is readable from database
- Tests:
-
User Story: As DaveBossBusiness, I want to be able to manually enter information so that I know the cost is right.
- Tests:
- Data is saved correctly
- Data is only numbers for the numeric entries
- Data is all allowable characters for string entries
- Tests:
-
User Story: As MaryShopaholic, I want to see my spending visually in different graphs so that I know what I overspend on.
- Tests:
- Graph output is correct
- Graph is visually appealing
- Tests:
-
User Story: As SallyStudent, I want to be able to save a picture of her receipt so I can get the textbook code for later.
-
- Test saving picture works correctly with the formats:
- JPEG
- PNG
- Test that file path saved correctly
- Test saving picture works correctly with the formats:
-
- Test non-images fail gracefully
- TXT
- DOC(X)
- Test non-images fail gracefully
-
Story Points
# | Story | Estimate |
1 | As SallyStudent, I can set time-framed budget goals for myself so that I can better plan my finances | 1 |
2 | As SallyStudent, I can search their purchases by tag/category so that they can see what they spend their money on (database already created) | .5 |
3 | As MaryShopaholic, I would like to be able to create my own personal categories so I can track my spending for each of my hobbies. | 2 |
4 | As SallyStudent and DaveBossBusiness, I don’t have a lot of time/I’d like to save time and would like to be able to scan receipts and have all the information automatically captured to save me time. | 5 |
5 | As DaveBossBusiness, I want be able to save the items I have input into the system so I can see them at a later date. | 3 |
6 | As DaveBossBusiness, I want to be able to manually enter the price so that I know the cost is right. | 2 |
7 | As MaryShopaholic, I want to see my spending visually in different graphs so that I know what I overspend on. | 3 |
8 | As SallyStudent, I want to be able to save a picture of my receipt so I can get my textbook code for later. | 2 |
Action Plan
This Milestone:
- As a group
- User roles, story points
- Jorgen
- TomLowIncome persona
- Saving picture / Saving receipt data / creating categories for hobbies user stories
- Acceptance cases respectively.
- Jeremie
- MaryShopaholic persona
- Storing data user stories
- Proofreading document
- Michael
- DaveBossBusiness persona
- Manual entering user stories
- Couple acceptance cases
- Lucas
- SallyStudent persona
- Category epic
- SallyStudent user stories
- SallyStudent Acceptance tests (1 and 2)
Next Milestone:
- As a group
- Define the domain model (e.g. class diagram)
- Database schema and glossary/data dictionary.
- Submit a prioritized product backlog
- Jorgen & Jeremie (Back-end)
- Specify choice of technology
- NodeJs
- SQLite
- Specify choice of technology
- Michael & Lucas (Front-end)
- Specify choice of technology:
- HTML, CSS, JS, D3.js Electron
- Angular or React
- NodeJs
- Specify choice of technology: