Course Assignment

Brief

This assignment is intended to bring the skills learnt in previous courses into practice within an agile team environment. Working in a team of 5 developers, you are required to plan and complete a four week contribution to an open-source project.

This project may be an open-source tool or framework that you have used before, an original open-source project that your team initiate, or a good cause such as a charity or non-profit organisation. The project must be hosted on GitHub and have a public repository.

You may ask your course facilitator to be assigned to a team if you are unable to find a suitable project.

⚠️ Note:

This assignment examines your ability to work as part of an agile team, your ability to manage collaborative work with Git and your problem solving ability. The quality of your code contributions is not assessed and does not form a part of your grade. It is up to each team to review each other’s work and ensure that it meets an agreed standard.

Process

Week 1 (Discovery)

  1. Spend some time researching open-source projects on GitHub.
  2. Select one or more open-source projects that you would like to contribute towards.
  3. Share these with the class group and find like minded developers.
  4. Form, join, or ask to be assigned to a team of 5 developers.
  5. Name your team and submit this form to register.

Week 2 (Planning)

  1. Meet as a team for project planning.
  2. Create a public fork of your chosen project repository.
  3. Use GitHub Projects to create a public project plan, including issues and milestones.
  4. Estimate complexity, and adjust your plan to fit within the available timeline if required.

Week 3-5 (Development)

  1. Meet as a team for sprint planning.
  2. Work through your assigned tasks, updating the issue status and history.
  3. Use one branch per task and create a pull request for each task.
  4. Review each other’s pull requests and merge them into the appropriate branch.
  5. Meet as a team for sprint review and retrospective.

Delivery

Provide the following links in a single document:

  • A link to at least one merged pull request that you have created.
  • A link to at least one merged pull request that you have reviewed.
  • A link to the project board filtered by your GitHub username.
  • A written reflection of your experience (~500-1000 words).