The following was an assignment for the Software Engineering Basics course of Viking Code School’s prep work. As part of this course, Agile Development was explained and the SCRUM technique. The assignment provided a scenario in which an e-commerce application for Viking warriors needs to be developed using the SCRUM technique in the program Pivotal Tracker, an Agile Project Manager. The three critical goals for the users were described as:
- View the store’s inventory of axes.
- Keep track of the axes they want to purchase using a shopping cart.
- Check out and pay for their shopping cart.
The task was to use Agile Development to determine the scope of the application, break down the application into stories, determine the points value for each story, and prioritize the stories, all within a Pivotal Tracker project.
To begin, I broke down each goal into specific tasks the site needed to accomplish.
View the store’s inventory of axes:
- Create a homepage.
- Each item will appear in a list on the homepage rather than as individual item pages.
- Each axe should have an image, brief description, the price, and a button to add to cart.
- There should be an inventory count of each type of axe available.
- Each time an axe is purchased, the inventory should reflect this.
- Since the number of axe choices is small, there will be no navigation aside from the purchasing process.
Keep track of the axes they want to purchase using a shopping cart:
- A shopping cart page will be created.
- Each time a user clicks the add to cart button for an item, a quantity choice should be selected. The maximum quantity should equal the total inventory available for that axe type.
- Once the user adds items to their cart, that quantity should be subtracted from the inventory.
- There should be a button to view the inventory and begin the checkout process.
- The cart page should display the quantity and price of each type of axe in the cart, along with a total cost. The user should confirm these details before moving on to enter payment details with a continue checkout button.
- The cart page should also contain a continue shopping button to return to the homepage.
- The cart page should also include remove options for items if the user decides to not purchase an item any longer. The inventory should reflect this.
Check out and pay for their shopping cart:
- The checkout page should include a form to enter their personal information and payment details with text input fields for first and last name, shipping address, billing address, and credit card information. A button for confirm purchase will complete the transaction.
- The form should return an error if any of the text input fields are left blank when the user hits the confirm purchase button.
- The checkout page should also include a cancel order button. If used, the inventory should reflect this.
- If confirm purchase is selected, the user is taken to a confirmation page with a thank you and an invoice for their purchase. The shopping cart should be emptied.
Additional optional features:
- Add a sort items option to sort by price (low to high or high to low) or alphabetically by title.
- Add a search bar to search for keywords in the title or description of an item.
Next, I created stories based around the above information, including the who, what, and why. I have included screenshots from Pivotal Tracker for each story below.
After creating each of the above stories, I created three epics titled:
- initial website
- shopping cart feature
- sort and search features
An epic is a group of stories that compose a particular portion significant for release. The initial website includes the bare bones site with a direct to checkout purchase feature. These are the top priorities to make the website functional. The second epic adds the shopping cart page and the features associated with it. The third epic includes the optional search and sort features.
This assignment taught me about how Pivotal Tracker functions and has left me with the impression that it is a great tool to utilize in organizing the modules of the production process.