# Team Configurator Agile Protocols

We are Team Configurator; we work in a agile way that is Scrum-ish. 

This is the way.

## Sprints

Our current sprints are **2** weeks long. (updated 13 Oct)

Sprint lengths are determined by how many unknowns there are in a project. The more unknowns the shorter the sprint. The less unknowns and clear set roadmaps will result in longer sprints. 

As a rule of thumb, sprints should not exceed 30 days.

## Recurring Meetings

### Catch Up (< 15 minutes)
**Daily 8:45**
#### Format:

Online via Teams meeting. No more than ~5 mins per person. Longer discussions should be scheduled as separate meetings and/or saved for Workshop times.

#### Content:

Members will quickly update on their progress
* What has been done
* What will they be doing that day
* Problems/hurdles/blocks


###  Strategy Workshop (~1hr - 1.5 hrs)
**Monday 10:00**

These meetings alternate between sprint planning and revision meetings.

#### Location:

In pandemic times, on Teams. Otherwise, in meeting room.

#### Content:

* Progress of the last backlog
* Review overall Milestones / Project Goals
* Determine the next backlog
* Consolidation of current/suggested issues
* Assignment of priority weights to issues (1-non urgent, 3- very urgent) To be prepended to issue titles.
* Assign issues to members with due dates

### Technical Workshop (1 hour)
**Wednesday 10:00**

#### Location: 

In pandemic times, on Teams. Otherwise, in meeting room.

#### Content:

Mid-week progress meeting, for coding tutorials, issues, education, etc. To work on/discuss technical aspects surrounding the configurator. Used to co-work on technical issues either as a group or pair programming.


### End of Week Sync ( 30 mins )
**Friday 10:00**

Sprint retrospectives are attached to this meeting at the end of sprints. Otherwise it is blocked time to discuss issues from morning stand up.

#### Format:

In pandemic times, on Teams. Otherwise, in meeting room. 

#### Content:

For sprint retrospectives we discuss operationally about the current sprint
* What went well 
* What didn't go well
* What we should change to better the process

## Tools

We use GitLab to organize the team efforts. Currently all the issues and boards associated with the Configurator are in the project called **configurator-image_based** (under web > apps).

### Milestones

We use the milestones feature in GL as sprint backlogs. Not be be confused with overall Project Milestones, which are larger goals that span multiple sprints.

### Boards and Tags

Board are Lists of Issues sharing a Tag that is relevant for the Sprint Planning.

Most important boards are the-
* Open: new suggested issues will be added here
* Weekly Backlog: curated and revised on Monday Content/Strategy meetings
* In Progress: issues that are actively being worked on
* In Review: *completed* issues that need to be reviewed before being merged (if code), or otherwise

### Issues

Issues are SMART (specific, measurable, attainable, relevant, time-bound) objectives that can be done less than 1-2 weeks. Bigger *issues* that require larger more complciated checklists should be made into milestones. (Normally, this would be an *epic*, but we do not have this feature on our version of GL).

As you are working, if there is something extra that needs to be done and you don't have time to do it right away, add the issue to the **Open** board with the tag ***suggestion*** for it to be reviewed at Content/Strategy meetings.

**Please utilize checklists in issues** to break the issue down to tasks (steps you take to complete the issue). Breaking down issues can help determine if an issue is too large and needs to be further broken down. It also helps the Team Lead to track progress of issues over the sprint.