2022-10-24
Making Mercari’s Business and Ecosystem Sustainable: Our Journey to Creating GroundUp App, a Project More Colossal Than Anything We Have Done Before
The development of Mercari’s GroundUp App, which began as a project to revamp the frontend of the company’s flagship product, was an undertaking larger than nearly anything else Mercari Group had ever shouldered before. GroundUp App, still referred to internally by its development code name, is a project that absorbed a lot of the company’s resources and time. So why did Mercari start this endeavor in the first place, and what was our goal? Two of the key people behind the app, CTO Ken Wakasa (@kwakasa) and Director of Business Foundation Masateru Miyasaka (@mmiy), sat down with Mercan to look back on what it was like to travel the distance of this two-and-a-half-year-long project.
Featured in this article
-
Ken WakasaKen obtained a graduate degree in informatics engineering at University of Tokyo’s Graduate School of Engineering. He then worked on hardware-related software development (mobile phones, AV appliances) for Sun Microsystems and Sony. After joining Google and working on the development of Google Maps, he got involved with framework development as part of the Android OS dev team starting in 2010. He then worked on software development at Apple, oversaw the development of the LINE messaging client for LINE, and in August 2019 he joined Mercari as the Director of Client Engineering. In July 2021, he was appointed Mercari Japan CTO. -
Masateru MiyasakaAlong with his work for Microsoft, Rakuten, and Fast Retailing on project management for various products for Japanese and global markets, Masateru has also implemented agile development to strengthen development organizations, started offshore development offices, and more. He joined Mercari, Inc. in September 2018. He currently works as the Director of Products Foundation.
In a sense, Mercari’s engineering has tasted defeat
──So, could you talk about the history of GroundUp App, starting with what led to its creation?
@kwakasa:I guess things began in the second half of 2020, three or four months after we started the project to create the new version of Mercari Web, the online platform of our product. The road to GroundUp started when some of the project managers and designers began suggesting that we should update the Mercari app in addition to Mercari Web.
But basically, I’m of the belief that software shouldn’t be rewritten from scratch. Software improvement activities are basically about refactoring (organizing the internal structure of a program without changing the way the software behaves when seen from the outside), which is the high road of engineering, but rewriting the code is—in a sense—a sign of engineering defeat.
Perhaps because the investment we made to rework Mercari Web was not as much as the app would require, it was easy for us to reach a consensus over remaking that product. But when it came to the app, we invested substantially more. When I received a proposal that we should update the app, my honest opinion was that I didn’t want to do it, and I didn’t think that we should.
Ken Wakasa (@kwakasa)
@mmiy:There were a few reasons why we decided to rewrite the software regardless of everything.
One of the reasons was that, at the time, we were working hard to rewrite features individually, but we saw that some of the work on this had stopped without being completed, and the visibility of the progress was opaque.
Another reason was that, when we examined the work from the perspective of the product, it was hard to fine-tune the UI while surveying the overall feel of the product. One of the things that were emblematic of that was the implementation of Dark Mode. We were implementing an entirely different UI which took time and cost. Proceeding with the work in a piecemeal fashion was arduous, and a thought crossed my mind: maybe there was a way that we could rewrite everything.
@kwakasa:As of 2022, it’s been ten years since smartphones became used as a mainstream platform in Japan. We launched the Mercari marketplace app in 2013. But if you look at what’s happened to the smartphone industry over the last ten years, how the hardware and the software are made have changed substantially. Right around 2018 to 2019, native app development also received a jolt from the web, and both iOS and Android started to incorporate modern frameworks like Flutter and React Native.
For Mercari to catch up with industry trends, we ran a few one-off projects, but somehow lifting the priority of this sort of work continued to be a challenge.
@mmiy:At Mercari, the direction of decision-making tends to change quickly, so if you work piece-by-piece on something that requires a long time to complete, it does happen that the priority of a project doesn’t get raised and the work ends part of the way through.
@kwakasa:What’s even worse—at least in terms of technology—is that things that end part of the way through remain but are unfinished. Normally, you should dispose of anything that is incomplete, but people say, “well we’ve used our resources on this and it’s still not finished,” and so we end up keeping it. It reminds me of that poem: Summer grasses, all that remains of great warriors’ dreams… or whatever (laughs).
@mmiy:That’s the result of the speed of our business’s growth not matching the speed at which our organization is growing. But make no mistake; the work is the result of our engineers’ efforts.
Masateru Miyasaka (@mmiy)
What we need to do to make Mercari a true tech company
──Now I get how complicated the background leading up to the start of the project to develop GroundUp App was.
@kwakasa:The sort of situation that we just talked about did exist, so we started working on GroundUp App with only a limited number of members who worked virtually undercover.
@mmiy:It was like how they built the Mercari marketplace app in 2013, but with a smaller team. We broke the process down into three phases: first was the technical validation of the proof of concept, second was developing the essential core features, and the third and final phase was catching up to the legacy app’s features. Small teams worked on the first two phases, but for the third phase, we involved the entire team.
@kwakasa:That third phase was especially tough. There are a lot of things that could have gone better. There are some things that are related to Mercari’s maturity as a tech company. Our engineering and how we do business are put to the test, so for Mercari to become a tech company in the truest sense, that’s an obstacle that we’ll have to overcome.
──How do you plan to accomplish that?
@kwakasa:We’re betting that app development will follow the direction of the declarative UI libraries announced by Google and Apple that will probably become the standards for client apps going forward. To that end, we gathered together a team of engineers who said that they wanted to work on something like this. And we didn’t just do this with hiring. The team also included people who had transferred internally. If keeping the business side as stable as possible was the higher priority, it would not be unusual to make the decision to proceed using only tech that was completely obsolete, but the fact that we were able to come to a consensus to catch up on global engineering standards I think speaks to the Go Bold attitude that we have as one of our values. Because we were actually able to approach decision-making in a way that was similar to world-famous tech companies.
@mmiy:Speaking of values, when someone needed help, the presence of people who provided support with an All for One attitude was massive. Any project will invariably go through hard times. But whenever we faced something like that, each of the instrumental team members would come together and carry through until the problem was finally solved. I got a real sense that we have a culture of coming together as one and following through.
@kwakasa:For example, in order to launch Merpay on time back in the day, the whole organization came together as one and got it done. Of course, it was a very difficult process to make the necessary adjustments to schedules and task assignments for a massive number of people, but this thing we call “All for One collaboration” is one of Mercari’s unique strengths. We have respect for technology, so our engineers also have a chance to demonstrate their own knowledge. That’s why we can trust them to take care of the work. Come to think of it, mutual respect among our people is probably another strength that Mercari has.
@mmiy:Our company culture is to have a very positive attitude toward new challenges. I feel like in Japan, you don’t often see such a strong willingness to approach something saying, “this might not work, but I’m going to take this on anyway.” When the bar is set higher, people rise to the challenge. For this project, project managers and engineers teamed up to take on the peripheral challenges of strengthening accessibility and global support.
Recovering lost knowledge
── I’ve heard that the objective of the GroundUp App project was to recover lost knowledge.
@kwakasa:Yes, that’s true. Actually, for me, this project was only half about implementing the product. The other half of it, and a major goal, was documenting the specs of our product.
@mmiy:Looking at it purely as a matter of volume, the percentage was much higher for documentation, but in terms of importance, implementation was about half the equation.
@kwakasa: I heard one case where someone asked a question about why something had been built the way it was, and no one knew. They had to go searching through the history of the specs like mad on Slack and finally found the answer in a Slack message from five years ago. As a result of our work, I feel like we were able to document 80 to 90% of the project. At the very least, we are now able to communicate while looking at the spec document. I think we’ll be able to cut down a lot on conversations that go, “hey what is this?” and the other person responds, “I don’t really know.”
More than anything, I think that documenting all of the context related to product development is important for this product that we call Mercari. In the future, once AI becomes able to program, we won’t be able to develop anything without a spec document. I think you could say that the asset value of documenting the product’s specs, far outweighs the importance of implementation.
@mmiy:That’s why we didn’t make any new rules, right? The rules that were already in place are now realistic and have become easier to use.
@kwakasa:That said, the fact that we share a common language is huge. We should be able to lower the communication costs of designers and managers, and consequently, we should also be able to lower the implementation costs of engineers.
@mmiy:Looking at change in the sense of what GroundUp App offers, I think that the user experience has changed a little bit thanks to GroundUp. We built the app within the larger framework of the company’s design system, so the user experience will be consistent, and I believe usability will be better than before too.
@kwakasa:But we haven’t sent out any particular information to our users telling them that we rewrote the whole software. For instance, take something like Facebook Messenger, which has been rewritten several times over, but Meta doesn’t broadcast to their general users that they have overwritten their product. It’s not like they’ve introduced some entirely different features. The changes we made are so slight that we would have users asking themselves, “what changed?”
@mmiy:Our objectives this time were the technical categories of the presentation layer and the revamping of specs that had become overly sophisticated. Actually, we hardly added any new features at all. If we added a whole bunch of features in with the update, and then something went wrong, we wouldn’t know if the source of the problem was one of the new features or one of the existing features. As far as the order of operations goes, improving and revamping existing features and then moving to add new features is the normal way of doing things.
@kwakasa:It’s sort of like a landscaping business that goes from using a light pickup truck to haul loads to using a four-ton truck for the same job. Going forward, that company is going to be able to carry larger loads, and in our case, more features. The implementation of GroundUp will not change the experience of using the software that much. However, thanks to GroundUp App, we will now be able to add new features more quickly.
@mmiy:Therefore, this time around we actually removed more features than we added. With GroundUp App, we will be able to develop the product quickly, and in order to create conditions that allow us to do what we want, trimming the fat where we should is an invisible and yet big investment for the future.
@kwakasa:The core of the service we call Mercari is actually the backend. Because the backend has a database, you can’t simply replace the existing items by rewriting them. The only option is to apply layers of improvement one at a time. This is why I say we’re just getting started.
──When GroundUp App is complete, you’ll be able to do what you want to do, but what are your immediate thoughts on what you’re trying to advance?
@kwakasa:I see what you mean. Going forward, in order to improve the UX across the Marketplace and Fintech businesses, and to allow users to use the app even more conveniently, we will speed up the hypothesis testing cycle for honing existing features and adding new ones. Going forward, I think that more big changes are coming.
Our journey isn’t over yet
──With Mercari in a time of big changes, what do you now think is the biggest thrill of being an engineer?
@kwakasa:I think it’s the diverse experiences that the profession offers. There are opportunities for people who want to do more and more new things. People also have the chance to maintain a product that you could say is representative of the C2C marketplace industry, and developing such a product is not something you get the chance to do at other companies in Japan. Naturally, it’s still hard to say conclusively that we’ve achieved a higher dimension of technology. We’re taking on a new challenge while handling a product of this scale and iterating on it, so the level of difficulty is high.
But personally, I think that taking on truly difficult challenges is what engineering is all about. I think we can say that this is where we can come face-to-face with the true meaning of engineering.
@mmiy:When you think about it from the perspective of our product managers, Mercari’s strength is the strength of our engineering competence. Of course, if a product manager doesn’t understand the technical aspects as well, they can’t keep up with the engineers. With Mercari growing into a larger service, I think that an environment where product management can take place with an understanding of the business, engineering, and the user’s perspective is invaluable. I don’t think there’s a better way to aspire to grow to a higher dimension.
──To wrap things up, what issues do you think Mercari should tackle in the future?
@kwakasa:Three words: journey without end. As long as we continue to operate the product, we must add new features to grow the KPIs of the business, and we also have to make our development more efficient. In order to do these things, we need product management that will move forward smoothly and development that we must work on without end. (laughs) There should be no talk of not having to think about a feature for a while because we’ve just released it. Like I said at the beginning of the interview, continuous refactoring is an important aspect of engineering. What we have rewritten this time will likely reach a point where it also has to be rewritten again.
Therefore, I think it was important to take this opportunity, not just for engineers, but for all people with roles at Mercari to have the mindset of recognizing that this is what operating a large-scale product looks like. Some people probably even think of this as a little boring. But for some of our users, the Mercari app is now most certainly infrastructure and a lifeline. I want to approach our product fully aware that I am involved in the development of something that is just as indispensable to people’s daily lives as electricity, gas, and water utilities.
@mmiy:I think that the product we have made this time is a first step to making Mercari’s business and ecosystem quite sustainable. This time around, we went with a plan to rewrite the product, but either way, it cost us money, resources, and time. But we invested these things to fix a product piece by piece because we are a tech company; It’s what we do. Going forward, I want us to be a little more calculating with our execution. (laughs)
@kwakasa:There are still challenges ahead. It is true that we have hit a wall in terms of on-time operations, which is putting a strain on all sides, but Mercari is able to tolerate the bare minimum of negative in the name of achieving the positive. Not everything is great, but I want us to accept these things as a tech company and move forward.