WhoBuilt

The Power Of Process Automation

Oct 22, 2020· 38 min· 541 views·Watch on YouTube

Speaker

Alexander Kuttig of Horizon Alpha discusses automating React Native development processes at React Native EU 2020, hosted by Callstack.

A complex app, a small team

Kuttig describes LearnMatch, a language-learning app launched in 2016 with a three-week release cycle, 36 languages, more than 50 country configurations, and white-label versions. Around 300,000 active users were served by a two-developer team, with 99.8% of sessions crash-free. As the project grew, only 30% of development time remained for features.

Build a connected workflow

Kuttig’s setup links an issue tracker, code management, CI/CD, and stability monitoring. His team used Jira, Bitbucket, Bitrise, and Bugsnag, while noting alternatives such as GitHub, GitLab, App Center, Sentry, and Crashlytics. The systems report build and error information back to a shared project hub.

Automate reviews and testing

Each task gets an issue, branch, and pull request. Branch creation and pull request events move Jira issues through the workflow, trigger automated checks, notify reviewers, and create customer testing builds after merge. Checks include merge conflicts, Flow or TypeScript, linting and formatting, security analysis, unit and snapshot tests, coverage requirements, and iOS and Android builds.

Test releases on real devices

The team used Jest and React Native Testing Library for unit and snapshot tests, plus Appium with AWS Device Farm to test core features across Android devices and configurations. Device Farm returned logs, performance details, and recordings that helped diagnose failures. Because end-to-end tests could be flaky, partial failures created Jira issues for a person to investigate before deciding whether to proceed.

Release, monitor, and reclaim time

Release pipelines handled builds, versioning, content, store uploads, and Bugsnag source maps; iOS and Android releases could run in parallel. Production errors were automatically added to Jira and assigned for prioritization, with source maps helping identify the relevant JavaScript line. By 2020, the team had more than doubled the time available for feature development while keeping its three-week release cycle.

Takeaways

  • Connect issue tracking, code review, CI/CD, and error monitoring so project status stays visible in one place.
  • Automate repeatable checks and release steps to free developers for feature work and complex decisions.
  • Use source maps with production error monitoring to make React Native crashes easier to investigate.
  • Test core flows on representative real devices, and give someone ownership of investigating partial or flaky failures.
  • Keep human review for judgment and creative decisions; let automation handle predictable steps.

Mentioned in this talk

Search inside this talk

What was claimed 13

Show all 13 facts

Related talks

The Power Of Process Automation, Alexander Kuttig · WhoBuilt