User Analysis 

"Thrift-ster" User Persona

Mr. Spend Thrift is a recent college graduate and now full-time employee in the "real world."  He has always been particular about where his hard-earned cash goes.  If given the opportunity, he will always choose the budget option; tap water instead of bottled or soda, fill up on complimentary restaurant bread to buy a smaller-portioned and cheaper-priced entree, redeem 30-cent coupons at grocery stores, and pay exactly 10% for tip.  Thus when there comes a time when he must dough out cash for a buddy, Thrift is relentless in making sure that his buddy pays back in a timely manner.  Thrift's primary concern is that the app is effective (just as if not even more than himself) in "harassing" his dependents to pay up.  With every cent being important in the eyes of Thrift, he would like to see PennyPincher be an accurate and reliable app that is also suitable for harassing those that owe him money.  Thrift quotes, "It's not very long that someone has an outstanding balance with me.  Could this app harass people for my money as well as I do?" clearly highlighting his monetary priorities.

Heavy Lender/User Persona

John Doe is a regular MIT student who is pretty nitpicky about his money and likes bills to be split equally. He really doesn’t mind paying for others, but gets annoyed when multiple people borrow money and then forget to pay it back. He finds that he can manually keep track of how much people owe him and how much he owes others, but finds that it’s simply too cumbersome and slow to be effective when there’s more than four people. Since John would use this app extensively as he likes to keep a detailed record about his money, he would like a simple user-interface that allows him to input records super efficiently. 

Lessons learned from User Personas

Current Solution for Debt Tracking

Requirements of Desired Solution

Task Analysis

The PennyPincher application will attempt to perform three main tasks

  1. Adding people (people who owe you money or you owe money to)
  2. Add transaction (Users are allowed to say that another person owes them X amount of dollars)
  3. View all transactions (like a credit-card bill)
  4. Disputing transactions (for potentially incorrect charges)
1. Adding People

Goal: Allow users to register a two-way connection with people that owe them money. 

Subtasks: 

Preconditions:

Postconditions:

2. Adding/Approving a transaction

Goal: Allow users to input an amount that a particular person owes them 

Subtasks: 

Postconditions: 

3. Viewing Transactions

Goal: Allow users to have a complete review of all posted transactions.  This will emulate what a credit card statement might reflect; providing information about charges applied against a user (other people posting that a user owes) as well as transactions that are credited towards the user (a user claiming that other people owe him/her).

Subtasks: 

4. Disputing Transactions

Goal: People make mistakes; when there is a transaction against the user that he/she deems incorrect, it may be disputed.  Upon dispute, that transaction will be flagged for in-person or alternative settlement. 

Subtasks: 

Preconditions: 

Postconditions: