Skip to content

#3 Requirements Document

Adam Staples edited this page Jan 31, 2015 · 3 revisions

##Summary BudgetTracker is a simple application designed to help one keep track of a budget. It follows the "envelope" pattern of budgeting. Using BudgetTracker, a user creates as many envelopes as he/she desires, then specifies an amount of money to be allotted to each envelope (this can be a one time amount, or an amount that is "renewed" each day/week/month/year). Each time a user spends money, he/she records the transaction against the envelope that best fits the category of the money spent. BudgetTracker provides an simple overview of money remaining in each envelope, as well as a detailed history of all expenditures.

##Introduction This report consists of several sections, organized as follows:

  1. Background

  2. Product Scope

  3. Product Limitations

  4. Intended Audience

  5. Looking Forward

##1. Background The original motivation behind the idea of BudgetTracker was the pain involved in keeping track of a budget with a paper/pencil. Some of the pain points involved in the paper/pencil method include (but are not limited to):

  • Manual calculations are required to obtain totals and remaining balances
  • The paper the budget is written on is only available in one physical location at a time
  • Each month a new paper had to be made (involving transferring any remaining balances from the previous months, and creating the same basic "template" on a clean sheet of paper)
  • There was little/no privacy around the paper (anyone could look at it and see the amount budgeted)

With BudgetTracker, all of these pain points would be resolved:

  • All calculations are done automatically
  • BudgetTracker is cloud-based, allowing access anywhere there is a connection to the Internet
  • A user's budget persists from month to month and a "clean" template is automatically created with rollover balances, if desired
  • BudgetTracker offers user-authentication so that only an authorized individual may view a budget

With these pain points in mind, and a firm determination to resolve them, a team of nine individuals came together to create BudgetTracker.

##2. Product Scope The scope of the first version of BudgetTracker is reasonably tight. This prevents unneeded/unwanted features from creeping into the product and distracting/confusing the average user. As outlined in the page devoted to the Minimum Viable Product the initial scope includes:

  • The ability to create/edit a user account
    • Email
    • Password
    • First Name
    • Last Name
  • The ability to log in/out with a valid account
  • The auto-creation of a "budget" when an account is created (see section 3 on Product Limitations)
  • The ability to create/view/update/delete envelopes for the "budget"
    • "Envelopes" are defined as a "name", "type" (i.e. weekly/monthly/yearly), and "amount"
  • The ability to create/view/update/delete transactions against a given envelope
    • "Transactions" are defined as a "date", "payee", "amount" (amount can be positive or negative)
    • "Transactions" are associated with a given envelope, each transaction is the equivalent of putting money into/taking money out of an envelope, thereby changing the envelope's remaining balance
  • Support for a web application (accessible on both desktop and mobile) as well as a native iOS application.

##3. Product Limitations In order to keep the first version of BudgetTracker as simple and elegant as possible, the following features will be reserved for version 2.0, and will NOT be included in the initial version of our app.

  • The ability to create multiple budgets. In future versions, a user may have a "work" budget with several envelopes, and a "home" budget with several envelopes. For version 1.0 the user would need to create two accounts- one for "work" the other for "home" to get the same functionality.
  • Offline mode. For version 1.0, all changes that are effected in the interface persist immediately to the server (there is no caching/waiting until an Internet connection is available to sync).
  • The ability to "share" a budget between users. For version 1.0, you can't give your friend/child/parent access to view/change your budget.

##4. Intended Audience BudgetTracker is intended to be simple enough that anyone that can read and use an electronic device can use it. Due to its simple nature, BudgetTracker isn't likely to be the ideal solution for corporations or individuals requiring multiple users to have simultaneous access to the budget using separate accounts.

##5. Looking Forward Ideally BudgetTracker wouldn't have any limitations. In future versions of the product, BudgetTracker will ideally:

  • Provide the user with the ability to create/manage multiple budgets on a single account
  • Have an offline mode, which allows editing of a budget in offline mode, then syncs to the cloud when an Internet connection is available. This also entails any conflict resolution processes that may be necessary if the budget is edited concurrently by two separate individuals.
  • Provide the ability to "share" a budget between users. This would allow everyone from couples to companies to use BudgetTracker to digitally manage envelope style budgets.

Clone this wiki locally