We're Hiring

Equestrian Sports New Zealand

Membership management is at a fascinating stage in the software development lifecycle. Many large organisations are using websites and online systems that were developed in the 90s and 2000s that still work satisfactorily but are falling well behind the technology curve, especially in this modern environment of smartphones, social media, APIs, and ecommerce.

Organisations are often reluctant to replace these legacy systems because the enormous amount of data they have collected from their members over the years presents big challenges when it comes to importing them into new systems. It’s not a trivial exercise to re-architect a large organisation’s online systems, and it needs a lot of planning and attention to detail, as well as a clearly articulated business case – because not all stakeholders will be enthusiastic about change.

A seriously big operation

We are just coming to the end of a year-long project in completely redesigning such a system. In May 2017 the board of Equestrian Sports New Zealand (ESNZ) chose Mogul to totally revamp and restructure ESNZ’s marketing website and member management system.

ESNZ is New Zealand’s national organisation for equestrian sport. With a proud record of success in international competitions, including Olympic gold medals, a database of 30,000 people and 40,000 equines (that’s horses and ponies to the rest of us), and thousands of events every year.

ESNZ is a seriously big operation, delivering quality competitions and comprehensive administration for New Zealand’s equestrian community.

ESNZ insitu homepage

ESNZ made it clear that they needed a software company that could deliver a platform that would suit the complexities of the organisation, that would make their lives easier and give them much better control over their information.

They chose Mogul because we could build exactly what they wanted, rather than deliver a one-size-fits-all solution. We were super-excited to be tasked with such an important job, and we set about planning to deliver this unique solution for the organisation.

The requirements for the project were very complex. We had two all-day sessions with ESNZ, and many meetings in person and remotely using Zoom, to understand the organisation. This was a combined approach with both ESNZ and Mogul contributing to the requirements to produce a comprehensive functional spec that became the blueprint for what was built. 

Key features and functionality included:

  • A member management system, allowing tens of thousands of individuals to register themselves and their equines, enter events, and renew their memberships.
  • Multiple tiers of access privileges for the various levels of administrative staff and members.
  • An online shop selling everything to do with riders, horses, and their events eg. bridle numbers, tape measures, rule books, riding equipment and accessories.
  • A design in accordance with responsive principles to allow easy use from mobile devices, since a large number of site visits come from mobile devices while members are at equestrian events.
  • An application programming interface (API) to connect with event results websites and NZ Post.
  • Automated bulk email and SMS sending to members.
  • The ability to search all system data and export tailored and dynamic reports.
  • Specific reporting and formatting for integration with the finance system.
ESNZ userflows

Setting a good foundation

We needed to work up concepts for the look and feel of the site. Our interface design team created user flows and storyboards from the functional spec showing the micro-interactions that would occur on the site. Then wireframes for both the user interface / portal and for the marketing site.

At this stage we set the ESNZ team up in Jira, our project management software, to make it easy to manage requirements and changes throughout the design and build process. We’ve been using Jira for a couple of years to manage our work on Strea.ma, our social media display software, and it’s indispensable for software projects of any significant size or complexity, especially when remote teams are involved.

When it came to architecting the site, we followed an agile process of breaking it down into separate pieces and doing them one by one. First, we built the marketing site and online shop. Then we started building the member portal with templates broken into functional components so they could be tested as they were built – rather than waiting for the whole platform to be ready at the same time.

The most crucial part of the project was ESNZ’s database, which holds 45 million records and is a whopping 10 gigabytes. All of this data needed to be preserved and migrated into the new system. We needed to sanitise the existing data and import it into a completely redesigned database structure. Once databases get this big, it can be a huge logistical challenge to move them around the web. Import and export can take weeks, if not months, and a large amount of bandwidth and processing power can get used up in the process. This was definitely the hardest part of the whole project, and we ended up using one of our server instances at Amazon Web Services (AWS) to do the heavy lifting. This sort of work is just too taxing for a run-of-the-mill web server.

ESNZ example backend system

Throughout the project we conducted a series of training sessions with ESNZ’s team to ensure they knew their way around the new system. It can be a difficult part of the project as nobody particularly likes coming to grips with a completely new way of working, but nonetheless the ESNZ team were up for the challenge! Software can be a bit like that: you get used to working with a system over a period of years, and even if the new system is vastly more powerful, faster, and easier to use, it’s still something new you have to get your head around. Some people love new things, others are resistant to change, so we needed to devote time to making sure everyone was happy.

We used an agile approach of rolling out iterative versions for each round of testing, which worked really well, but in a project as complex as this, we also found that this sometimes led to unforeseen consequences in other parts of the system. As the project unfolded and the ESNZ team started testing the system, we experienced many challenges and next time we do a project of this size and complexity we will implement a much more structured change request process, as well as a more comprehensive testing and implementation process to make it easier for admins and end users to report defects. 

We now have a policy to implement a change request process at the beginning of the project, to plan database imports more thoroughly earlier in the process, and to make more allowance for monthly face-to-face meetings, as regular, in-depth communication is absolutely vital for projects of this nature.

 

ESNZ grading

We used the WordPress content management system (CMS) as the backbone of the website, and it’s amazing to think that a simple blogging tool written by a student in his dorm room has evolved into a robust platform capable of hosting an organisation as large and complex as ESNZ. It is customised member management system with over a million lines of code and a PHP componentised framework. It’s definitely the most complex WordPress project we have ever worked on.

And last but not least, no web project is truly finished. As soon as the general public get access to a new website or software, the feedback ramps up. Software this complex will always have bugs to squash, and once more people start using the system properly there are always changes that can be made to refine and enhance the platform.

For systems like this with so many stakeholders, we now include a 60 day post launch service in our proposals to cover these inevitable tweaks to a website’s functionality that arise after going live.

We learned a huge amount in the process, we are very proud of what we have delivered, and we feel very confident in our ability to deliver large membership management websites into the future.