can we deliver mobile apps continuously?

27
? Can We Deliver Mobile Apps Continuously DAN WATERS XAMARIN TECHNICAL SOLUTIONS PROFESSIONAL AT MICROSOFT [email protected] | @DANWATERS

Upload: dan-waters

Post on 06-Apr-2017

123 views

Category:

Technology


3 download

TRANSCRIPT

Page 1: Can We Deliver Mobile Apps Continuously?

?Can We Deliver Mobile Apps ContinuouslyDAN WATERSXAMARIN TECHNICAL SOLUTIONS PROFESSIONAL AT [email protected] | @DANWATERS

Page 2: Can We Deliver Mobile Apps Continuously?

We Can Deliver Mobile Apps ContinuouslyDAN WATERSXAMARIN TECHNICAL SOLUTIONS PROFESSIONAL AT [email protected] | @DANWATERS

Page 3: Can We Deliver Mobile Apps Continuously?

Quality Matters MoreOn Mobile

Page 4: Can We Deliver Mobile Apps Continuously?

Short User SessionsSmall Form FactorsLimited Resources

Page 5: Can We Deliver Mobile Apps Continuously?

Thousands of iOS and Android APIs

Public web APIs

Backend integrations

Third party libraries

Memory, CPU and network constraints

Page 6: Can We Deliver Mobile Apps Continuously?
Page 7: Can We Deliver Mobile Apps Continuously?
Page 8: Can We Deliver Mobile Apps Continuously?

Count of distinct device types (out of 682,000 unique devices running OpenSignal apps)

2013: 11,8682014: 18,7682015: 24,093

Page 9: Can We Deliver Mobile Apps Continuously?

Mobile app quality can beOVERWHELMING

Page 10: Can We Deliver Mobile Apps Continuously?

How can we do better?Vision, Tools, Processes, and Baby Steps

Page 11: Can We Deliver Mobile Apps Continuously?

7 Reasons To Adopt Continuous Delivery

Much Higher Release Readiness Refactor with Confidence Consistent, Actionable, Automated Test Reports Better Feedback Move Faster, Safely Better Team Morale Higher Quality Software!

Page 12: Can We Deliver Mobile Apps Continuously?

Test Sooner.

Page 13: Can We Deliver Mobile Apps Continuously?

Faster Release Cycles

Page 14: Can We Deliver Mobile Apps Continuously?

Mobile DevOps Vision

Page 15: Can We Deliver Mobile Apps Continuously?

Vision for the developer experience – Mobile DevOps

Pick up a task

Write code

Manual tests

Code review

Push commit

CI with automated

tests

Automated deployment to beta users

Review test results

Page 16: Can We Deliver Mobile Apps Continuously?

Tools Demo (kinda)

Page 17: Can We Deliver Mobile Apps Continuously?

The 20 Minute Goal

Page 18: Can We Deliver Mobile Apps Continuously?

Conceptual Build Templates“Quick CI”

• Optimize for shorter runtime (< 20 min)

• Run on every check-in (CI)

• Includes critical path smoke tests

• Also includes smoke tests for features related to the commit (rotate new features in and out)

• Small set of critical devices

CI Regression• Chain and run only if

Quick CI is green• Larger set of tests

and devices• Deploy to beta users

if it passes• Immediately triage if

it fails

Weekly Regression• Scheduled build

starting after everyone goes home for the weekend

• Includes all tests and all target devices

• Runtime could be very long

Page 19: Can We Deliver Mobile Apps Continuously?

The Highest-Value Automated UI Test For Mobile Apps

Page 20: Can We Deliver Mobile Apps Continuously?

[Test][Category(“smoke-tests”)]public void AppDoesNotCrash(){ app.WaitForElement(“main_logo”); app.Screenshot(“App did not crash.”)}

C# Example (NUnit + Xamarin.UITest)

Page 21: Can We Deliver Mobile Apps Continuously?

Happy Test Cloud Customers

Pinterest uses Xamarin Test Cloud to delight Pinners everywhere, guaranteeing its apps look amazing and work without issue on any device for over 100 million users.

Page 22: Can We Deliver Mobile Apps Continuously?

Happy Test Cloud Customers

Coca-Cola Bottling Co. Consolidated is transforming their business with anywhere, anytime accessible field sales apps powered by Xamarin for Visual Studio, Azure, and Visual Studio Team Services.

Learn more at www.xamarin.com/customers

Page 23: Can We Deliver Mobile Apps Continuously?

3 Key TakeawaysTo Help Delight Your Customers and Team

Page 24: Can We Deliver Mobile Apps Continuously?

1. Test Immediately

Page 25: Can We Deliver Mobile Apps Continuously?

2. Establish a Build

Page 26: Can We Deliver Mobile Apps Continuously?

3. Take Baby Steps

Page 27: Can We Deliver Mobile Apps Continuously?

Thank You!

Dan WatersXamarin Technical Solutions Professional at [email protected] | @danwaters