Bus Center is a public bus transport company, operating a fleet of about 100 buses over 14 lines connecting about 200 stops across Italy and several european countries.
In 2016 the company was struggling with a custom vertical ERP and ticketing system developed internally during the previous ten years, which was unable to withstand peak loads (e.g. at Christmas and Easter), unnecessarily cumbersome to configure and administer, and very hard to maintain.
During the previous two years the company had commissioned an important system integrator to develop an alternative system, but the project had failed mainly due to shallow analysis and poor data modelling, which led the system to an unacceptable sequence of pre-production test failures.
In September 2016, after completing a successful pilot project, the Livebase consulting team accepted to develop a new system from scratch. In order to overcome the customer’s mistrust from its recent bad experience, it was exceptionally agreed that most of the development price (80%) would have been paid after one month of successful operation with the new system.
During the following 10 months, two Livebase analysts have drawn from the ground-up a data model of the new system along with the customer, through a number of interactive interviews and brainstorming sessions. In fact, software requirements analysis with Livebase starts from a deep understanding of the true nature and structure of the information to be managed, and with the introduction of new concepts and abstractions as required to clarify the overall model.
This initial effort early defined a common terminology between the customer and the analysts (which reduced misunderstadings and simplified the communication), led the customer to a more clear, simplified and comprehensive awareness of its business processes, and it also allowed to integrate a number of business processes previously managed with other applications or with plain MS Excel sheets.
After each analysis session, a new prototype was generated by Livebase from the latest version of the model, allowing the customer to interactively verify that all the discussed requirements had been taken into account. This quickly reduced the initial customer mistrust and gave him awareness and confidence about the progress of the project.
Once the data model was being completed, business rules have been progressively added to the model and tested in the protypes, and additional business logic have been progressively integrated (as java plugins) into the backend code generated by Livebase. Meanwhile, the customer developed autonomously a web client interfacing the backend via the generated API.
In April 2018 the old system was switched off and all its data was successfully migrated overnight to the new system built with Livebase, which has flowlessly sold since then about one million tickets (half a million just in 2019) and managed about 70 thousand bus rides.
The main functions implemented by the Livebase-generated backend cover basically all the customer's business processes: configuration (lines, stops, routes, dynamic pricing, ride scheduling, …), administration (agencies/brokers and their commissions, carriers and buses, drivers, …), operation (reservations, ticketing, change requests, reimbursements, …), accounting (book keeping, invoicing, reporting, …) and interoperability with the backend of partners and aggregators (e.g. riding passengers who bought the ticket from a partner / selling tickets for rides operated by a partner).
|Model size||Database size||Plugins|
|126 classes||133 tables||120 handlers|
|21K LCP||13.2M records||75K LOC|