How we turned a project experiment into a long-term solution for the client
Our client’s backstory
The digital payments company we work with is a global company that disrupts corporate funded payments with virtual and physical disbursements in real time.
They provide prepaid services for global incentive and reward programs, offering prepaid funds on behalf of a diverse group of corporate clients to their equally diverse target audiences.
As a forerunner of the payments industry, they work with high-impact brands and provide fast corporate funded payments to businesses, their employees, customers, contractors, participants and channel partners via virtual, digital and physical card payments in 160+ countries and 17 languages.
The company has been in the market for more than 20 years and is always looking for new ways to modernize user experience in the ever-evolving fintech industry.
With the surge in smartphone use, the company wanted to add a mobile application to their plethora of services to keep up with modern customer needs. They wanted to move fast, but they lacked in-house expertise in mobile development.
Hiring mobile developers, onboarding them and setting up an in-house team would take time and introduce significant costs in the long run. Defining all processes, tools and technologies would probably require negotiations with several stakeholders, which would further drag out delivery. To be efficient and cost-effective, the company decided to hire a qualified outside team and Klika was selected as a tech partner to build the new mobile application.
One of the big challenges was the fact that the existing software was not developed with mobile applications in mind, therefore, it would not support an out-of-the-box mobile app. Since this was supposed to be an experiment project with an uncertain future, starting from scratch was not the best option. However, the company did foresee putting In-App Provisioning and mobile payments to use to extend and improve their services. We needed to design and implement an API that would integrate with the existing systems and support the mobile experience.
The nature of the project combined with a tight deadline made it obvious that this was a job for an extremely agile self-organized team, isolated from the rest of the core tech team working in-house. That way, the external squad could focus on delivering value instead of fitting into existing processes and practices. To show efficiency, streamlined processes and a transparent roadmap were of utmost importance to meet delivery goals.
To ease processes and organize the workload, the team was formed around the idea of Lean Startup. Self-organization was key in this project, so we assigned a Product Owner (PO) from the get-go to define requirements and negotiate priorities for the MVP. The PO was also the main contact person for the client.
A prerequisite for our team’s success was a clearly defined Project Charter, which was created by our Product Owner as the first step of the process. It consisted of requirements, the scope for the MVP, priorities and deadlines. In that way, we enabled the client to transparently monitor progress. The agreed timeframe for delivering the MVP was three months.
To facilitate the team’s work and keep a prioritized backlog, we chose Scrum as a framework and one-week sprints to have a short feedback loop.
The work was split into three threads to manage dependencies between different parts of the project. The first was UI/UX design, which was set out one or two sprints before mobile development. With this strategy, designs were ready and approved before development was started.
The second thread referred to the API specification which was also defined before starting the actual development process. Given that refactoring the legacy system to support new API was not part of the scope at this stage, our team created a mock API based on the specification that provided just enough functionality for building the MVP.
The third thread was the development stage itself. The team used native technologies for building Android and iOS applications, and we used the Microsoft App Center for continuous integration and delivery which allowed us to be efficient and transparent at all levels.
The mobile application was designed in line with the client's branding, so it shares the same look and feel with the rest of the customer-facing applications. New UX ideas introduced in mobile design inspired improvements on existing web applications the client had running.
The entire time, we had a dedicated Quality Assurance expert on the team who was in charge of keeping product quality at the highest level. To standardize QA processes, we enabled automated mobile app testing as part of the continuous integration pipeline.
Even though the project was an experiment, the Klika team wanted to create a solid foundation for future development in case the project succeeded and that is exactly what we achieved. We inspired change and system enhancements throughout the organization.
The first and most obvious benefit for the client was a working concept of the mobile application for one of their core products. The product’s new specific functionalities started a domino effect that initiated improvement efforts across several legacy systems.
On the other hand, the API specification was so well designed that it later served as a starting point for refactoring the legacy system and upgrading to new scalable technologies.
After only three months, the client got a fully onboarded team of experts with low risk involved. While working in a sandbox, the Klika team learned about the client's existing products, In-App Provisioning and other mobile features, which came in handy for future projects and products. We ensured the client had a robust mobile applications development environment with an automated testing framework and continuous integration and delivery in place.
The way the Klika team worked together and organized themselves to be more effective inspired the client's entire organization to simplify processes and become more agile.
Android Kotlin, iOS Swift, MS App Center, Azure, Swagger, Open API