knitr::opts_chunk$set(echo = TRUE)
https://github.com/jvandemo/github-scrum-workflow https://docs.github.com/en/free-pro-team@latest/github/managing-your-work-on-github/managing-your-work-with-issues-and-pull-requests
Turn any GitHub repository into a simple but powerful agile work environment.
Free, simple and fast so you can focus on the actual coding!
Summary:
Adapted from Wikipedia - The free Ecyclopedia
In software development, agile (here written as Agile) practices approach discovering requirements and developing solutions through the collaborative effort of self-organizing and cross-functional teams. Their customer(s)/end user(s) play a pivotal role in the work process and are involved in reviews at regular intervals. It advocates adaptive planning, evolutionary development, early delivery, and continual improvement, and it encourages flexible responses to change.
The Agile way of working is also very suitable for Scientific projects that have elements of Data Science and Software development. Because it is short-cycle development and prototyping, it is very useful in projects where different tasks need to be integrated in a tool or workflow or analysis. During the Data Science Projecticum, we will require you (within you project team, to apply the Agile way of working).
In practical sense, scrum is the collection of meetings and the tools used to administer the workload. The central tool that is being used to monitor all activities is called the 'Project Backlog'. You can look at this 'Project Backlog as the collection of all the work that needs to be done to complete the full project. Because the Agile way of work does not work with long term planning, but works according short cycles of developing a product, a service or perform a study, or involve stakeholders, the 'Project Backlog' is where all the team members go regularly together to agree on what needs to be done next.
The short cycles of working on developing new features, running computations, performing experiments, interviewing customers and stake-holders and acquiring new tools are called 'Sprints'. In each sprint, which typically lasts 3 working weeks, a number of items from the Backlog are 'moved' to the so-called 'Sprint Backlog'. During regular weekly sessions discussion take place which items need to go from the 'Project Backlog' to the 'Sprint Backlog' in order to add value to the project. These sessions are called 'Sprint planning'. At the start of each sprint a single
Image: Scrum primer.
To effectively collaborate with your partner on the Data Science Projecticum Assignment, you will need to setup a new organization in Github. Each project assignment comes with its own 'Acronym'. Use this acronym to setup the organization. Once the organization is created you can start working on your project. Be sure to add all supervisors to your organization and the repositories for your project.
To create a new backlog item, just create a new issue.
Once a new issue has been created, assign it the right labels and/or assign it to a sprint (milestone).
Issues allow you to have a conversation about the item and even allow you to create task lists inside the issue using GitHub's markdown.
Add the following labels to your repository:
priority
labels allow you to prioritize items in your backlog e.g.:
priority: lowest
priority: low
priority: medium
priority: high
priority: highest
type
labels allow you to easily filter items (issues) in the dashboard e.g.:
type:bug
: bugtype:chore
: chore, maintenance worktype:feature
: new featuretype:infrastructure
: infrastructure relatedtype:performance
: performance relatedtype:refactor
: refactortype:test
: test relatedYou can define and assign custom labels that you need within your workflow or organization.
You can create a milestone for every sprint and add items (issues) from the backlog to a milestone.
This allows you to group items in sprints and track them by milestone in your issue dashboard.
The backlog then consists of all items (issues) that have no milestone
attached to it.
TIP: Use no:milestone
in the search field on your issue dashboard to find backlog items.
The follow up for this lesson will be an online demo provided by one the SCRUM masters at the HU. In this demo we will focus on the good practices when working in an Agile/SCRUM team and learn how to apply the baics in your own project work.
A) Study the github documentation on "Project Boards" here
B) Setup a project for your projecticum in your github account.
C) The teachers have created a specific repo for your projecticum project and have added you to them, Link this repo to the project you just created.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.