Lesson 3.2 - Agile/Scrum {#agilescrum}

knitr::opts_chunk$set(echo = TRUE)

Resources

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

GitHub scrum workflow

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:


Agile/SCRUM

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.

Agile explained

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).

SCRUM

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

Workflow

en_overview

Image: Scrum primer.

Github organization and Data Science Projecticum

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.

How it works in Detail

1. Create issues as backlog items

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.

2. Add labels to issues

Add the following labels to your repository:

Priorities

priority labels allow you to prioritize items in your backlog e.g.:

Types

type labels allow you to easily filter items (issues) in the dashboard e.g.:

Other

You can define and assign custom labels that you need within your workflow or organization.

3. Define sprints as milestones

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.

Helpful links

Working as an Agile team

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.

EXERCISE; Github documentation

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.



DataScienceILC/tlsc-dsfb26v-20_workflows documentation built on July 4, 2025, 5:49 a.m.