The goal of this project is to work collaboratively in a Scrum team on a real project, allowing for incremental changes and adding new features and technologies. The project is expected to last for at least four sprints, but it may extend beyond the duration of the course.
As your Codecool Journey nears its end, it's time for a final Teamwork Project that will test the programming skills you've acquired so far. This project allows you the freedom to choose your teammates (assemble a team of 3-4 students) and decide on the project's topic. You can choose an app that would be useful in your daily activities, a tool for a specific industry, a fun game, or something entirely unique.
The project will be developed in a Scrum manner, with each sprint introducing incremental changes and new features. There are no direct tasks provided, but there are technical requirements for each sprint.
- Work in a Scrum team on a real project.
- Develop the project iteratively.
- Deliver increments in each sprint.
- Create a Product backlog (on Github) with user stories that cover the desired feature set for this sprint.
- Break down user stories into smaller tasks, prioritize them, estimate them, and determine the achievable progress for this sprint.
- Use technologies that support an Agile workflow.
- Create an Issue on GitHub for each backlog item.
- Define a Project on GitHub for each sprint, containing all the relevant issues.
- Open and maintain a Pull Request for each feature branch, linking it to the respective Issue.
- Assign an assignee responsible for each Issue.
- Include at least one Reviewer in each Pull Request.
- Backend: Develop the project using Spring Boot.
- Frontend: Implement the frontend using React.
- Implement the features and tasks listed in the Sprint backlog.
- Aim to complete at least 70% of the sprint plan (measured in estimation points).
- Conduct a daily Scrum meeting organized by the Scrum Master (limited to 15 minutes).
- Introduce necessary corrections to the sprint plan, validate them with a mentor, and update the backlog accordingly.
- Organize a Sprint Review meeting after the demo to evaluate the fulfillment of the planned Sprint Backlog and assess its balance and thoughtfulness.
- Create an Increment Document after each Sprint Review, documenting the changes made to the product during the sprint.
- Conduct a Sprint Retrospective meeting to discuss the work done, identify successful practices, highlight areas for improvement, and determine what should be stopped or introduced.