Optimize your delivery and quality with the right release methodology and tools - Guy Tsype,...

21
Optimize delivery and quality with the right combination of tools

Transcript of Optimize your delivery and quality with the right release methodology and tools - Guy Tsype,...

Page 1: Optimize your delivery and quality with the right release methodology and tools - Guy Tsype, MyHeritage

Optimize delivery and quality with the right combination of tools

Guy Tsype
Page 2: Optimize your delivery and quality with the right release methodology and tools - Guy Tsype, MyHeritage

MyHeritage

6,600,000,000Historical Records

2,500,000,000Profiles

85,000,000Users

Who are we?

Page 3: Optimize your delivery and quality with the right release methodology and tools - Guy Tsype, MyHeritage

• Personal goals - We should all want to produce and release a high quality app

• Poor quality impacts your bottom line• User satisfaction leads to high retention rates• Brand reputation • Pride

Why Quality Matters?

Page 4: Optimize your delivery and quality with the right release methodology and tools - Guy Tsype, MyHeritage

• Keeping the foot on the gas paddle when it comes to releasing new features and versions while maintaining high quality.

• Quality isn’t determined just by crashes, need a way to determine that your users get the experience you want them to.

Challenges In a Fast Pace Environment

Page 5: Optimize your delivery and quality with the right release methodology and tools - Guy Tsype, MyHeritage

• High device fragmentation that leads to greater complexity

Challenges In a Fast Pace Environment

Page 6: Optimize your delivery and quality with the right release methodology and tools - Guy Tsype, MyHeritage

• The need to support a high number of OS versions

Challenges In a Fast Pace Environment

Page 7: Optimize your delivery and quality with the right release methodology and tools - Guy Tsype, MyHeritage

• Keeping track of your app versions and their contents over long periods of time.

• Preserving your API’s integrity over time.

Challenges In a Fast Pace Environment

Page 8: Optimize your delivery and quality with the right release methodology and tools - Guy Tsype, MyHeritage

• Visibility• Controlled releases• Regression Prevention

Keys to Success

Page 9: Optimize your delivery and quality with the right release methodology and tools - Guy Tsype, MyHeritage

Visibility

• Design and implement your analytics strategy in a way that provides you the most visibility and information.

• Set a unique user ID so that you can monitor the same user over multiple analytic platforms

Page 10: Optimize your delivery and quality with the right release methodology and tools - Guy Tsype, MyHeritage

Visibility

Page 11: Optimize your delivery and quality with the right release methodology and tools - Guy Tsype, MyHeritage

Visibility

• Monitoring crash reports• Monitoring version adoption

Page 12: Optimize your delivery and quality with the right release methodology and tools - Guy Tsype, MyHeritage

Controlled App Releases

• Try to stick to a pre-defined version release schedule• Periodic releases - New version every 2-3 weeks• Feature flags • Staged Rollout

Page 13: Optimize your delivery and quality with the right release methodology and tools - Guy Tsype, MyHeritage

Regression Prevention

• Beta/Alpha testing• Unit tests – Build machine • End to end Automations• API automations

Page 14: Optimize your delivery and quality with the right release methodology and tools - Guy Tsype, MyHeritage

Regression prevention – Nightly Builds

Nightly Unit Tests End to End UI Test

Nightly Coverage

Page 15: Optimize your delivery and quality with the right release methodology and tools - Guy Tsype, MyHeritage

How it all fits togetherVersion Release

New Feature Development

Testing

Alpha/Beta Phase

Page 16: Optimize your delivery and quality with the right release methodology and tools - Guy Tsype, MyHeritage

How it all fits together

• Writing unit tests • Writing E2E/Integration/Automation tests • Implement feature flags • Fixing the top crashes that were collected from previous version

New Feature Development Phase

Page 17: Optimize your delivery and quality with the right release methodology and tools - Guy Tsype, MyHeritage

How it all fits together

• Running Unit Test from nightly build machine• Running E2E/Integration from nightly build machine• Manual QA• Monitor test usage to see if the user experience is what was intended• Analyze user feedback

Testing and Beta analysis

Page 18: Optimize your delivery and quality with the right release methodology and tools - Guy Tsype, MyHeritage

How it all fits together

• Set feature flags to their production values • Final QA sanity check • Staged rollout over about 2 days – Bug fixes if needed

Version Release Phase

Page 19: Optimize your delivery and quality with the right release methodology and tools - Guy Tsype, MyHeritage

How it all fits together

• Crash report monitoring – Collect top crashes• Version adoption monitoring • Key app event monitoring (e.g. in-app purchases) • Monitoring new feature analytics for quality and usage insights • Monitoring Google play reviews and support tickets

Post Version Release Analysis

Page 20: Optimize your delivery and quality with the right release methodology and tools - Guy Tsype, MyHeritage

• Visibility• Controlled releases• Regression Prevention

Summary

Page 21: Optimize your delivery and quality with the right release methodology and tools - Guy Tsype, MyHeritage

Thank you

Guy [email protected]