This is my final submission and learnings for the coursera honors project as a part of the Introduction to Agile Development and Scrum certification course.
In this project, (Problem statement given - we develop a product catalog for an e-commerce website. This includes essential CRUD operations for products, features like product liking, cloud hosting, and automated deployments.)
Expected Outcome - To manage the project through Agile practices using GitHub Projects and Kanban board.
We follow Agile methodologies to organize and execute tasks. Here's a high-level view of the process:
-
Create Repository & Project:
- Repository: final-agile-planning
- Project: [Final Project Kanban Board]
-
Define User Stories:
- Create a Product: As a user, I need to create a product so that it can be added to the catalog.
- Retrieve a Product: As a user, I need to retrieve a product so that I can view its details.
- Update a Product: As a user, I need to update a product so that I can modify its details.
- Delete a Product: As a user, I need to delete a product so that it can be removed from the catalog.
- Like a Product: As a user, I need to like a product so that it can show my preference.
- Dislike a Product: As a user, I need to dislike a product so that it can show my disinterest.
- List All Products: As a user, I need to list all products so that I can view the catalog.
- Query Products: As a user, I need to query a subset of products so that I can find specific items.
- Cloud Hosting: As a user, I need the catalog hosted in the cloud so that it’s accessible globally.
- Automated Deployment: As a user, I need automated deployments so that changes are reflected without manual intervention.
-
Organize Issues:
- Move List All Products and Query Products to the Icebox.
- Move the rest to the Product Backlog.
-
Backlog Refinement:
- Rank stories based on priority.
- Update top 5 stories with acceptance criteria using Gherkin syntax.
-
Labels:
- Add
enhancement
ortechnical debt
labels to all stories.
- Add
-
Sprint Planning:
- Create a 2-week sprint milestone named Sprint.
- Move top 4 stories to Sprint Backlog with story points.
As a user
I need to create a product
So that it can be added to the catalog.
Acceptance Criteria:
Given a form to enter product details
When I submit the form with valid data
Then the product is created and added to the catalog
My project workflow follows Agile practices using a Kanban board. Here’s a step-by-step guide to our Kanban workflow:
-
Select Stories:
- Choose the top 4 user stories from the Product Backlog.
- Assign them to the current sprint milestone named Sprint.
-
Estimate Story Points:
- Assign story points to each selected story based on complexity.
-
Move to Sprint Backlog:
- Move these stories from the Product Backlog to the Sprint Backlog.
-
Start Work:
- Assign the top story to yourself.
- Move the story from Sprint Backlog to In Progress.
-
Progress the Story:
- Work on the story until it is ready for review.
- Move the story from In Progress to Review/QA.
-
Review and Complete:
- After review, move the story to Done.
- Take the next story from the Sprint Backlog, assign it to yourself, and move it to In Progress.
-
Repeat Steps:
- Continue the process until the sprint ends.
- Burndown Chart: Monitor the burndown chart to track the sprint's progress and ensure that tasks are on track for completion.
The burndown chart is an essential tool for tracking the progress of our sprint. It shows the remaining work versus the time available.
-
Setup:
- Use GitHub’s in-built charting for detailed analytics.
-
Monitoring:
- Check the chart regularly to ensure the team is on track.
- Adjust workload if necessary to meet sprint goals.
We use the following tools and technologies for this project:
- Project Management: [GitHub Projects]
- Aditi Chhajed - Product Owner, Scrum Master, Developer
Feel free to reach out for any questions or suggestions.