Openproject - Scrum plugin Source

1---2title: 'Openproject - Scrum plugin'3date: '2014-09-03'4published_at: '2014-09-03T17:53:00.002+10:00'5tags: ['agile', 'backlogs', 'management', 'open source', 'openproject', 'scrum']6author: 'Gavin Jackson'7excerpt: 'Having recently completed the Certified ScrumMaster qualification (by the excellent guys at www.axisagile.com.au ) I was keen to start using Scrum at work. Having recently installed Openproject I thou...'8updated_at: '2014-09-03T19:45:09.685+10:00'9legacy_url: 'http://www.gavinj.net/2014/09/openproject-scrum-plugin.html'10---1112Having recently completed the Certified ScrumMaster qualification (by the excellent guys at [www.axisagile.com.au](http://www.axisagile.com.au/)) I was keen to start using Scrum at work. Having recently installed Openproject I thought I should try out the Scrum (backlogs) plugin.1314It's a bit confusing to get up and running with, so I thought I should share some of my experiences.1516The first thing to note is that it simply maps scrum onto the existing openproject framework. Product Backlog Items and Tasks map to existing work package types (which are user definable).1718Backlogs themselves are achieved by using the project versioning facility, for each backlog you have in a project, you create a new version. This is done in the project settings -> versions area.1920Once you have one or more project versions, you will see them pop up in the backlogs section.2122[![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjzVMdvRIC2i1slvQb1zrR8S0eBithR3hw16q79Hu6nZX8th75o4hxORzeRH8dG1L-vOhYke2kclbeqWjMRB1deXZ2zg3Z34kSA33M3bANM1JnplnEpxvMH-HDepzYzUPtYygekQI6aDPc/s1600/1_backlogs.png)](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjzVMdvRIC2i1slvQb1zrR8S0eBithR3hw16q79Hu6nZX8th75o4hxORzeRH8dG1L-vOhYke2kclbeqWjMRB1deXZ2zg3Z34kSA33M3bANM1JnplnEpxvMH-HDepzYzUPtYygekQI6aDPc/s1600/1_backlogs.png) Backlogs View2324The backlogs view allows you to quickly create, order and transfer tasks between your backlogs. You can see here that I have four backlogs for my projects: the traditional Product and Sprint Backlogs (that are used for the actual scrum workflow), and two additional ones to deal with ad-hoc sysadmin and urgent bugs that need to be addressed immediately.2526This view allows us to easily enter user points for estimation during sprint planning.2728I created an extra state called "Sprint Ready" which means that the user story has been fleshed out with a problem definition and acceptance criteria.2930[![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg4em6jZ5wprF_t41EavwPNyYhrk2_c8gZpa4y_LLK81FGXfEhm24EIX7rxmGcWWtOHF9y0xexQ639nw0_wS5LCCs96CF8naT5w0gkgA3DzHxgA7hDPcoGqCpqW_IOMfK3ufbVrF8YA00g/s1600/2_tasks.png)](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg4em6jZ5wprF_t41EavwPNyYhrk2_c8gZpa4y_LLK81FGXfEhm24EIX7rxmGcWWtOHF9y0xexQ639nw0_wS5LCCs96CF8naT5w0gkgA3DzHxgA7hDPcoGqCpqW_IOMfK3ufbVrF8YA00g/s1600/2_tasks.png) Task Board3132Selecting the task view allows us to easily add work tasks and assign them to users. Estimation for these tasks is done in hours.3334I still haven't figured out how the burndown charts get created (it will probably become more obvious as I use the product more).3536They cop out a bit and reuse the wiki functionality to provide additional documentation about the sprint (such as velocity, definition of done etc).3738In future versions it would be nice to bake these into the plugin (and provide metrics and reports - to determine team velocity based on previous sprints).3940The user story export facility requires the user to create a template in yaml (they should really have some defaults!).Modules -> Administration -> Export Card Configs.4142I used the following YAML definition to create cards for my physical task board (2 pages per page A4 portrait):4344```45group1:46  has_border: false47  height: 1004849  rows:50    row1:51      height: 5052      priority: 15354      columns:55        id:56          has_label: false57          min_font_size: 1058          max_font_size: 2059          font_size: 2060          font_style: bold61          text_align: left62          minimum_lines: 263          render_if_empty: false64          width: 10%65        due_date:66          has_label: false67          font_size: 1568          font_style: italic69          minimum_lines: 270          render_if_empty: false71          width: 20%7273        subject:74          has_label: false75          font_size: 1576          font_style: italic77          minimum_lines: 278          render_if_empty: false79          width: 70%8081    row2:82      priority: 28384      columns:85        status:86          has_label: true87          indented: true88          font_size: 1589          font_style: normal90          minimum_lines: 191          render_if_empty: true9293group2:94  has_border: true9596  rows:97    row1:98      height: 8099      priority: 2100101      columns:102        description:103          has_label: true104          indented: false105          font_size: 15106          font_style: normal107          minimum_lines: 1108          render_if_empty: true109110    row2:111      priority: 2112113      columns:114        status:115          has_label: true116          font_size: 15117          font_style: normal118          minimum_lines: 1119          render_if_empty: true120121    row2:122      priority: 2123124      columns:125        custom_field_name:126          has_label: true127          font_size: 15128          minimum_lines: 1129130group3:131  rows:132    row1:133      height: 100134      priority: 2135136      columns:137        children:138          has_label: true139          has_count: true140          indented: true141          font_size: 15142          font_style: normal143          minimum_lines: 1144          render_if_empty: false145```146147```148149```150151[![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjucyPzTJtKj6vIj3AaOFK0Jjz5_cTKnrK2YNZPqlEMyBAd4PyUXGx6aruyZvh3HZ0TQHS3NXY2jW3yI2MaVM2i8Oo0RU4bbPOsttaJMhEIuji4mKuSUx4-chqMBomystCdFlVmsFdT6xY/s1600/3_export.png)](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjucyPzTJtKj6vIj3AaOFK0Jjz5_cTKnrK2YNZPqlEMyBAd4PyUXGx6aruyZvh3HZ0TQHS3NXY2jW3yI2MaVM2i8Oo0RU4bbPOsttaJMhEIuji4mKuSUx4-chqMBomystCdFlVmsFdT6xY/s1600/3_export.png) This is what the card export looks like (when using the YAML above)  Another thing I noticed was a lack of aggregation for sub projects - meaning that User Stories and Tasks did not seem to be aggregating correctly within the parent. I fixed this by flattening the whole project into one (which for our size was practical, but I could imagine others being frustrated by this). This might just be a bug or lack of understanding on my behalf - please comment below if you have figured this out!152153[](https://www.blogger.com/blogger.g?blogID=604531558151037478)So in a nutshell, it provides a pretty lighweight framework for managing scrum - it gets the basics right, although it could do with a bit more polish (and end user documentation!).154155156