trainline

How it'll appear as a card

How it'll appear as a web page at github.com/customer-stories/trainline

trainline
trainline logo
Customer story

Trainline & GitHub

Trainline started as a call center for booking train tickets. Fifteen years later, they’re on a mission to help their customers make smarter rail journeys. With £1.6 billion ticket transactions annually and 27 million visitors per month to the Trainline App and website, Trainline sets the pace in mobile rail-commerce. They have been able to evolve thanks to a robust, scalable IT platform—now supported by GitHub Enterprise.

Chief Software Architect Frederik Brysse explained Trainline’s evolution as one from enterprise to startup. As our company gets older, our mindset gets younger. We used to be much more like a corporate enterprise but we’ve evolved into working like a start up—fast, lightweight iterations and development cycles. This is a continuous transformation. And every year, we get a bit better at what we do.

Behind Trainline’s continuous transformation is automation and a focus on developer happiness, independence, and autonomy throughout the development process. That focus drove the team’s recent decision to migrate more than 1,000 repositories to GitHub Enterprise.

I wanted a flexible platform I could automate against. Being able to build on top of GitHub is a very big benefit.

Trainline’s offices

A secure platform for automation

To work efficiently, the team at Trainline relies on continuous integration and other third party tools-including TeamCity, Chef, JIRA and various home grown development and deployment tools. One motivation for migrating to GitHub was the need for APIs that suited their needs, while meeting Trainline’s enterprise-grade security requirements.

As Frederik put it: We’ve moved towards more self-service, a much more independent development culture, rather than a centralized, command-and-control situation. GitHub helps us keep working in this fashion.

A culture of self service

In the Trainline team’s experience, developers work best when they can focus on code and take ownership of their work without obstacles. Before migrating to GitHub, Trainline developers had to rely on administrators from other teams to create repositories and change permissions—resulting in delays and time-pressed decisions to put code in inappropriate repositories where it didn’t quite fit.

Using GitHub Enterprise has helped the team keep doing their own thing. Developers don’t have to ask for permission to create a repositories or wait for approvals that might slow them down. According to Frederik, There’s less friction and the turnaround time to get things done is shorter.

Happy, productive developers

So far, the migration to GitHub has been well received, overall—in part because many developers at Trainline had already been using GitHub. The second developers found out we launched our test system, they were all over it, Frederik said. They loved it.

In addition to personal preferences, giving developers more ownership over their projects has helped encouraged autonomy, productivity, and ultimately code quality. Using GitHub has increased code visibility, encouraged code ownership, and has even started some conversations about the code that previously would have not happened-all leading to higher quality.

Using GitHub has increased code visibility, encouraged code ownership, and has even started some conversations about the code that previously would have not happened—all leading to higher quality.

  • industry

    Transportation

  • company size

    200+

  • location

    London, UK

Bring GitHub to work

From flexible hosting to data‐powered security, get everything your team needs to build at their best.

Contact sales

How Trainline migrated to GitHub

  • Repositories mapped to teams

    Owners were assigned to each repository. Repositories without owners were marked as owned by a separate team.

  • Created organizations

    Organizations created in GitHub Enterprise were added to LDAP groups for the appropriate teams.

  • Automatic import

    A set of automation scripts were created using the GitHub API to migrate code and update continuous integration servers.