by Tahir Hussein, Alterian
This diagram shows one key aspect of our development process i.e. 3rd Line Support. It is critical to our operations because we support anywhere from the last 3 to 5 release steams. This includes monthly patch releases which address key customer defects and enhancements.
Prior to 2006 our development operation was UK based (in a single location). Everything was straight forward! However, when we opened up a development centre in Bangalore, that situation changed. Once we had recruited and trained the developers it was time to get them using our SCM tool, Serena Dimensions. This has served us well since 2000 but the performance of the connection to Bangalore meant that the PC and Web clients were totally unusable for shared development work e.g.
* It was taking over 5 minutes for them to browse change documents
* Editing the attributes e.g. to specify the fix times etc was taking around 10 minutes
* Making any kind of source code changes on a change document, especially one with a lot of additional related items or change documents was even longer.
* To fetch all 9000 items from the repository for a sandbox development and build was an overnight job (if it worked at all!)
Hence we had to put our thinking caps on and come up with another solution.
We tried making use of Subversion and associated tools and initially this looked very promising. However, when we started putting our Development processes on top of Subversion, in particular “Branching and Merging”, it became apparent that the underlying SVN functionality was not going to be mature enough for the tools to be available to cater for this. The solution we were looking at was Subversion running in UK and Bangalore, with the replication of data taken care of by a product called WANdisco and the Application Lifecycle management by Polarion. We had a number of meetings and discussions with all of the above parties, including the Subversion developers, who gave us an insight into the future plans. In the end the overall solution was not going to be elegant and satisfy all our needs. We carried on looking and eventually came across AccuRev.
At first we were reticent to go down this route as it was a proprietary system. However, when we were demoed the system by the AccuRev guys it seemed to fit in exactly with what we were looking for. Even with the addition of merge tracking in SVN, AccuRev is still head and shoulders above with its merge, change and namespace tracking.
We then obtained a demo license and spent a month evaluating the product against our list of requirements. The sort of checks we carried out were:
* How long does it take to create something e.g. stream, workspace in the UK and see it reflected in Bangalore and vice versa
* Can you create/delete hundreds or steams without affecting the system performance
* The critical one of can a number of developers on the UK and Bangalore work together on a set of changes in parallel and easily have those merged back together.
The whole thing ran so smoothly that we could no longer delay the decision to purchase. Last year around this time we purchased the required licences and then started the process of moving the development over to AccuRev.
So, where are we currently?
The intention has been to move over to using AccuRev and Jira combination (as Serena Dimensions covers both Issue Tracking and Source Control). However, as we have a limited number of resources available, and the fact that we require quite a lot of work to implement the appropriate workflow and associated build process, we have not had the time to do this. We are currently using AccuRev for ALL development and 3rd Line support work but still use Dimensions for the Issue tracking and build process. Given that none of the developers in Bangalore or UK are impacted by this and can get on with their day-day work then I am cool with this. The only person affected is me as I have an additional step to perform by moving changes between AccuRev and Dimensions and vice-versa. I am confident that in the near future we will fully move onto the AccuRev/JIRA system and gain even more benefits.
I hope this will be of help to others and I would be more than happy to answer specific queries.