Spanning more than 250 km of double track, 24 routes, 1750 stops and 490 trams across 9 classes, the Melbourne tram network is the largest operational urban tram network in the world. An estimated 1.65bn (1,650,000,000!) passengers have used the Melbourne tram network to help them reach their destination over the past 10 years.
Yarra Trams runs the tram network in Melbourne, which is owned by VicTrack and leased to Yarra Trams by Public Transport Victoria, on behalf of the Victorian Government. Yarra Trams is proudly operated by Keolis Downer, the largest private multi-modal transport operator in Australia.
Portable has been working with Yarra Trams since 2013 to provide ongoing support, maintenance and enhancements for a range of critical applications which underpin the data behind the tramTRACKER app and similar tram-related software.
This work also includes administering data which enables predictions such as the time a tram will arrive at a stop in its route, how far away a tram is from a specific stop, where a tram is at any given moment, and more. These predictions empower millions of Victorian public transport passengers to effectively plan their daily journeys in real-time and quickly adapt to any changes which may impact their regular service.
In this article we are briefly looking at the support services Portable has provided Yarra Trams over the past decade, helping Melbourne hold its position as the paragon of urban public transport across the nation and beyond.
Portable’s approach to project management
As a full-service agency, the work that we undertake for our partners can be anything from designing and facilitating co-design workshops with lived experience audiences through to prototyping, developing, and maintaining complex web-based applications.
While Portable has engaged in many unique projects for Yarra Trams over the past decade, the work we are focussing on in this article can be categorised into three key areas:
- 24 / 7 on-call support for unplanned, unforeseen, and unexpected events
- Ongoing maintenance to ensure software and applications are up-to-date and operational
- Product enhancements which includes the development, testing and deployment of new features which provide the Yarra Trams team with more accurate and detailed information about the network, improving incident response rate and quality of service.
Technical Stack
With our Technology Team making up more than one-third of the Portable workforce, we are proud to offer tailored solutions which meet the needs of our clients by leveraging the platforms and technologies necessary to ensure projects exceed expectations at every opportunity.
Our work with Yarra Trams primarily involves the following languages, platforms and services:
- .Net API
- C#
- Windows services
- MS SQL Server
- Azure Services
- Azure DevOps
- Ubuntu/Linux
A Look At Long-Term Projects
To ensure we continue to operate efficiently when priorities change, or when adapting to the needs of our clients, the Portable team frequently follows a DevOps framework to help provide consistent ways of working on long-term projects.
Under a DevOps model, development and operations teams are integrated as one. Our software engineers and technical leads work across the entire application lifecycle, from development and testing, to deployment and operations, and develop a range of skills not limited to a single function.
To support Yarra Trams in maintaining an ongoing roadmap of future priorities, the Portable team manages a backlog of items across updates, enhancements and feature requests.
Software currency reviews, penetration and load testing are conducted on a recurring basis to confidently maintain the security, performance, uptime, and integrity of services. Strict protocols are also followed in the submission of deployment and release notes to the Yarra Trams Change Advisory Board to ensure that all updates adhere to Yarra Trams standards and architectures.
For example, a recent project leveraged an Azure DevOps setup to enable our team to streamline and unify development, testing and deployment, and we achieved continuous integration across numerous Azure components including Container Instances, Azure Functions, Event Hubs and more.
To streamline processes, the Portable team maintains Azure DevOps Boards to track data and documentation, including a comprehensive Wiki that is actively maintained as a central knowledge management tool and home for internal documentation.
Examples of how we work with Yarra Trams
24/7 Support
With a focus on providing world-class quality of service, it’s absolutely critical that Yarra Trams has 24-hour support focussed on quickly resolving issues which may impact tram operations.
This involves having clear logging and reporting of errors and warnings as they appear, followed by a formal review process.
These notifications are often used proactively, with many enhancements featured in the Yarra Trams product roadmap being new warnings which detect issues prior to them manifesting so that the Portable team can act before live services are impacted.
Automatic Vehicle Monitoring Integration Services Platform
Combining real-time vehicle data with scheduled timetables, the Automatic Vehicle Monitoring Integration Services provides Yarra Trams Operations Centre staff, key stakeholders, and dependent systems with up-to-date details on vehicle performance.
Used daily by the Operations Centre staff for operational performance measurements and on-screen displays and dashboards, this system has been built, maintained and updated to be an exceptionally reliable (99.95%+ uptime) and powerful platform that is capable of processing more than 1.7 million vehicle updates per day, with the data warehouse currently hosting more than 3.8TB of data!
Tram Timetable Creation
Portable has developed a number of applications that connect live tram location data with the Yarra Trams timetable creation system to enable the Yarra Trams Operations Centre to effectively validate timetables.
This data empowers the Yarra Trams team to factor in important considerations such as providing adequate breaks between each service to enable tram drivers to prepare for the next trip and have rest breaks when creating timetables.
The application exposes all timetable information in a user-friendly, well-understood API and converts the timetable into a format that is understood by Yarra Trams’ accompanying systems ensuring the end-to-end technical ecosystem functions smoothly and seamlessly.
The application also augments the timetable with information mandated by Public Transport Victoria and other transit and government authorities.
Tram Arrival Predictions
Using planned schedules and real-time data, the TramTracker prediction engine is a tool that powers all YarraTrams Public Displays and provides TramTracker applications with up-to-date predictions for every stop on the network.
Built by our developers using a maintainable micro-service architecture, the engine is a suite of Windows services that work continuously to create predictions with a 5-second accuracy for every stop on the tram network.
Technology Secondments
In addition to delivering projects as a full service agency, we often second our developers and other technologists to internal Yarra Trams teams.
For Yarra Trams, having the opportunity to welcome a seconded technologist from Portable into their team brings a fresh perspective and a wealth of expertise, and the integration of these skilled professionals allows for a deeper understanding of the client's business processes and specific challenges.
Portable’s seconded technologists become more than just temporary additions; they become invested members of the Yarra Trams team, equipped with the knowledge and tools to deliver tailored solutions. This mutual exchange of ideas enhances the quality and efficiency of the projects, as it promotes a holistic approach to problem-solving and encourages a dynamic exchange of best practices.
Our seconded technologists also receive access to training and personal development opportunities with designated breaks in their engagements every few months to spend some time back at Portable for focussed learning and reconnection with the Portable teams on different projects.
Seconded Portable technologists have assisted Yarra Trams in the delivery of many initiatives, including those listed below:
- HRIS (Human resource integration system)
- SMI (Service management integration)
- TramTracker REST API
- Concur
Reflections
"We get a great deal of satisfaction from knowing that our software is integral to the running of the Melbourne tram network, and take pride in constantly finding ways to make it more robust and performant."
Anthony Daff, Lead Developer — Portable
Project Team
- Anthony Daff, Business Director
- James Zhang, Technology Lead
- Faiq Gazdhar, Technology Lead
- Nicole Goodfellow, Senior Digital Producer
- Adil Khan, Senior Developer
- Terry Collins-Hawkins, Senior Developer
- Divya Puthumanappully, Senior Developer
- Paul Thomas, Developer