Setting up Continuous Delivery Culture for a Large-Scale Mobile App
The ability to get the latest greatest version of your product into the hands of users, safely and quickly in a sustainable way, a.k.a Continuous Delivery is the need of the hour for every enterprise out there. Over the years, we've got very good about Continuous Delivery for server-side, web-applications. However, it's not as streamlined for Mobile or Desktop Apps.
This talk will cover the typical aspects we need to address while setting up a Continuous Delivery culture in the context of a large-scale mobile app:
- SCM/Version Control: moving from Feature Branches to a trunk-based development model
- Build/Test Environments: Decentralising the build & test environments using Containers(Docker) and CI Server(Jenkins)
- Microservices Architecture: Segregating and containerize the micro-services. Also refactoring the mobile apps to be more container friendly.
- Device Farm: Setting up a mobile device farm (using STF or ADF)
- Code-reviews: Improving the quality of code-reviews (using SonarQube, PRBuilder & PRRiskAdvisor)
- Test Pyramid: Building the right Test Pyramid to get rapid feedback by creating different kinds of automated tests to align with the CI Pipeline
- Code Quality: Visualising the health of our code-base (using C3)
Software engineers, technical leaders, architects and anyone interested in continuous delivery.