TDD in Bash aka our 1st internal Code Retreat @REA

It was an early Saturday morning (yes, 8am is very early!), when 16 of us got together to spend a day practicing fundamentals of software development and design. It was a great day full of lessons learned and lots of fun, too.

The format of the day was a CodeRetreat. In a nutshell, during a CodeRetreat the developers work in pairs on Conway’s Game of Life. Throughout the day we continuously worked on the same problem. To keep up the challenge we introduced different activities, as well as changing pairs and coding in different programming languages. And very importantly the overarching constraint was to always apply TDD. Continue reading

Real-time dashboard for Agent Admin

The Customer Platform team at REA is in charge of developing and maintaining the Agent Admin application, which is the application real estate agents use to upload properties. Agent Admin is a Ruby on Rails application that in order to be deployed goes through a deployment pipeline on an (almost) daily basis. We use Atlassian Bamboo as our CI server.

Deployment Pipeline

The first build triggered after a commit in the Agent Admin (aka AA) codebase generates a package and determines  the version number of the package to be released. In this stage, unit tests, integration tests and a small set of functional tests will be executed. If the build is successful, the package gets promoted to the next step.

The second stage is about certifying that the package built in the previous step passes a more extended set of end-to-end tests. If the package goes through this step, we can execute exploratory tests inside our test environment where the package gets deployed.

Continue reading

Corporate IT Systems – Leveraging our Hybrid Cloud

The role and purpose IT plays in business has evolved over the years but today, what we represent is evolving at a rapid rate. We now live in a digital world where people are growing up with technology that’s a part of their lives, people understand the role technology plays and how it can affect them both personally and professionally. Gone are the days where IT and tech are foreign concepts to the majority of business.

We have been used to holding the keys and making key decisions in business, keeping the walls up and everyone else knows the IT guys sit over there and do “stuff” but no one really knows what they do. At REA the corporate IT group has ensured we represent the opposite of this very persona that so many IT teams have been aligned with. Being in an Internet based company with tech savvy people everywhere, we are in a good position to build transparency between us and our customers (REA Staff). You have to take it with two hands and lead from the front. Simply put, “IT as a service” Continue reading

Not Zoolander: The other kind of modelling…

The Behavioural Communications & Analytics, Media & Developer, and IT Delivery teams, working closely with ThoughtWorks, have been working on an exciting project around behavioural targeting. This work was recently presented at the Big Data & Analytics Innovation Summit held in Sydney, where REA Group was proven to be at the forefront of analytics in this space.

Presentation: More Than Meets The Eye

At REA, there is a wealth of data at our disposal around visitor behaviour on site, such as: section(s) visited; time on site/section(s); traffic source; myREA status; return visits; agent interaction; saving OFI times; saving searches; saving properties; getting directions; social engagement; types of suburbs searched; search refinements (price, bedrooms, bathrooms, car spaces, land size); number of properties viewed; property types viewed; attributes of properties viewed; the list goes on…

Where it gets exciting is when we start to think about how we can use this information to predict something about our visitors that we don’t know, be it: demographics; the likelihood of purchasing a particular product or responding to a particular message; the likelihood of obtaining a desired home loan; or, something REA Group is particularly interested in understanding right now is whether they belong to any of our key consumer groups, such as first home buyers, investors, renovators, or vendors. First home buyers are the first cab off the rank to trial this approach. Continue reading

Pomodoro technique as a collaboration tool

We recently started using the Pomodoro technique in our development team. Pomodoro technique is a time management method that specifies working in 25 minute blocks with short breaks in between. A 25 minute block is called a pomodoro.

We have adapted it a little for our purposes. We work as a team in synchronised pomodoros and then have a mini-standup after each. Each week we assign a pomodoro master that is responsible for managing the process – start pomodoros, keep time, count the completed pomodoros, etc. Continue reading

Testing interactions with web services without integration tests in Ruby

Our team decided to move to a micro-service architecture, and we started wondering how we would test all of our integration points with lots of little services without having to rely on integration tests. We felt that testing the interactions between these services quickly become a major headache.

Integration tests typically are slow and brittle, requiring each component to have its own environment to run the tests in. With a micro-service architecture, this becomes even more of a problem. They also have to be ‘all-knowing’ and this makes them difficult to keep from being fragile.

After seeing J. B. Rainsbergers talk “Integrated Tests Are A Scam” we have been thinking on how to get the confidence we need to deploy our software to production without having a tiresome integration test suite that does not give us all the coverage we think it does.

Continue reading