DUOLABS
Work

Bringing a navigation service in-house

For a large navigation service run by a telecom carrier, we took part in moving development that had leaned heavily on outside parties into the company's own engineering organization. The service guides routes with real-time traffic data and puts hazard alerts, public transit search, and estimated travel times to frequent destinations in one app. It has a very large user base, so even a small defect reaches the route guidance of many drivers. Our share was building and maintaining core features such as route guidance, the map screen, and the search-to-guidance flow, along with stabilization and verification, across several versions of cross-team code review and short, repeated development cycles.

Launch
2014
Client
A Korean telecom carrier
Type
Vehicle & Navigation

01 / 04

Bringing in-house the development that had leaned on outside parties

Bringing navigation in-house means moving development areas that depended heavily on outside parties into the company's own engineering organization. Many drivers were already using the app every day, so the service had to keep running while the people responsible for its development changed. We took part in this work across several versions, handling core feature implementation and maintenance.

Bringing in-house the development that had leaned on outside parties
02 / 04

Core screens that run from search to route to guidance

We worked on the main features of a large navigation app: route guidance, the map screen, and the flow from search to guidance. A driver finds a destination, picks a route, and then follows the guidance, and those three steps run as one flow. Updates in the same period split the maps, streaming them for nearby places and public transit search while using maps stored on the device for route guidance, and put travel times to frequent destinations such as home and work on the first screen. With so many real users, stability and handling of exceptional cases were treated as seriously as the features themselves.

Core screens that run from search to route to guidance
03 / 04

Cross-team code review and change-history management

In the in-house development, cross-team code review and change-history management (configuration management) were standard procedure. Code quality was owned by the team rather than by individuals, and collaboration was anchored on what changed and when. With an agile approach, work was split into short cycles, and through repeated issue tracking and schedule coordination the team worked out a process that fit it.

Cross-team code review and change-history management
04 / 04

Stabilization by developers from two platforms working as one team

With too few developers for the navigation app, we worked as one team with developers who had been on the other platform. Differences between the platforms were shared openly, and problems were solved by bringing in each side's point of view. Because even a small defect reaches many drivers at once, stabilization and verification got as much care as feature development. When the project wrapped up, every member of the team received a commendation.

Stabilization by developers from two platforms working as one team

Highlights

01

Moving development of a large, live navigation service into the company's own process

02

Development and stabilization of route guidance, maps, and search

03

Cross-team code review, change-history management, and short iterative cycles

Insights

Read the blog