15. 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
18. 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
21. 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.
22. 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
We know there’s a fragmented device landscape, yet users expect apps to work perfectly on the device of their choice. They also expect incredible mobile features. There is just so much complexity in delivering a great app. First of all, there are thousands of iOS and Android APIs. Apple and Google just recently had their developer conferences here in San Francisco, and each announced over 5,000 APIs in their upcoming device operating system releases alone. In addition, manufacturers such as Samsung and Amazon each add on their own device-specific APIs, adding even further complexity.Secondly, the average app consumes about 5 public web APIs – such as social login and sharing, news feeds, photo sharing, and cloud storage. Most apps also have connections to business systems through backend integrations. Internal apps deliver company data, and consumer apps often surface account and product information.
We also see that most modern apps consume multiple 3rd party libraries – from barcode scanning, to charting, to encryption libraries, to authentication, to messaging protocols and more.All of these great mobile features need to be delivered on these tiny computers in our pockets with limited memory and CPU resources, subject to network latency, spikes and disconnects. Pulling off a great app on a single device is difficult – pulling it off on hundreds of devices is exponentially more difficult.
Apple 2 week review period
Look we’ve all been there. Investigating your existing processes, wondering how to improve them. Then we follow this natural human tendency to try to design everything upfront. In my opinion, designing your entire devops process upfront is antithetical to Agile, because you’re not taking the time to learn from your team and how they work best.
Take baby steps. Make it work, and then make it better, a phrase I first heard from Pawel Pabich, an engineer I used to work with at Readify who is now at Octopus Deploy. If moving to a structure like this seems too difficult, don’t worry. Just like in code, small changes are much easier to manage. I know that you can do it, and I know that our industry can do it – that is, adopting the best possible devops processes to ultimately get the highest quality apps into the hands of our customers quickly and safely, delighting them. Becaues that’s what we do, isn’t it? Thank you.