Atlassian Bitbucket Atlassian Stash Case Study

Case Study: How Strands Uses Awesome Graphs to Improve Code Review Process

We’ve got pretty good with our Pull Request and Code Review processes, but initially, our PRs were complex, not very well documented, and difficult to read. The Resolution Time Distribution graph shows how better we are getting at this, being able to merge PRs much quicker than before.

Pablo Reyes, VP Engineering at Strands

Strands is one of our customers that has been using Awesome Graphs for Bitbucket for a couple of years so far. Since 2004, Strands has been developing highly-customizable digital money management software for top-tier financial institutions worldwide, and we’re happy to help them reach their goals and improve their development processes with the statistics visualizations we provide.

In this article, Pablo Reyes, VP Engineering at Strands agreed to share some of the use cases and give a picture of:

  • how Awesome Graphs helped them identify bottlenecks in code review
  • how they tracked if this process was improving with the changes they implement
  • how watching the trends in an individual performance led to an increase in developers’ motivation.

Code Review processes improvement

They’ve got pretty good with their Code Review processes so far, but initially, the PRs were complex, not very well documented, and difficult to read. The Resolution Time Distribution report shows how better they are getting at this, being able to merge PRs much quicker than before.  

Since they do a lot of code reviews at Strands, it’s always nice to see who and what teams are making the best use of it. It’s encouraging for the team to see how they are getting better with these reviews, and the Pull Requests reports give them the perfect overview of these improvements.

A couple of years ago, they started improving their methodology, for example, introduced the practice of approving PRs by at least three people. They also encouraged developers to leave lots of comments and suggestions and not approve a PR until it’s good enough. PRs are resolved faster now because they are done better, and the quality of suggested things improves all the time. As a result, it’s nice to see how senior developers make sure everything is done according to coding guidelines. Overview of how things are going and if it improves or not is presented in the Contributions report of Awesome Graphs.

Coding trends

At Strands, managers don’t use Awesome Graphs to control the number of commits per developer, but they find it useful to look at the dynamics of the overall activity to capture the trends. For example, if there’s a significant drop, the developer is probably stuck at some difficult tasks or disturbed by various activities, helping other teams or communicating with customers.

Most things are caught soon in the day to day communication and work, but mid-term changes in the trend (either a decrease or increase) give them a hint of something they may need to look at. This has been visible when people change projects or teams. The Developer’s Contributions graph gives a clear view of this kind of drops and rises, and it’s handy to compare two periods before and after the certain changes were implemented.

Any trend is a good point to discuss and find if there’re any bottlenecks or places to be improved with the processes in a team. Performance is a complex measure and depends on lots of different things, some quantitative and some qualitative, but the aggregation of code contributions (comments, pull requests, tasks solved, commits, etc) gives some good indicators on how a team is evolving with time.

Along with the others, the Contributors graph provides this kind of insight into the dynamics of code contributions by different teams.

Try the best teams’ practices for your company

Awesome Graphs for Bitbucket has become a useful tool for Strands on their way of identifying where the problematic places are, and tracking if the implemented changes improve the situation or not.

Besides, it appeared to be a handy instrument for regular monitoring.

Try Awesome Graphs for your teams for free and check if it can help you as well!