Quick and Smart way to use Redmine for Scrum projects
These days most of the projects are following an “Agile” process for software development. In the case of scrum there will be multiple sprint and team needs to plan quickly for each sprint. The days are gone where we plan upfront identifying all WBS in a project and that too using a sophisticated project management tool. The reality is in a fast changing world such planning is not sustainable.
The success of “Agile” methodologies and its wider acceptance leads to the birth of new project management tools. The advancement of web and cloud computing technologies resulted in the feasibility of web based project management solutions. Redmine (http://www.redmine.org/) is an Open source project management web application.
Redmine is written using Ruby on Rails framework and it is extensible with the help of plugins. As the title of this article, the approach here is to use Redmine without any third party plugins. I believe though the solution I am recommending is not perfect, it does the job for many small projects.
Ok then, let us get Dirty!!!
Release Sun Shine
Let us consider a release planned for a Project – “Release Sun Shine”. Here are some of the key dates of this release.
Release Sun Shine Duration: Feb 01, 2014 to Mar 31, 2014
Sprint One Development: Feb 01, 2014 to Feb 14, 2014
Sprint One QA: Feb 17, 2014 to Feb 21, 2014
Sprint Two Development: Feb 24, 2014 to Mar 14, 2014
Sprint Two QA : Mar 24, 2014 to Mar 28, 2014
UAT : Mar 24, 2014 to Mar 28, 2014
Fig: Timeline representation of the high level release plan
Steps to setup this release in Redmine
Admin Task
- Create a new project in Redmine – e.g.: “Agile Scrum Test Project”
- Create two trackers – Release and Sprint
- Add users to the project with correct roles – Manager, Developer. This article is not covering about roles.
Manager (Team Leader / Scrum Master) Task
- Create a Release ticket –“Release Sun Shine”.
- Create a Sprint ticket – Sprint One Development and make it as a sub task of release ticket
- Create a Task ticket – Sprint One QA as a sub task of “Sprint One Development”
- Create a Sprint ticket – Sprint Two Development ticket and make it as a sub task of release ticket.
- Create a Task ticket – Sprint Two QA as a sub task of “Sprint Two Development”
- Create a task Ticket –UAT and add it as a sub task of “Release Sun Shine” ticket
The above tickets are created in a hierarchical fashion which can be represented diagrammatically as follows
Sprint Planning Activity
During this process Feature tickets for the release can be added to the Sprint One Development and Sprint Two Development as related tickets (NOT sub tasks). These tickets are often taken from the Product Backlog, prioritized by business for the release. The team can start with identifying Sprint One Development tickets and later during Sprint One QA, they can plan tickets for the Sprint Two Development.
Redmine Representation of the release
Related tickets in each Docket
These are just recommendations that you can customize.
- The Sprint One Development and Sprint Two Development will contain Feature and Bug (existing production bugs from previous releases)
- The Sprint One QA and Sprint Two QA will contain Bug QA tickets. These are tickets created by QA team during the testing cycle.
- UAT ticket will contain BUG UAT tickets. These are tickets created during the UAT phase
All these tickets MUST ideally be related tickets with blocking status as mentioned below.
Conclusion
The attempt here is how we can use Redmine for Scrum project with no additional changes. I find it very simple and easy to use. This is just an alternative suggestion who don’t have access to so called sophisticated PMS.