Slide 1

Slide 1 text

ADH08 Mobile DevOps Demystified with Xamarin, VSTS and HockeyApp Roy Cornelissen Mobile Lead Consultant Xpirit Netherlands @roycornelissen

Slide 2

Slide 2 text

No content

Slide 3

Slide 3 text

@roycornelissen Dev Ops

Slide 4

Slide 4 text

Ops Maintaining the status quo Stability! @roycornelissen

Slide 5

Slide 5 text

DevOps is the union of people, process and products to enable continuous delivery of value to our end users. Donovan Brown @roycornelissen

Slide 6

Slide 6 text

DevOps Delivering software at the speed of business @roycornelissen

Slide 7

Slide 7 text

What’s unique about mobile? § Catching the Mobile Moment § Mobile isn’t neutral § Testing mobile apps § Publishing to the App Store @roycornelissen

Slide 8

Slide 8 text

Catching the mobile moment Identify Design Engineer Analyze IDEA Cycle Forrester Research @roycornelissen

Slide 9

Slide 9 text

Catching the mobile moment @roycornelissen Product vs Project

Slide 10

Slide 10 text

Mobile isn’t neutral On desktop, you designed for the web On mobile, you design for the platform http://ben-evans.com/benedictevans/2015/9/26/mobile-is-not-a-neutral-platform @roycornelissen

Slide 11

Slide 11 text

Code Repository Backlog Build + Deploy Monitor and improve Automated Testing User Feedback VSTS DevOps Cycle

Slide 12

Slide 12 text

Build @roycornelissen

Slide 13

Slide 13 text

Test @roycornelissen

Slide 14

Slide 14 text

Screen sizes & orientations @roycornelissen

Slide 15

Slide 15 text

Device Fragmentation

Slide 16

Slide 16 text

Thousands of iOS and Android APIs Public web APIs Backend integrations Third party libraries Memory, CPU and network constraints @roycornelissen

Slide 17

Slide 17 text

Long Cycles Rapid Iterations High Test Realism Simplistic Tests Beta Testing Manual Testing Automated UI Testing Unit Testing Automated UI testing is the only way to ensure your app LOOKS BEHAVES PERFORMS well on a broad set of devices with every release @roycornelissen

Slide 18

Slide 18 text

@roycornelissen Should we...

Slide 19

Slide 19 text

Agile testing pyramid Automated Unit Tests Automated Integration Tests Automated UI Tests Manual Tests @roycornelissen

Slide 20

Slide 20 text

No content

Slide 21

Slide 21 text

Deploy @roycornelissen

Slide 22

Slide 22 text

Feedback @roycornelissen

Slide 23

Slide 23 text

Code Repository Backlog Build + Deploy Monitor and improve Automated Testing User Feedback Recap: VSTS DevOps Cycle

Slide 24

Slide 24 text

Lessons learned @roycornelissen

Slide 25

Slide 25 text

The cloud is never down. Right...? @roycornelissen

Slide 26

Slide 26 text

Your API is throwing timeouts and errors @roycornelissen

Slide 27

Slide 27 text

@roycornelissen

Slide 28

Slide 28 text

@roycornelissen

Slide 29

Slide 29 text

@roycornelissen

Slide 30

Slide 30 text

@roycornelissen

Slide 31

Slide 31 text

@roycornelissen

Slide 32

Slide 32 text

Xamarin caused by: java.lang.OutOfMemoryError: (Heap Size=49159KB, Allocated=41079KB) at android.graphics.BitmapFactory.nativeDecodeStream(Native Method) at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java ) at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java ) at dalvik.system.NativeStart.run(Native Method) java.lang.NullPointerException: null reference at com.google.android.gms.common.internal.zzx.zzz(Unknown Source) at com.google.android.gms.appindexing.Thing$Builder.setName(Unk nown Source) at mono.java.lang.RunnableImplementor.n_run(Native Method)

Slide 33

Slide 33 text

@roycornelissen

Slide 34

Slide 34 text

@roycornelissen

Slide 35

Slide 35 text

Mobile Center @roycornelissen

Slide 36

Slide 36 text

ChatOps @roycornelissen

Slide 37

Slide 37 text

@roycornelissen

Slide 38

Slide 38 text

@roycornelissen

Slide 39

Slide 39 text

@roycornelissen roycornelissen.wordpress.com [email protected]

Slide 40

Slide 40 text

@roycornelissen roycornelissen.wordpress.com [email protected] xpir.it/XpiritMagazine