Applying both Scrum and Kanban methodology
The Kanban methodology is based on full transparency of the entire development process, when every stage is entirely defined in advance.
Scrum as a subset of the Agile methodology was selected by the team to break work into small periods (sprints). The aim was to bring value to the business incrementally every 1-2 sprints.
As typical of Scrum project management, the team comprised a project manager, product owner, Scrum master, and other cross-functional team members.
Xamarin development process
Step 1. Carrying out a Proof of Concept
The team created a Proof of Concept (POC) to prove its technical feasibility, including validation of using Xamarin and selecting between Xamarin.Forms and Xamarin Native for building an MVP.
Step 2. Building a Minimum Viable Product
The primary goal was to develop a stable and scalable Minimum Viable Product (MVP) version of the app.
A team of full-stack developers built an MVP working on frontend, and backend simultaneously.
The MVP was written on Xamarin.Forms to speed up the MVP development process twice compared to writing an app from scratch on Xamarin Native.
Such a quick solution allowed the company to meet their primary goal - to launch a new service with minimal resources and in the shortest possible time.
After a successful launch of an MVP,  the number of customers significantly grew up, generating higher profit. It allowed the company to allocate an additional budget for migrating Xamarin.Forms to Xamarin Native for further app optimization.
Step 3. Migration to Xamarin Native
The goal of the company's top management was to minimize the cost of the app maintenance in the long-term.
The team could achieve the goal by migrating to Xamarin Native. That allowed developers to avoid some critical bugs that were typical of Xamarin.Forms and were hard to investigate and fix. As a result, the team saved time on further updates, fixes, and maintenance.
Both Xamarin Native and Xamarin.Forms support shared business logic. That's why, when migrating to Xamarin Native, such components as platform-independent ViewModels, a base class library, business logic, and a data layer remained the same.
For smooth and quick migration, the team applied a cross-platform MvvmCross framework.
Migration to Xamarin Native from Xamarin.Forms allowed the company to save budget in the long run. Today, the app is under long-term maintenance.
Step 4. Software testing and Quality Assurance
Throughout the entire development process, the team was applying different types of software testing to ensure smooth work of the newly developed mobile app:
- Smoke testing for detecting defects in the app functionality at early stages of the development process;
- Unit testing for checking the performance of separate parts of the app independently;
- End-to-end testing for checking the app's flow from beginning to end, ensuring that all integrated pieces work together as expected;
- Regression testing for ensuring the smooth work of the app after adding every new feature.
Belitsoft has been the driving force behind several of our software development projects within the last few years. This company demonstrates high professionalism in their work approach. They have continuously proved to be ready to go the extra mile. We are very happy with Belitsoft, and in a position to strongly recommend them for software development and support as a most reliable and fully transparent partner focused on long term business relationships.
Global Head of Commercial Development L&D at Technicolor