Sprint Deliverables - RyanGuzelian/Alpha_team_soen341project2023 GitHub Wiki

The purpose of this page is to ensure our team fulfills all the corresponding Sprint requirements.

Sprint 1

Requirements

Activities Sprint Details Reference Status
GitHub Initiation Create repo and add project contributors Project GitHub Completed
README File Add project description, team members and roles, project approach, and technology README.md Completed
Task Breakdown Provide 4 user stories with details, including team members' responsibilities (if known) Initial User Stories Completed
Commits Open issues or plan for the next Sprint Open issues Completed

Sprint 2

Requirements

Activities Sprint Details Reference Status
Label Creation Create issues with the label 'User Story' Link to: GitHub Labels Completed
User Stories Define user stories in the proper format: As a __, I want to __ because __ Link to: Issues Completed
Task Breakdown Break down these user stories into tasks and create references appropriately Link to: User Story & Task Breakdown Tracker Completed
Story Points Allocate story points to the user stories with explanation Link to: Story Point Allocation: Planning Poker Completed
Feature Development Develop at least one feature and implement it, share it and contribute all to the work Link to: Need to add brief description Completed
Acceptance Tests Identify at least 2 acceptance test suites for the user stories, make them clear to find and link on GitHub Link to: [Acceptance Tests] Link to: [Methodology] Completed
Risks Identify some risks with importance and consequences and possible countermeasure Link to: Risk Analysis, for more details: Discussion Completed
Sprint Planning Summarize your plan for next sprint Link to: Sprint Planning Completed
Meeting Minutes Update the meetings minutes Link to: Meeting Minutes Completed

Sprint 3

Requirements

Activities Sprint Details Reference Status
User Stories Define user stories in the proper format: As a __, I want to __ because __ Link to: Issues Completed
Task Breakdown Break down these user stories into tasks and create references appropriately Link to: User Story & Task Breakdown Tracker Completed
Feature Development Develop all 4 core features Link to: Need to add brief description In Progress
Acceptance Tests Identify at least 2 acceptance test suites for the user stories, make them clear to find and link on GitHub Link to: [Acceptance Tests] Link to: [Methodology] Completed
Risks Identify some risks with importance and consequences and possible countermeasure Link to: Risk Analysis, for more details: Discussion Completed
Sprint Planning Summarize your plan for next sprint Link to: Sprint Planning Completed
Meeting Minutes Update the meetings minutes Link to: Meeting Minutes Completed
Continuous Integration Pipeline Automatic tests execution while committing to the main branch Link to: [Pipeline] In Progress

Label Creation

Custom labels were created to help us categorize issues, pull requests, and discussions. The labels were grouped by color, according to broad themes. Additionally, descriptions for each label were added to let contributors know which label they should use.

To view the full list of labels and their descriptions, visit: GitHub Labels.

User Stories

User stories were defined in the proper format: As a __, I want to __ because __ . Buzzwords, technical terminology, and acronyms were avoid to keep them simple and accurate. Moreover, as sprint planning took place and we worked on defining the upcoming work for future sprints, we developed user stories from the following perspectives:

  • As a General User: to encompass the general features available to all of the users of the web app.
  • As an Admin: to encompass the additional features available specifically to Administrators.
  • As an Advisor: to encompass the additional features available specifically to Advisors.
  • As an Employer: to encompass the additional features available specifically to Employers.
  • As a Job Seeker: to encompass the additional features available specifically for Job Seekers.

To identify user stories, note that all of them have the corresponding User Story label applied to them.

Task Breakdown

In order to properly link tasks to their corresponding user stories, references were created.

Story Points

In an effort to obtain user story estimates, the team used an agile estimating and planning technique called Planning Poker.

Planning Poker

Planning poker is a consensus-based estimating technique used by development teams to estimate their product backlogs. The goal was to get estimates that would help determine how much work can be done during a sprint. We used a series of cards with the following numbers 0, 1, 2, 3, 5, 8, 13 (Fibonacci sequence). These cards were used to estimate the story points for each user story. As a reference, we considered that front-end tasks such as designing or creating forms would be worth 2 user story points (given that the majority of members are new to React components), at this stage, members are still familiarizing themselves with the chosen back-end technologies, and we determined it is requiring similar effort, at this point. Nonetheless, we hope to adjust story points as the team gains more experience. It is expected that by Sprint 3, front-end tasks will require less effort than back-end tasks. Once consensus was achieved, story points were allocated to each user story. The process did include looking at tasks as well in order to get a deeper understanding.

Feature Development

Sprint core Feature Description
Sprint 1 * Setting up GitHub * Assigning Roles * Creating firsts User Stories * Defining project parameters and guidelines In Sprint 1 the team familiarized with GitHub, we defined the language, frameworks and tools
Sprint 2 * Adding Sign in and Sign up features * Adding profile page * Adding more User stories Team worked on creating more User stories as well as implementing 2 of the 4 core features
Sprint 3 * Adding Posts management feature * Adding notification System * Adding more User stories Team worked on creating more User stories as well as implementing all core features

Acceptance Tests

Acceptance tests were created considering both success and failure scenarios.

To view a list of acceptance tests, visit: [Acceptance Tests]

Risk Assessment

Risks were identified by carefully evaluating each user story. Once the risks were identified, possible consequences, and countermeasures were included. Finally, a risk matrix was used to properly classify the risk according to its probability and overall impact.

To view a full list of the risks identified so far, visit: Risk Analysis. The following risk matrix was used to determine risk levels:

Additionally, the team also discussed two risks associated with the overall project including:

Risk Probability Impact Level Countermeasure
Underestimating the time required to complete a Sprint Low High Low Estimate story points and revise periodically.
A team member leaves the project Medium High Medium Maintain documentation in order.

Sprint Planning

An agile project board on GitHub were implemented to organize and prioritize our work. Visit: Sprint 3 Board, and make sure to read our User Story & Task Breakdown Tracker, it contains a full description for Sprints 3 and 4.