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. Tom 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. Mary Shopoholic 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 DaveBossBusinessBossBusiness and Sally, I want to be able to scan my receipts so that the information from the receipts is easily put into the database
As Sally, I would like to be able to categorize my receipts so that the information is easier to find.
As Tom, I would like to serialize the data so that I can close the program and reopen it later.
As Mary, 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 Tom
- As Tom, I want to be able to share my spending with my wife so we can both see our household spending.
- As Tom, I want be able to save the items I have input into the system so I can see them at a later date.
- As Tom, 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 when I purchased what where.
- As Sally and 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 Mary
- As Mary, I would like to be able to create my own personal categories so I can track my spending for each of my hobbies.
- As Mary, I want to see my spending visually in different graphs so that I know what I overspend on.
For Sally
- As Sally, I want to be able to save a picture of her receipt so I can get the textbook code for later.
- As Sally, I’d like to be able to search my purchases by tag/category so that I can see how I spend my money.
- As Sally, 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 Sally, I can set time-framed budget goals for myself so that I can better plan my finances
Acceptance Test
-
User Story: As Sally, 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
- Set budget of 1,000,000 and make a purchase
- Set weekly budget of 1 and go over-budget
- Set weekly budget of 1000 and go under-budget
- Tests:
-
User Story: As Sally, 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: 5. Search for tag that exists 6. Search for a tag that doesn’t exist 7. Search for an empty string 8. Search for a very long string 9. Search for a special character
-
As Mary, I would like to be able to create my own personal categories so I can track my spending for each of my hobbies.
- Tests: 10. Test that a new category is created 11. Test that a new category is selectable 12. Test that a new category is saveable
-
User Story: As Sally 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: 13. Cost is correct more than 90% of the time 14. Date is correct more than 90% of the time 15. Store name is correct more than 90% of the time
-
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: 16. Test if data is written to database 17. Test if data is readable from database 18. Test if written data is readable from database
-
User Story: As DaveBossBusiness, I want to be able to manually enter the price so that I know the cost is right.
- Tests: 19. Data is saved correctly 20. Data is only numbers 21. Data is numbers and letters 22. Data is only letters 23. Data is special characters
-
As Mary, I want to see my spending visually in different graphs so that I know what I overspend on.
- Tests: 24. Graph output is correct 25. Pretty
-
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 a picture: 26. JPEG 27. PNG
- Test that file path saved correctly
- Test non-images 28. TXT 29. DOC(X) 30. PDF
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 Mary, 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 Mary, 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 the 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
- MaryShopoholic 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
- Michael & Lucas (Front-end)
- Specify choice of technology:
- HTML, CSS, JS, D3.js Electron
- Angular or React
- NodeJs
- Specify choice of technology: