This GovTech team is the reason you no longer have to use paper parking coupons (Part 2)
-
Paper coupons be gone! Launched in October 2017, the Parking.sg mobile app now allows drivers in Singapore to pay for parking digitally
-
In this two-part series, we take you behind the scenes of how GovTech’s engineers designed and developed the app
-
In Part 2: How Parking.sg was tested, scaled and fine-tuned for its national debut
Most of us use mobile apps every day without giving them a second thought. But if you’ve ever wondered what goes into the making of an app, stay tuned—we’re taking you on a detailed journey of how GovTech engineers built Parking.sg, Singapore’s first digital parking mobile app. In Part 1, the team prototyped the app and put together a detailed proposal for building it. Now, park yourself in a comfy spot and read on for Part 2, in which Parking.sg is put through its paces, and the team has to make some important decisions.
Phase 3: Alpha testing
Parking.sg was alpha tested on just ten volunteers. At this point, it was a no-frills app that was still nowhere near complete, said Mr Li Hongyi, GovTech’s deputy director of product and engineering, who spoke at the Public Sector Infocomm Seminar on 20 March 2018. In the alpha testing phase, the goal is to explore different options, and to get validation that the app actually helps people who use it, he added.
“Alpha testing is the period of time when you have permission to build something that kind of works, but that you’re very willing to throw away. It’s important that you don't feel tied to any of the ideas, and you can swap things out along the way.”
For example, the team considered different options for how to implement per-minute parking. The most obvious method, which was simply to have users end the parking session the minute they return to their vehicle, had a major flaw—many users would rack up sky-high parking charges by forgetting to end the session before driving away. Instead, the app now requires users to input a parking duration upfront, and gives a refund for any unused minutes.
“It’s very tempting to say that the user should be expected to do this or that. But our job as public officers is not to blame the user; instead, it is to help them make good decisions,” said Mr Li.
[TL;DR] Phase 3: Alpha testing
Goal: Exploration and validation
Lessons learned: Don’t get too attached to an idea; help users make good decisions
Phase 4: Beta testing
While alpha testing is about exploring options, the goal of beta testing is to focus on building a stable app that can then be prepared for launch, said Mr Li.
While developers can typically think of dozens of features that would be nice to have, prioritisation is key at this stage to prevent projects from becoming too bloated, said Mr Li, who asked the audience to consider how much benefit any feature would bring to users, alongside how hard it would be to build.
“Projects rarely die because they get too small; they die because they get too big.”
For Parking.sg, the team made the decision not to build a login system or an e-wallet, because these features added little benefit and would have made the app unnecessarily complicated to build.
Another hallmark of beta testing is scale: Parking.sg went from 10 users in the alpha test to 15,000 at the end of the beta testing phase. At this point, there was still a laundry list of features that had yet to be implemented, but nothing that would block the launch, said Mr Li.
“Even at the end of beta testing, it doesn’t matter whether the app is everything you’ve ever dreamed of. What matters is whether it’s good enough to be worth launching; you can add the other features later.”
[TL;DR] Phase 4: Beta testing
Goal: Focus and stability
Lessons learned: Actively filter and prioritise features; bloat is bad
Phase 5: Production
Almost there! Before launch, apps need to be polished to make sure that the user experience (UX) is intuitive and that bugs are ironed out—all goals of the production phase.
“When it comes to UX design, the less noticeable the better. You’re not trying to be a supermodel, you’re just trying to be pleasant-enough looking so that people aren’t turned off by you,” said Mr Li, adding that a lot of refinements were made to keep the UX for Parking.sg simple and understandable.
As an app scales, production bugs inevitably crawl out of the woodwork; the team discovered and fixed a rare ‘double-parking bug’ which would charge users twice for the same session. “This happened for the first time only after we reached 50,000 parking sessions,” said Mr Li. “These are rare bugs, which is why you need to scale incrementally rather than all at once.”
[TL;DR] Phase 5: Production
Goal: Polishing and ironing out bugs
Lessons learned: In UX design, less is more; scale incrementally to catch bugs
All systems go
For the Parking.sg team, a successful launch was not the be-all and end-all of the project. “We’re trying to help improve the lives of citizens. It’s not about getting the project launched, or even about celebrating technology; it’s about using technology as one of myriad ways of helping to improve the public service,” said Mr Li.