REA Group has aligned its Salesforce development cycle with that of other software engineering functions in the organisation, shifting from two-week sprints down to two days.
The operator of realestate.com.au - and a range of other property-related sites - already considered itself “highly agile” as a whole, and although the Salesforce centre of excellence bought into that culture, it could not match the speeds of some other parts of REA.
“We are agile to our core,” enterprise customer platforms executive general manager Shane Williams told Salesforce’s Dreamforce 18 conference.
“Our Salesforce CoE operates no differently - we take what we do seriously, we have to deliver fast, but we make sure we do it while we’re having fun
“All the teams other than ours had CI/CD [continuous integration/continuous delivery] on a standard toolset, yet for us we were operating on two week sprints and fortnightly releases.”
Functional consultant Diego Carbonetti said the fortnightly release cycle for new features in Salesforce was “glacial for us”.
“We needed something we called ludicrous mode,” Carbonetti said.
“The rest of our organisation can deploy to production within a day realistically, whereas we were every two weeks, so we needed a faster solution.”
Aside from wanting to align with other parts of software engineering, REA had another good reason to move faster with Salesforce.
Though the company is a formidable player in the property market in its own right, hyperscale operators are circling, putting pressure on REA to be able to move quickly to maintain its commercial advantages.
“We’ve gone from being the disruptor to the number one and we know there’s big companies who attract just as many eyeballs [as we do] who are starting to think about this market,” Williams said.
Technical lead David Dawson added, “this initiative was about bridging the gaps between our own Salesforce engineering squads’ tooling and development processes with that of non-SaaS focused engineering squads, as much as it was an intent to streamline and optimise our overall delivery process.”
Engineering systems + DX
Dawson said the Salesforce CoE began the project by “looking at our current development and release environments” in a bid to simplify the process that new features had to follow before they entered a production Salesforce org.
“If we were going to put a lot of energy into optimising our delivery process, we wanted to get the basics right first,” he said.
“We deliberated as a squad and came up with the following three key principles: the developers needed their own environments to work in, we needed a shared and integrated environment to test, and we needed an environment to have practice runs for production.”
REA then moved onto researching tools to build out the Salesforce CI pipeline.
“CI has been around for years so we looked to the engineering teams within REA to understand how they implement CI/CD - the tooling they use, the source control and deployment integrations, as well as the do’s and don’t’s they’ve refined over years of iterations and knowledge sharing,” Dawson said.
“We felt it best to align ourselves with the larger REA engineering practices especially given the amount of support available to us internally.
“Our engineering teams use Github Enterprise as their source control platform, and a Melbourne based product called Buildkite as the software driving our build pipelines.”
To this, REA added Salesforce DX [Developer Experience], a fairly new set of tools offered by Salesforce that aim to streamline the end-to-end development pipeline and underpin a more agile process for developing in Salesforce.
“CI is traditionally source code and config focused, so this requirement - along with our curiosity for any new tech on the market - led us to adopt DX,” Dawson said.
“In conjunction with Github Enterprise and Buildkite, we had the three pillars to our CI solution.”
Blitzes speed goals, still wants more
Williams noted that Salesforce marketing suggested that REA would “probably gain” around a 60 percent improvement in the speed of getting new features into production.
In fact, REA came in well ahead of that mark.
“We got a 330 percent improvement, so we’re down from two week deployments to sub two days,” he said.
“Ideally what it means is once a piece of code is ready we can push it [to production] within 20 minutes.”
Williams noted that while REA is happy with that result, “there’s a lot more we can do”.
“We think that the automation of testing, code review and some of the additional features that are coming in the next release [of DX] will allow us to achieve even more velocity,” he said.
“Our target is to introduce automated regression testing and automated code review. We think that by using tools such as Selenium and CodeScan, we think the new recipe is going to give us significant increase in speed.
“We want to get to 400 percent [improvement] just by automating these two pieces, and we genuinely feel based on what we’re seeing and the roadmap for DX that that’s achievable.”
Increased automation should also free up developers’ time. “We’ll be able to pump more of our resource back into additional features,” Williams added.
Ry Crozier attended Dreamforce 18 in San Francisco as a guest of Salesforce.