Agile Testing in Financial Services


edward200pxThe recently published industry study by Aite Group ‘Roadmap and Electronic FX Market 2013: Ready for a Revolution’ sees FX technology changes transforming the eFX market towards increased transparency, fairness in market participation and evolution to exchange style trading.

Equinix partner and innovator, LMAX Exchange, has been credited in the marketplace as being ‘the first to launch the next phase of competition in the global FX market. Instead of assimilating into FX market structure and widely accepted, traditional trading practices, LMAX Exchange has launched a truly exchange-style trading model with order matching based on price/time priority that provides pre-trade anonymity but full post-trade transparency’.

At the core of LMAX Exchange and its fresh approach to the marketplace is the proprietary technology, recognised for excellence and innovation within the FX industry. Edward McDaid, CIO at LMAX Exchange, talks about the company’s revolutionary and minimalist approach to technology, architecture and technology-related processes – all of which are a careful blend of in-house intellectual property and the most up-to-date best practice, put together with one aim in mind – optimised execution quality.

eFX Trading: Potential Future Growth Analysis


Source: Aite Group, Electronic FX Market 2013: Ready for a Revolution?, September 2013

What makes LMAX Exchange approach to technology architecture and testing unique in Financial Services?

LMAX Exchange brings a lot of fresh thinking to everything we do. This applies across the board from our business vision to the technology we build and processes we follow. Many of the people in the technology team don’t come from a financial services background. Some do but many don’t and this means that we bring together ideas and approaches from other low latency, web scale and big data environments in many different domains. We also add our own unique twist of unbridled creativity.

Simplicity is an important principle. The most impactful, scalable, deliverable and maintainable solutions are generally also the simplest. Our platform has been built from the ground up by us with relatively few third party components. This approach helps us to preserve the focus and clarity of our architecture and also have more control over performance. It also helps to avoid otherwise inevitable bloat.

How do you structure technology teams and ensure collaboration?

Openness is really important to us. We actively share knowledge about everything among the team through practises including pairing and frequent rotation. This means we don’t have silos and pretty much anyone can work on any part of the platform. We also share externally and our open source initiatives have been very well received. Openness is also about being open minded. We innovate constantly and we are always willing to adopt good ideas wherever they come from.

LMAX Exchange is known for using agile testing process, what are the benefits of this approach?

Our real secret weapon is our mature agile process. We really believe in test driven development and continuous delivery, and we’ve been practising what we preach since we started. With around seven thousand automated acceptance tests that check every function within the exchange we actually have more test code than functional code. These and as many more unit tests run every time the code base is touched to make sure that nothing gets broken. As a result every commit is a potential release candidate. That is a great safety net which allows us to move really quickly. We also test our performance frequently and automatically to make sure that we continue to minimise latency and maximise capacity.

LMAX Exchange has undergone unprecedented growth in the last couple of years – what affect did this growth have on technology?

It’s fair to stay that our robust, scalable technology is the enabler of our growth. At the same time, it’s very important to keep up consistent, superior performance of the exchange as we expand. For example, last year has been a busy time for us. We have launched two new execution venues, LMAX InterBank and LMAX Institutional, while continuing to develop and support the LMAX Professional venue. This has been accomplished in-house by the same relatively small team while keeping a single code base. The new exchanges have required a lot of refactoring and the delivery of a lot of new features. Everything we do is incremental and iterative but job one is to keep the lights on.

We’ve had to make some big changes to accomplish this. The first is what we call ‘virtual venues’. Basically this is the ability to host more than one venue on the same set of infrastructure and services. The key to this is isolation of the data and messages for each venue from one another. While the idea sounds simple this was still a big job but the simplicity of our architecture, versatility of our team and our unique process helped to make this achievable.

How closely the technology function is integrated with the rest of the business?

At LMAX Exchange a very close collaboration between business and IT is essential. The business owners work directly with the development teams. Both speak the same language and there is a huge amount of trust and understanding. One illustration of this is the fact that we don’t estimate and haven’t done so for years. For us the whole idea of estimation and burn-down are legacy rituals from early incarnations of agile. Quality and stability are more important for everyone so we direct our energy and attention to those things.

Our time to market for business ideas is very short. Partly this is due to the fact that our development teams swarm on stories – basically all developers in a team work on a single story. This means that stories get delivered very quickly with higher quality and a lot of knowledge sharing. It also means that we release every two weeks so we get feedback sooner – often while the same epic is still under way.

How do continuous delivery and test driven development help meet the business requirements?

The one thing we haven’t changed in the last year is our process. Continuous delivery and test driven development have been enormously helpful in being able to do so much in such a short time. We have however significantly extended the scope of our testing.

Our growth and launch of new venues have increased the complexity of our configuration. So we’ve started applying ideas from test driven development to configuration management. As a result we now test our configuration on an on-going basis.

We’ve also leveraged the virtual venue concept to allow us to test in live. So we now have test venues that sit on our production infrastructure. These allow us to test the production environments and their wiring, both during releases and also while the markets are open. These additions have helped us to retain and even improve our stability as well as making releases faster and more uneventful. This in turn improves our velocity and so on in a virtuous cycle.

What’s in LMAX Exchange technology pipeline for 2014?

We’re not finished yet and we have plans to extend our testing in other directions. We’ve started working on better invariant testing of data and we’re also looking at model-driven testing for some of our more complex business logic. Chances are we won’t stop there either.

In addition to other technology awards received this year, LMAX Exchange has just won Best Overall Testing Project – Finance Sector at the European Software Testing Awards. Our test team are justifiably proud of this achievement and recognition but at LMAX Exchange testing is everybody’s job.