Team Project Summer 2017

160 points

You will be creating an online bookstore which targets a particular niche in technology. The application, named Geek Text (think of thinkgeek meets barnes and noble) will need to support the following features:

Feature ID / Feature / Benefit
1 / Profile Management / Users can create and maintain their profiles rather than enter in
their information each time they order
DESCRIPTION: Users can manage their login credentials (ID,
password), personal information (name, email address, home
address), nickname for book rating and commenting, credit card
information (multiple), and shipping address (multiple). Physical
addresses, email addresses, and credit card info should be
verified as valid. Passwords must meet our current security
standards
2 / Flexible Search / Users will have a flexible, easy-to-use search capability to locate
books
DESCRIPTION: Search by author, title, or genre from a single search
field. Misspelling substitutions (i.e., “Did you mean … ”). Present
results as per-match algorithm.
3 / Shopping Cart / Users can manage items in a shopping cart for immediate or future
purchase
DESCRIPTION: Users can easily access their cart from any page, view
the same information displayed in the book list, change the quantity,
remove it from their cart, or save it for later. A subtotal for all items in
their shopping cart should be displayed at the bottom. Items saved for
later should appear below that.
4 / Purchase By Credit Card / Users can purchase products from us (as soon as implemented –
only beta up until then)
DESCRIPTION: Users can select from their preferred credit card and
shipping address as defined in their profile or add new ones. Visa,
Mastercard, Discover, and Diners Club are required. American
Express is optional. Must be PCI compliant.
5 / Shipping Method Selection / Users can select a shipping method based on cost, delivery speed,
and carrier
DESCRIPTION: Users can select a shipping method based on the
price, delivery speed, and estimated delivery date for all major carriers
(USPS, UPS, and FedEx).
6 / Book Details / Users can see informative and enticing details about a book
DESCRIPTION: Display book name, book cover (which can be enlarged
when clicked), author and bio, book description, genre, publishing info
(publisher, release date, etc.), book rating, and comments. Hyperlink
author’s name to a list of other books by the same author.
7 / Book List Sorting / Users can sort a list of books in a number of ways to more easily find
what they are looking for
DESCRIPTION: Sort by book title, author, price, book rating, and
release date. Allow for user to select the number of search results to
appear on each page.
8 / Book Browsing / Users will have a simple and enjoyable way to discover new books and
authors
DESCRIPTION: Allow user to browse books by genre, top sellers in our
book store, Tech Valley Times best sellers, and book rating. When
presenting books within a genre, place Tech Valley Times best sellers at
the top and then sort the remaining by book rating.
9 / Booking Rating / Users can rate books they’ve purchased to help others in their selection
process
DESCRIPTION: Use a five-star rating system. Users can only rate a book
if they’ve purchased it, and may select whether they show their nickname
(defined in their profile) or remain anonymous.
10 / Book Commenting / Users can comment on books they’ve purchased to help others in their
selection process
DESCRIPTION: A single comment should be limited to the number of
characters, which can fit within half the browser window (so that there
are at least two comments which can appear at the same time). Users
can only comment on a book if they’ve purchased it, and may select
whether they show their nickname (defined in their profile) or remain
anonymous.

The following features are required must be implemented:

-  Profile Management

-  Book Browsing

-  Book Details

-  Shopping Cart

The group must implement at least one (or more) of the remaining features to complete the project:

Roles:

The teams will consist of 5 people which will be the following:

1 Product Owner: The product Owner will break down the features into user stories for the rest of the team to consume. They can reach out to the developers if there are any questions.

1 Scrum Master/ Developer: The scrum master will be the lead person who is in charge of removing any impediments and bring up any issues to stake holders during the sprint. This will be a shared role as it is expected that they also pull in some stories for development

3 Cross Functional Resources: Will be responsible for developing and testing.

The team will have a different Product Owner and Scrum Master in each sprint, so everyone will have an opportunity to work under each role.

Each team will calculate their capacity for the sprint in the following manner :

Each developer is expected to work 4 hours a week, so each developer will have an 8 hour allocation per Sprint.

So 4 developers * 8 = 32 combined story points per Sprint.

The product owner during the sprint will be in charging of grooming the backlog and breaking down the features into user stories.

Timeline:

The project will be completed in 5 sprints, each lasting 2 weeks. Sprint 1 will start on the 2nd week of class.

Example:

·  Sprint 1 5/15 to 5/26

·  Sprint 2 5/29 to 6/9

·  Sprint 3 6/23 to 6/23

·  Sprint 4 6/26 to 7/7

·  Sprint 5 7/10 to 7/21

Deliverables:

1.  Source Code for Project

2.  Documents for Scrum Ceremonies

3.  Recordings of Reviews

4.  Final Demo completed

The source code should be checked into Github.

During each Sprint, each team will perform the following scrum ceremonies:

-  Daily Standup: A quick 5 minute meeting (at the beginning of class) in which the team members discuss what they accomplished the since they last met and what they plan to work on. Also any impediments are brought up.

Sprint Planning: A meeting to determine which of the backlog items will get pulled into the upcoming sprint.

-  Sprint Review: A meeting to showcase the completed stories to the stakeholders

Sprint Retrospective: A Meeting to determine what went right during the sprint and what can be improved.

During each ceremony, the scrum master will keep notes and load them into the Google Drive under the appropriate folder per team:

è  Team 1

o  Sprint 1

§  StandupNotes

§  SprintPlanning

§  SprintReview

§  SprintRetro

o  Sprint 2…

è  Team 2

o  Sprint 1…..

Public Google Drive for Class:

https://drive.google.com/drive/folders/0B0HFGWFmDNsqb3ZEeHpMRDlkRHc?usp=sharing

Grading Criteria Checklist:

160 points: Exceptional project. All scrum ceremony documents are completed. All reviews have fully demonstrated working code.

120+ points: Good project: Great project but can be improved upon. Some ceremony documents are missing. Some of the features are not fully functioning.

80+ points: Average project: The project does is missing the implementation of some of its core feature. Ceremony documents are incomplete.

40+ points: Barely any working software demonstrated, just mostly nonfunctional code. Hardly any documentation completed.

Document Templates:

The document templates are in the template folder in the google drive, make a copy of them to use in your sprints.

TeamStandup: This document should have 1 entry per class (or twice a week) where team members discuss what they are working on until the project is completed.

TeamPlanning: This document is filled out once per sprint at the beginning and will have the stories pulled into the sprint, their estimate and who is assigned to them.

TeamRetro: This document is filled out once per sprint after the review and will have 1) what went well 2) what didn’t go well and 3) what improvements can be made.

TeamReview: This document is filled out after the review occurs and WORKING software is demoed to the product owner. The product owner has to sign off that the stories have been closed in the sprint. The demoed should be recorded and made available to me for review.

Starter Stories For Feature 1

The following stories have been provided to get started on Profile Management:

·  As a book browser or purchaser I can create a user profile So that I do not have to enter my information each time I add books to my shopping cart or purchase books

·  As a book browser or purchases I can update my user profile So that I can keep it up to date as my personal information changes

·  As a book purchaser I can define my credit card preferences So that I do not have to enter my credit card information each time I purchase books

·  As a book purchaser I can define my shipping preferences So that I can do not have to enter my information each time I purchase books

·  As a book purchaser, I can securely login So that there is no chance that my personal data will be intercepted or hacked

·  As a book browser or purchaser I can deactivate my user profile So that my personal information no longer exists in the system after I decide I no longer want any interaction with the site

·  As a book purchaser who wants all of my personal information to remain confidential I can enter all personal, shipping, and credit card information each time I put something in my shopping cart and/or when I want to check out So that I know there is no chance that my personal data will be intercepted or hacked, and that I will not receive unwanted communications

·  As a book browser or purchaser I can add a nickname and avatar to my profile So that I can rate and comment on books without people knowing my true identity

Note: You don’t have to complete all of these stories on the first Sprint, but it will help you to get started and plan.

Final Demo

During the final week of class, the teams will have the project ready to demo from a given sandbox. I will ask you to demo the core features and any additional features.

Getting Started Checklist:

Before Sprint 1, you need to have the following ready:

1.  Meet your team members and exchange contact.

2.  Agree on technology and architecture

3.  Decide for Sprint 1 who would be:

  1. Product Owner
  2. Scrum master

4.  Review Document Templates

5.  Review Backlog of starter stories for feature 1 (Profile Management)

6.  Make sure you can access Google Drive

7.  Create GitHub project for your team