menu

Legacy System Update Extends Life and Improves Performance

Problem

Once-innovative tools for gamers had not kept pace with developments in web and mobile technology.

Solution

Greane Tree Technology wrote an API to permit mobile access, and refactored code for dramatic performance boost.

Abstract

A client needed to overhaul its online video game competition platform to improve accessibility and performance for its millions of users. The client’s IT staff didn’t have the time to undertake the project, so they asked Greane Tree Technology to perform the upgrade. Greane Tree wrote an API and restructured the data store to make the application mobile-friendly and drastically improve performance. The client was so pleased with the results, that they invited Greane Tree back to lead other key projects.

Introduction

Our client’s flagship product was introduced in 2003. By 2011, although its core features were still sound, its interface was sorely dated and it could not keep up with the demands of millions of users. Our client asked us not only to perform the upgrade, but also to help them hire and train a team of developers to maintain it. We organized the new team along Agile principles, and incrementally developed the interface and refactored a key part of the code to achieve our client’s goals.

Hypotheses

The legacy system was basically sound but needed to be decoupled from the dated website in which it was embedded. A new interface would allow it to be accessed from updated web- and mobile-friendly front-ends.

Performance could be dramatically improved by substituting an in-memory key-values store for a persistent database.

Open source tools would provide robust solutions.

Agile development would facilitate:

  • Efficient transfer of business knowledge from client to developer team
  • Sharing of strengths and development of skills among all team members
  • Inculcation of test driven development and clean coding principles in new developers
  • Incremental and careful modification of a valuable property

Implementation

In the newly formed Agile team, existing client staff assumed the role of Product Owner, Greane Tree provided the Scrum Master and Agile Architect, and new developers formed the rest of the Agile team. Short Sprints permitted reality testing of proposed solutions. A well-established open source language with rich libraries of functions proved to be an excellent choice for the API. A relatively new in-memory data store held great promise, and technical spikes and load testing reassured us that the promise would hold up in real-world conditions. The newly hired developers quickly adopted the standards and practices of Agile development.

Conclusion

The updated property remains at the center of the client’s offerings and has kept pace with growing traffic and the proliferation of mobile devices. The implementation of a modern in-memory key-value store converted a key function from a once-a-day batch operation that took 20 minutes, to an on-demand, real-time operation that takes less than a second. The client considers the team that Greane Tree helped hire and train to be one of their best.