Extreme Programming in a Competitive Financial Environment


More Press Releases Benjamin Marais, eBucks CIO

Industry leaders don't magically appear at the front of the pack. They take first place because they are able to move and capture an opportunity before anybody else does.

This ability is born from dynamic decision-making and a competitive business mindset, but is fuelled by agile support structures that bring concepts into reality faster than your closest competitor. For loyalty and rewards programmes, key differentiators to financial services products, capturing opportunities first is essential.

Keeping customers involved and active in a rewards programme requires constant evaluation, innovation and fast, reliable delivery of new offers. It is in the delivery of new channels and functionality to members that application development could boost or throttle your business.

In the last decade a new set of programming ideas and methodologies started taking shape. Crystallised in the Manifesto for Agile Software Development, agile or extreme programming (XP) is making a profound impact on how companies can improve the productivity and costs associated in developing new software applications.

It is a disciplined and deliberate approach to development, based on a core set of values centred on increased collaboration with business customers, responsiveness to change, greater team interaction and shorter lead times and delivery cycles.

XP is well suited to dynamic projects in fast moving business environments where results are demanded in short successive bursts.

One of the biggest differentiators between XP and traditional development methods lies in the length of the development cycle. XP shortens this time into iterations of between one and four weeks. Each iteration is treated as a project and starts with a meeting between the development and business teams to agree on the scope and priority. At the end of each iteration, the teams meet again to review the end result.

This process allows development teams to meet the most pressing business needs in a shorter space of time. In a member-centric environment this means delivering new functionality more often as member interest and activity evolve.

The close collaboration between business and development teams keeps projects focused on the real priorities and allows for a dynamic conversation in which priorities are continuously evaluated and updated.

Within the XP team, structures and processes are put in place to improve communication and minimise the time it takes to resolve problems.

Among these processes is test driven design (TDD). TDD requires a developer to first write test code before writing the actual application code. By prioritising the development of test code in this manner, a test code bank is created against which all future changes and enhancements can be tested. Testing becomes a parallel process to coding, keeping projects dynamic and delivery periods shorter.

Another key team discipline is that of pair programming. Aimed at improving communication and collaboration, pair programming requires two developers to work together on one project. The first developer is responsible for writing the actual code, while the second developer acts as quality control.

At first glance this would appear costly and counter-productive, but the method holds profound long-term business benefits. In the long run higher quality code is produced, requiring shorter testing periods and less implementation support. It also impacts on business continuity. While one person remains the project lead the process allows for knowledge transfer and information sharing.

For the right kind of project, XP would work like a charm, but on its own it is not a magic ingredient that can be added to the mix for an industry-leading result. Dynamic business decision-making needs a nimble support structure. But for XP to succeed, buy-in and support from the top management of a company is critical, otherwise failure is almost certain.

Benjamin Marais is the chief information officer at eBucks, one South Africa's leading multi-partner programmes and part of the FirstRand group of companies. Benjamin has extensive experience in implementing XP and has established agile development teams across four continents. He regularly addresses industry forums on agile programming. Benjamin has recently started implementing XP into eBucks with great success.

About eBucks:

eBucks, the rewards programme offered by First National Bank (FNB) and RMB Private Bank, is acknowledged as one of South Africa's leading rewards programmes with highly active members spending in excess of 80% of the eBucks earned in any given month.