The Tech Behind The Moments Of Life (Families) App
At the Government Technology Agency (GovTech), developers are far from the typical image of workers hunched over computers, typing lines of code all day.
Instead they do plenty of stand-up and mingling, says software engineer Hoon Ding Yi, whose role is to implement features and solve technical challenges.
“We have cards tagged with the on-going tasks pasted on the walls, and every morning we gather for a team stand-up,” says Ding Yi. During this stand-up session, team members run through their tasks and update their progress with the rest of the team.
They also do “pair programming” – each task is assigned two developers who share ideas and sometimes have “intense” discussions before a single line of code is written”, Ding Yi says.
That written code gets reviewed by the end of the day by team members. This rapid and involved way of working is part of the agile methodology used to develop the Moments of Life (Families) app.
A more agile way of working
Many public agencies had to work together on the Moments of Life (Families) project. Besides GovTech, there was the Public Service Division (PSD), Ministry of Social and Family Development (MSF), Early Childhood Development Agency (ECDA), Immigration & Checkpoints Authority (ICA) and Health Promotion Board (HPB).
In the past, each agency would work with third-party vendors, write detailed specification papers at the start and only check in with their vendors at designated times and milestones, Ding Yi explains.
But with the agile methodology, the agencies involved in Moments of Life (Families) were “syncing up” with GovTech almost every other week, he says. The agile methodology requires several rounds of quick iterations to develop a system or app.
“So the agencies definitely had to be more engaged than with other projects,” Ding Yi says, but it helped that “they were very receptive to changes.”
Using government-built software
For the Moments of Life (Families) app, Ding Yi and his team used two technologies developed in-house at GovTech.
The first, the Next-Generation Container Architecture or NECTAR, is a platform providing the benefits and flexibility of cloud services, but with reduced security and operational concerns, and greater compliance with GovTech requirements.
The second system, called Application Programming Interface Exchange (APEX), allows GovTech’s systems to easily “talk” or exchange information with the digital systems of other public agencies.
Both resources are part of the Singapore Government Tech Stack. As the Tech Stack was newly introduced when the Moments of Life (Families) app was being built, many agencies had to enhance their systems to connect to the Tech Stack.
But with APEX making it easier to link various systems together, says Ms Lee May Gee, Director, Moments of Life (Families) Programme Office, the agencies were supportive and able to quickly upgrade their systems to match.
Their support, along with using shared government digital resources and the agile methodology, kept the Moments of Life (Families) project on schedule. The app was launched within a year – and “without any major hiccups”, adds Ding Yi.
Shaping team culture
Another aspect of the agile methodology GovTech uses is collective code ownership. This means everyone works on every part of the system, and tasks are assigned to team members with a range of experience and expertise.
An advantage is that whenever something goes wrong in the app, each team member is able to troubleshoot it, fix it, or find the correct person to help.
Along the way, Ding Yi has found that using the right processes helps to shape a team’s culture to be more proactive. That then shapes the quality of the product, one that is less prone to error.
He adds: “I used to think of systems, especially software systems, as autonomous. This Moments of Life (Families) project has made me realise how wrong I was. Software systems are a direct reflection of the team that built it.”
The article was adapted from Challenge Magazine.