CompSci 308
Spring 2021
Advanced Software Design and Implementation

Lab Exercise : Retrospective and Managing Your Sprints

Estimating the complexity of your project's tasks can be very challenging so try making them as small as possible and discuss them collaboratively. Breaking each task down means thinking about the all the sub-tasks that are necessary to get that one task done (since most people start with tasks that are too big). A reasonable, estimable task should actually be something you feel can be done in less than 4 hours (the longer your estimate the less people will trust it).

Submission

By the end of lab, push your discussion summary to the file doc/RETROSPECTIVE.md of the master branch of your team's provided Gitlab repository using the commit message "lab_retrospective - participating NETIDs".

Also, your Gitlab project should reflect the new and updated Issues made during the Planning steps.

Resources

As a reminder, this series of short blog posts describes how to think about building software differently using GIT, in general, and Gitlab, specifically, to support managing your project:

But the quick summary is:

Retrospective

Start by reflecting on your progress and goals as a team in order to improve your efforts (to work smarter, not harder). That is the fundamental goal of Agile and embodied in the Sprint Retrospective, considered by many to be the most important activity in Scrum. If done properly, Retrospectives can be a place where teams grow and deepen their trust; unfortunately, they can easily get derailed and turn blameful. Try to use this time to let it all out so nothing festers and try not to take anything said personally.

Address the following, possibly hard, topics openly as a team:

Summarize the team's discussion for this part in the file RETROSPECTIVE.md.

Plan the Next Sprint

Groom your Backlog by considering the following:

The result of this planning should be an updated Backlog in Gitlab (i.e., set of Issues)

Plan Collaboratively

As a team, refine your goals so that they can be reasonably estimated and turned into Gitlab Issues:

Document the Plan

For each task now planned for this Sprint, break it down further into small sub-tasks that are:

The result of this should be a Milestone in Gitlab, populated with Issues, that accurately reflect each team member's velocity (independent of pressure from the team or others in class).

During the Sprint

By breaking tasks down to this level of detail your team (and other stake holders) will see the following benefits during the Sprint:

This is only effective if you update your progress regularly by changing the status of your Issues online through Gitlab or using keywords in your Git commit messages.