Agile and Scrum Final Project: Overview and Scenario OVERVIEW  Now that you have been equipped with the knowledge and skills to create sprint plans, you will have the opportunity in this final project to practice and apply it by creating stories, assembling them into a product backlog, refining them to produce a sprint plan, and perform a mock sprint that involves moving stories across your kanban board as your team would do in a real sprint. 

FINAL PROJECT SCENARIO  In this scenario, you will play the roles of a product owner, scrum master, and developer. As a product owner, you will create stories for your team and organize these stories into a product backlog. As a scrum master, you will create a sprint milestone and make sure that a subset of the stories is ready to be placed in a sprint plan. As a developer, you will create the sprint backlog and execute some of the stories by moving them across the kanban board in a simulated sprint.

Your team has been asked to develop the backend product catalog for an e-commerce website. Your stakeholders need the ability to create products, retrieve products, update products, and delete products from the catalog. They have also asked for the ability for customers to indicate that they "like a product and have the site display the like count on the product page.” In addition to the catalog functionality, they have asked that it be hosted on a cloud environment with automated deployments.

Your team will use ZenHub to provide a kanban board to create a backlog and sprint plan for this work. As the product owner, you will be driving the process. You need to leverage the skills you learned in the lessons and labs to create a new GitHub repository and ZenHub kanban board and fill the kanban board with issues that will become your user stories.

ZENHUB  For this project, you will use ZenHub and GitHub in the same way that you did for the labs. You will create a new GitHub repository and a ZenHub kanban board. 

STAKEHOLDER REQUIREMENTS These are the requirements from your stakeholders that you should use to create the user stories in ZenHub.

👌 Need the ability to create a product in the catalog.

👌 Need the ability to retrieve a product from the catalog.

👌 Need the ability to update a product in the catalog.

👌 Need the ability to delete a product from the catalog.

👌 Need the ability to "Like" a product in the catalog.

👌 Need the ability to "Dislike" a product in the catalog.

👌 Need the ability to list all products in the catalog.

👌 Need the ability to query a subset of products in the catalog.

👌 Must be hosted in the cloud.

👌 Must have automation to deploy new changes to the cloud.

INSTRUCTIONAL TASKS  To help you finish the final project, we have provided a list of instructional tasks to guide you: 

Create a new GitHub repository called "agile-final-project" and make sure that it is public.

Create a workspace in ZenHub called "Final Project" that is linked to the repository.

Create an issue template for the new repository like you did in the labs.

Create issues for the stakeholder requirements listed above (10 in all). For now, just fill in the "As a... I need... So that..." section of the template.

Move the issues that represent requirements 7 and 8 into the Icebox.

Move the remaining issues into the Product Backlog.

Conduct a Backlog Refinement meeting and rank the Product Backlog so that the stories match the requirements above in the order: 1, 2, 3, 4, 9, 10, 5, & 6.

Update the top 5 stories in the Product Backlog with acceptance criteria following the Gherkin "Given... When... Then..." syntax.

Create a "technical debt" label.

Add labels to all the stories in the Product Backlog of either "enhancement" or "technical debt".

Create a sprint milestone with a duration of 2 weeks, with the name "Sprint 1" in the title, and a sprint goal in the description.

Conduct a Sprint Planning meeting. Add the top 4 stories to the sprint by assigning them to the sprint milestone. Assign story points estimates. Move these 4 stories to the Sprint Backlog.

Simulate a sprint by assigning the top story to yourself. Then move this story to the In Progress pipeline.

Move the story that you just assigned to yourself to Review/QA. Take the next story from the Sprint Backlog and assign it to yourself. Move it to the In Progress pipeline.

Move the story in Review/QA to Done. Move the story from In Progress to Review/QA. Take the next story off the Sprint Backlog, assign it to yourself, and move it to the In Progress pipeline.

Move the story that is left in Review/QA to Done. Leave the story that is in the In Progress pipeline where it is. This is the end of the sprint.

Make sure that your burndown chart displays correctly.

Share the URL of your kanban board for peer review.