Partner Profile

Rally Software

Integration Demo

Improving Agile Software Development
with AccuRev and Rally



AccuRev and Rally have partnered to deliver agile project management and optimal software development processes to our customers. The first step in this technology partnership is integration between the Rally agile project management software and the AccuRev SCM tool.

Rally provides agile project management, including story and defect tracking, to assist customers in managing the rapidly changing flow of requirements and issues that are common in Agile development processes. AccuRev provides innovative stream-based SCM and integrated issue tracking to enable process automation within the SCM tool. The integration tightens the loop between requirements and defects, and the code changes that developers perform in order to satisfy those requirements or fix the defects. The integration, written in Ruby and Perl, consists of three parts.

  1. The integration queries AccuWork, the integrated issue tracking system that is available with AccuRev, for all ’New’ defects. It then transfers these defects into Rally, and makes an annotation in a custom Rally field called ‘AccuWork’. This field stores the AccuWork issue ID number.
  2.  When developers working in AccuRev make a code change, they will promote that code to an AccuWork issue, and place the ID of the Rally defect (created in the first part of the integration) in the promote comment. The AccuRev server_post_promote trigger (written in Perl) then fires and executes another piece of Ruby code that parses the promote transaction and sends relevant information about the code change to the Rally defect specified in the promote comment. This information is entered into Rally automatically and shows up as a ‘Discussion’ entry on the defect. Currently the integration posts the names and version identifiers of the AccuRev files that changed, the user id of the developer who did the change, and the timestamp of the change.
  3. Finally, when a developer or Product Owner using Rally sees the code change, they can set the status of the defect to ‘Fixed’. Ruby code can then be run automatically that looks for all ‘Fixed’ issues in Rally, and changes their status to ‘Fixed’ in AccuWork. It does this by looking for the custom field ‘AccuWork’ created in the first part of the integration, extracting the issue ID number, and formulating an update XML message to AccuWork instructing AccuWork to update the specified issue.

This early stage integration provides basic requirements traceability between issues in AccuWork and Rally, and the coding activities of developers, and will act as a foundation for improving the software development process for our common customers.

To view a short video demonstration of the integration, click here.