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

  1. Create a new project in Redmine – e.g.:  “Agile Scrum Test Project
  2. Create two trackers –  Release and Sprint
  3. Add users to the project with correct roles – ManagerDeveloper. This article is not covering about roles.

Manager (Team Leader / Scrum Master) Task

  1. Create a Release ticket –“Release Sun Shine”.
  2. Create a Sprint ticket – Sprint One Development and make it as a sub task of release ticket
  3. Create a Task ticket – Sprint One QA as a sub task of “Sprint One Development”
  4. Create a Sprint ticket – Sprint Two Development ticket and make it as a sub task of release ticket.
  5. Create a Task ticket – Sprint Two QA as a sub task of “Sprint Two Development”
  6. Create  a task Ticket –UAT  and add it as a sub task of “Release Sun Shine”  ticket
For all the above tickets make sure to add the Start Date and End Date.

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.