Learn Scrum with RedmineUP
1. Create issues - user stories
User story is an issue category (next to task, bug, or support in Redmine), but there is a small difference how you describe what has to be done. User story, as the name suggests, is based on user experience. Such an issue shouldn’t be too complex, as it is the smallest unit of work in Agile.
As a user, I want to be able to log in to my account so that I will be able to see my payments history.
User story is always built the same way. The skeleton of each user story is created by a product owner, and then the whole team adds details.
To add some user stories to your project, you first have to create a version (also called sprint) . Your first version will be Backlog, – which is a list of tasks that have to be completed to deliver a product.
There are two ways to create a version:
- Go to Project → Settings, and click on the Versions tab. You will see a green circle with a “+” sign on it.
- Go to Edit on the issue page, and look for the Target version. There will be versions to choose and an aforementioned green circle allowing you to create a new version.
After you click on it, you will have to provide some details for the version.
To be able to save an issue as a user story, go to Project Settings → Information, and check User story.
2. Add stories to backlog and estimate them
When you have some user stories created, assign them to Backlog. You can rank them by dragging and dropping within the backlog column. It is also very important to estimate how much time each task would take.
In Agile, you estimate a task by giving it an appropriate number of so-called story points, which rate the effort of work needed by using the following scale: 0, 1, 2, 3, 5, 8, 13, 20, 40, 100.
How do you estimate a task? The best solution is to sit together with the team. First, each member estimates the task by themselves, and later the team agrees on a final estimation. At first, sprints might not be estimated 100% correctly, but you will eventually learn how to do it properly. At the end of each iteration, there should be a meeting called Retrospection (or retrospective meeting), where the whole team discusses the last sprint. This is a great opportunity to incorporate insights (also including estimations) from previous iteration(s).
In Redmine, you estimate by giving a number of points when creating/editing a user story. Please that note a standard task or bug will not have the story points field available.
3. Create a version (sprint)
Sprint is a time interval during which the team forecasts how long it will take to complete a certain number of user stories. A sprint can last from one to four weeks. The team decides the length, but starting with two weeks. You should stick to the agreed length, as it helps with estimating and future velocity predictions.
- If you work with subprojects, at least one sprint should be in the subproject to be able to use parent project sprints (and sprints at all).
For details on how to create a version, check step 2.
4. Organize sprint planning meeting
Before each sprint starts, the team should meet to discuss what tasks can be completed in the upcoming iteration, identify project priorities at the moment (as they might change), and also estimate any missing tasks from the prioritized backlog. Any planned leaves and holidays should also be considered.
5. Move issues from backlog to sprint
Go to the version planning tab. Decide which tasks are crucial at the moment and which of these can be completed in the upcoming sprint. When this is done, just drag the issues into the sprint you created.
6. Start the sprint
Remember to add a duration and due date for the sprint. The due date really depends on a team schedule. For example, you can start a sprint on Monday and finish on the following Monday. In the beginning, aim at the second week.
Organize daily stand-ups (ideally in the morning) - which is a great time to review each member’s work status and check for any problems in completing tasks. The meeting should be short and informative.
You can also check for current sprint details. Just go to the Roadmap tab, and click on the sprint name.
In Redmine, you can find a tab called Agile charts, which contains a few very useful charts. They help you track the progress of the team as well as provide lots of information about velocity and productivity.
7. Complete the sprint
In Redmine, when the sprint is finished, you change its status to Closed. To do that, go to Roadmap, click on the sprint you want to close, and then go to Edit.
When you close the sprint, it will disappear from the Version planning table, but it will still be visible in the Roadmap right menu under Completed versions.
8. Organize retrospective meeting
At the end of the sprint, it is a good idea to gather the team and hold a retrospective meeting. You can discuss what worked well and what didn't during the sprint. Other questions worth asking are: what can we do better next time? or what could we have done better now? A retrospective meeting is important for continuous improvement of the idea developed within the Agilemethodology.
At this point, you should feel confident with how to create a backlog, work with sprints, and organize daily stand-ups. This is how the whole Scrum life cycle looks like in a nutshell.