Rakuten is a huge company that is best known in Europe for their sponsorship of the famous FC Barcelona, not necessarily for their business. So let me quote Wikipedia to give you a bit of context:
Rakuten, Inc. (楽天株式会社) is a Japanese electronic commerce and Internet company based in Tokyo and founded in 1997 by Hiroshi Mikitani. Its B2B2C e-commerce platform Rakuten Ichiba is the largest e-commerce site in Japan and among the world’s largest by sales. The company operates Japan's biggest Internet bank and third-largest credit card company (by transaction value). It also offers e-commerce, fintech, digital content and communications services to over 1 billion members around the world, and operates in 29 countries and regions.
It is often referred to as the Amazon of Japan.
We were asked to help Rakuten build a new native iOS application to test out in the European market. The project was on a tight, business-driven deadline that was even more difficult due to backend APIs still being developed and designs were still being finalised.
Although the project's scope was pretty straightforward, there was a bunch of challenges in our daily work that we had to face.
For one, we had to start developing against mock APIs and then fluently switch as the real ones were being made available. Design-wise we faced a similar challenge. Fortunately, we're used to working in such environments and it wasn't a problem for us to start developing against original wireframes and polish it later, as soon as the final design got accepted.
The team we worked in was as distributed as possible, ranging from mobile and part of the API development was done in Spain, design in Germany and there was even a team in Japan that owned some of the dependencies that we were using. With such language, culture, and timezone barriers this was definitely the most distributed project that we were a part of!
Handling both platforms
Finally, as we were approaching completion with the iOS application, it became apparent we'll have to help out with the Android version as well. Fortunately, the iOS development was ahead of schedule, so we could easily move some of our resources to help get the other platform up to speed.
As a result, we managed to not only deliver the iOS application on schedule, with no compromise on quality, but also significantly help with the development of the Android version.
In 13 weeks we managed not only to create a completely custom native iOS application, but also delivered a significant part of functionality for the Android platform.