mobile development with a #devops mindset
TRANSCRIPT
![Page 1: Mobile Development with a #devops mindset](https://reader031.vdocument.in/reader031/viewer/2022013003/55a64a631a28abd06d8b464c/html5/thumbnails/1.jpg)
MOBILE DEVELOPMENT
with a devops mindset
Patrick Debois@patrickdebois
![Page 2: Mobile Development with a #devops mindset](https://reader031.vdocument.in/reader031/viewer/2022013003/55a64a631a28abd06d8b464c/html5/thumbnails/2.jpg)
1 YEAR IN MOBILE APPS
with a devops background
Patrick Debois@patrickdebois
![Page 4: Mobile Development with a #devops mindset](https://reader031.vdocument.in/reader031/viewer/2022013003/55a64a631a28abd06d8b464c/html5/thumbnails/4.jpg)
DEVOPS
DEV OPS
![Page 7: Mobile Development with a #devops mindset](https://reader031.vdocument.in/reader031/viewer/2022013003/55a64a631a28abd06d8b464c/html5/thumbnails/7.jpg)
http://dev2ops.org/2012/09/use-devops-to-turn-it-into-a-strategic-weapon/
TIM DYSINGERDAMON EDWARDS
![Page 8: Mobile Development with a #devops mindset](https://reader031.vdocument.in/reader031/viewer/2022013003/55a64a631a28abd06d8b464c/html5/thumbnails/8.jpg)
https://cacoo.com/diagrams/uapwdcN6SDfwClDY-351A0.png
An emerging set of practices
MATHIAS MARSCHALL
![Page 9: Mobile Development with a #devops mindset](https://reader031.vdocument.in/reader031/viewer/2022013003/55a64a631a28abd06d8b464c/html5/thumbnails/9.jpg)
http://www.slideshare.net/dev2ops/you-cant-change-culture-but-you-can-change-behavior-and-behavior-becomes-culture
GENE KIM
![Page 10: Mobile Development with a #devops mindset](https://reader031.vdocument.in/reader031/viewer/2022013003/55a64a631a28abd06d8b464c/html5/thumbnails/10.jpg)
OPSDEV
http://www.jedi.be/blog/2012/05/12/codifying-devops-area-practices/
4 areas of improvement
![Page 11: Mobile Development with a #devops mindset](https://reader031.vdocument.in/reader031/viewer/2022013003/55a64a631a28abd06d8b464c/html5/thumbnails/11.jpg)
OPSDEV
Area 1: Extend delivery to production
http://www.jedi.be/blog/2012/05/12/codifying-devops-area-practices/
![Page 12: Mobile Development with a #devops mindset](https://reader031.vdocument.in/reader031/viewer/2022013003/55a64a631a28abd06d8b464c/html5/thumbnails/12.jpg)
OPSDEV
Area 2: Extend operations feedback to project
Area 1: Extend delivery to production
http://www.jedi.be/blog/2012/05/12/codifying-devops-area-practices/
![Page 13: Mobile Development with a #devops mindset](https://reader031.vdocument.in/reader031/viewer/2022013003/55a64a631a28abd06d8b464c/html5/thumbnails/13.jpg)
OPSDEV
Area 2: Extend operations feedback to project
Area 1: Extend delivery to production
Area 3: Embed Projectknowledge into Operations
http://www.jedi.be/blog/2012/05/12/codifying-devops-area-practices/
![Page 14: Mobile Development with a #devops mindset](https://reader031.vdocument.in/reader031/viewer/2022013003/55a64a631a28abd06d8b464c/html5/thumbnails/14.jpg)
OPSDEV
Area 4: Embed Operations knowledge into Project
Area 2: Extend operations feedback to project
Area 1: Extend delivery to production
Area 3: Embed Projectknowledge into Operations
http://www.jedi.be/blog/2012/05/12/codifying-devops-area-practices/
![Page 15: Mobile Development with a #devops mindset](https://reader031.vdocument.in/reader031/viewer/2022013003/55a64a631a28abd06d8b464c/html5/thumbnails/15.jpg)
Production
Components (architecture)People (process)
Dev, Test, QA
EndUserBusiness
![Page 16: Mobile Development with a #devops mindset](https://reader031.vdocument.in/reader031/viewer/2022013003/55a64a631a28abd06d8b464c/html5/thumbnails/16.jpg)
Production
Components (architecture)People (process)
Dev, Test, QA
EndUserBusiness
Find your bottleneck(s) = friction
![Page 17: Mobile Development with a #devops mindset](https://reader031.vdocument.in/reader031/viewer/2022013003/55a64a631a28abd06d8b464c/html5/thumbnails/17.jpg)
Production
Components (architecture)People (process)
Dev, Test, QA
EndUserBusiness
Technical Debt
Social Debt
![Page 18: Mobile Development with a #devops mindset](https://reader031.vdocument.in/reader031/viewer/2022013003/55a64a631a28abd06d8b464c/html5/thumbnails/18.jpg)
Remove friction
http://philippe.kruchten.com/2013/11/24/friction/
“Friction: the resistance that one surface or object encounters when moving over another.” [Merriam-Webster dict.]
![Page 19: Mobile Development with a #devops mindset](https://reader031.vdocument.in/reader031/viewer/2022013003/55a64a631a28abd06d8b464c/html5/thumbnails/19.jpg)
Feedback from Test(User)s
CONTINOUS INTEGRATION
![Page 20: Mobile Development with a #devops mindset](https://reader031.vdocument.in/reader031/viewer/2022013003/55a64a631a28abd06d8b464c/html5/thumbnails/20.jpg)
OPSDEV
Area 1: Extend delivery to production
http://www.jedi.be/blog/2012/05/12/codifying-devops-area-practices/
![Page 21: Mobile Development with a #devops mindset](https://reader031.vdocument.in/reader031/viewer/2022013003/55a64a631a28abd06d8b464c/html5/thumbnails/21.jpg)
VERSION CONTROLno more old.bak directories
![Page 22: Mobile Development with a #devops mindset](https://reader031.vdocument.in/reader031/viewer/2022013003/55a64a631a28abd06d8b464c/html5/thumbnails/22.jpg)
COMMIT LOGthe coding pulse
![Page 23: Mobile Development with a #devops mindset](https://reader031.vdocument.in/reader031/viewer/2022013003/55a64a631a28abd06d8b464c/html5/thumbnails/23.jpg)
CI BUILD SYSTEMavoid it works on my machine
https://circleci.com/
https://travis-ci.com/http://www.objc.io/issue-6/travis-ci.html
https://hosted-ci.com/
![Page 24: Mobile Development with a #devops mindset](https://reader031.vdocument.in/reader031/viewer/2022013003/55a64a631a28abd06d8b464c/html5/thumbnails/24.jpg)
ARTIFACTSbuild only once
![Page 25: Mobile Development with a #devops mindset](https://reader031.vdocument.in/reader031/viewer/2022013003/55a64a631a28abd06d8b464c/html5/thumbnails/25.jpg)
BRANCHESgated releases
![Page 26: Mobile Development with a #devops mindset](https://reader031.vdocument.in/reader031/viewer/2022013003/55a64a631a28abd06d8b464c/html5/thumbnails/26.jpg)
BUILD CONFIGSxcode
![Page 27: Mobile Development with a #devops mindset](https://reader031.vdocument.in/reader031/viewer/2022013003/55a64a631a28abd06d8b464c/html5/thumbnails/27.jpg)
BUILD CONFIGSandroid
![Page 28: Mobile Development with a #devops mindset](https://reader031.vdocument.in/reader031/viewer/2022013003/55a64a631a28abd06d8b464c/html5/thumbnails/28.jpg)
BUILDVERSIONS VS GIT COMMITS1 COMMIT - N BUILDS
![Page 29: Mobile Development with a #devops mindset](https://reader031.vdocument.in/reader031/viewer/2022013003/55a64a631a28abd06d8b464c/html5/thumbnails/29.jpg)
DIFFERENT ENVIRONMENTSvisual cues
![Page 30: Mobile Development with a #devops mindset](https://reader031.vdocument.in/reader031/viewer/2022013003/55a64a631a28abd06d8b464c/html5/thumbnails/30.jpg)
controlled environment
TO THE TESTERS
![Page 31: Mobile Development with a #devops mindset](https://reader031.vdocument.in/reader031/viewer/2022013003/55a64a631a28abd06d8b464c/html5/thumbnails/31.jpg)
DISTRIBUTE BUILDScrashlytics , hockeyapp, testfairy , …
![Page 32: Mobile Development with a #devops mindset](https://reader031.vdocument.in/reader031/viewer/2022013003/55a64a631a28abd06d8b464c/html5/thumbnails/32.jpg)
TEST APPSkeep testers up to date
![Page 33: Mobile Development with a #devops mindset](https://reader031.vdocument.in/reader031/viewer/2022013003/55a64a631a28abd06d8b464c/html5/thumbnails/33.jpg)
QR CODE URLSscan for URLs
![Page 34: Mobile Development with a #devops mindset](https://reader031.vdocument.in/reader031/viewer/2022013003/55a64a631a28abd06d8b464c/html5/thumbnails/34.jpg)
VERSION TRACKINGbuildnumbers
![Page 35: Mobile Development with a #devops mindset](https://reader031.vdocument.in/reader031/viewer/2022013003/55a64a631a28abd06d8b464c/html5/thumbnails/35.jpg)
TEST FEEDBACKmake giving feedback easy & consistent
https://github.com/DZamataev/TestFlightFeedback
![Page 36: Mobile Development with a #devops mindset](https://reader031.vdocument.in/reader031/viewer/2022013003/55a64a631a28abd06d8b464c/html5/thumbnails/36.jpg)
RECORD SESSIONSSeeing is believing
![Page 37: Mobile Development with a #devops mindset](https://reader031.vdocument.in/reader031/viewer/2022013003/55a64a631a28abd06d8b464c/html5/thumbnails/37.jpg)
SCENARIO TESTINGcross technology testing
http://appium.io/
![Page 38: Mobile Development with a #devops mindset](https://reader031.vdocument.in/reader031/viewer/2022013003/55a64a631a28abd06d8b464c/html5/thumbnails/38.jpg)
ACCESIBILITY LABELSunique ids for targeting UI elements
#pragma mark - Accessibility
- (void)addAccessibility:(UIView*)view label:(NSString*)label { view.accessibilityLabel = label; [view setIsAccessibilityElement:YES]; }
- (void)addAccessibility:(UIView*)view label:(NSString*)label value:(NSString*)value { // Set accessibility programmatically // because adding it to the UserInterface Storyboard doesn't allow you to set the value for Appium [self addAccessibility:view label:label]; view.accessibilityValue = value; }
<com.blokken.views.HomeTVGameButton android:id="@+id/button_tvspel" android:layout_margin="1dp" android:contentDescription = "TV SPEL" android:layout_width="@dimen/button_home_size_big" android:layout_height="@dimen/button_home_size_big" android:layout_column="2" /> </TableRow>
![Page 39: Mobile Development with a #devops mindset](https://reader031.vdocument.in/reader031/viewer/2022013003/55a64a631a28abd06d8b464c/html5/thumbnails/39.jpg)
BEHAVIORtesting / selenium style
![Page 40: Mobile Development with a #devops mindset](https://reader031.vdocument.in/reader031/viewer/2022013003/55a64a631a28abd06d8b464c/html5/thumbnails/40.jpg)
TEAM TALKinform everybody involved
![Page 41: Mobile Development with a #devops mindset](https://reader031.vdocument.in/reader031/viewer/2022013003/55a64a631a28abd06d8b464c/html5/thumbnails/41.jpg)
TASKBOARDTODO, DOING, DONE
![Page 42: Mobile Development with a #devops mindset](https://reader031.vdocument.in/reader031/viewer/2022013003/55a64a631a28abd06d8b464c/html5/thumbnails/42.jpg)
YOUR TOOLBOXthere’s more than one way to skin a cat
YOUR TOOLBOX
![Page 43: Mobile Development with a #devops mindset](https://reader031.vdocument.in/reader031/viewer/2022013003/55a64a631a28abd06d8b464c/html5/thumbnails/43.jpg)
READABLE BUILDScompact output with xctool
https://github.com/facebook/xctool
![Page 44: Mobile Development with a #devops mindset](https://reader031.vdocument.in/reader031/viewer/2022013003/55a64a631a28abd06d8b464c/html5/thumbnails/44.jpg)
ADHOC BUILDSshenzen
https://github.com/nomad/shenzhen
![Page 45: Mobile Development with a #devops mindset](https://reader031.vdocument.in/reader031/viewer/2022013003/55a64a631a28abd06d8b464c/html5/thumbnails/45.jpg)
DEVICE UDIDmobile provisioning profiles
http://whatsmyudid.com/
![Page 46: Mobile Development with a #devops mindset](https://reader031.vdocument.in/reader031/viewer/2022013003/55a64a631a28abd06d8b464c/html5/thumbnails/46.jpg)
KEY MANAGEMENTcupertino
https://github.com/nomad/Cupertino
![Page 47: Mobile Development with a #devops mindset](https://reader031.vdocument.in/reader031/viewer/2022013003/55a64a631a28abd06d8b464c/html5/thumbnails/47.jpg)
FACEBOOK TEST APPSpoint to staging
![Page 48: Mobile Development with a #devops mindset](https://reader031.vdocument.in/reader031/viewer/2022013003/55a64a631a28abd06d8b464c/html5/thumbnails/48.jpg)
FACEBOOK TEST USERStest users
![Page 49: Mobile Development with a #devops mindset](https://reader031.vdocument.in/reader031/viewer/2022013003/55a64a631a28abd06d8b464c/html5/thumbnails/49.jpg)
FACEBOOK TESTERwhat is my Facebook ID
http://findmyfacebookid.com/
![Page 50: Mobile Development with a #devops mindset](https://reader031.vdocument.in/reader031/viewer/2022013003/55a64a631a28abd06d8b464c/html5/thumbnails/50.jpg)
APPS IN BROWSERsimulator builds
https://appetize.io/https://app.io/
![Page 51: Mobile Development with a #devops mindset](https://reader031.vdocument.in/reader031/viewer/2022013003/55a64a631a28abd06d8b464c/html5/thumbnails/51.jpg)
SIMULATORSyou just can’t get enough (speed)
http://www.andyroid.net/#producthttps://www.manymo.com/emulators
https://www.genymotion.com/#!/
![Page 52: Mobile Development with a #devops mindset](https://reader031.vdocument.in/reader031/viewer/2022013003/55a64a631a28abd06d8b464c/html5/thumbnails/52.jpg)
ACCELERATEuse the hardware Luke
https://software.intel.com/en-us/android/articles/intel-hardware-accelerated-execution-manager
![Page 53: Mobile Development with a #devops mindset](https://reader031.vdocument.in/reader031/viewer/2022013003/55a64a631a28abd06d8b464c/html5/thumbnails/53.jpg)
DEVICE IN A (VIRTUAL) BOXno test excuses
![Page 54: Mobile Development with a #devops mindset](https://reader031.vdocument.in/reader031/viewer/2022013003/55a64a631a28abd06d8b464c/html5/thumbnails/54.jpg)
CLI - ADByour friend
http://developer.android.com/tools/help/adb.html
![Page 55: Mobile Development with a #devops mindset](https://reader031.vdocument.in/reader031/viewer/2022013003/55a64a631a28abd06d8b464c/html5/thumbnails/55.jpg)
CLI IOS-DEPLOYlook no UI mama
https://github.com/phonegap/ios-deploy
![Page 56: Mobile Development with a #devops mindset](https://reader031.vdocument.in/reader031/viewer/2022013003/55a64a631a28abd06d8b464c/html5/thumbnails/56.jpg)
ALTERNATE LOGINa phone is personal
https://get.fabric.io/digits
![Page 57: Mobile Development with a #devops mindset](https://reader031.vdocument.in/reader031/viewer/2022013003/55a64a631a28abd06d8b464c/html5/thumbnails/57.jpg)
CROSS DEVICE STORAGEmultiple devices for 1 user
http://aws.amazon.com/mobile/
![Page 58: Mobile Development with a #devops mindset](https://reader031.vdocument.in/reader031/viewer/2022013003/55a64a631a28abd06d8b464c/html5/thumbnails/58.jpg)
API DOCUMENTATIONinterfacing backend & app
![Page 59: Mobile Development with a #devops mindset](https://reader031.vdocument.in/reader031/viewer/2022013003/55a64a631a28abd06d8b464c/html5/thumbnails/59.jpg)
TO THE APP STORESQuisque fringilla est eget arcu tindidunt
TO THE APP STORES
![Page 60: Mobile Development with a #devops mindset](https://reader031.vdocument.in/reader031/viewer/2022013003/55a64a631a28abd06d8b464c/html5/thumbnails/60.jpg)
RE-SIGNbuild only once
https://gist.github.com/mediabounds/1367348
![Page 61: Mobile Development with a #devops mindset](https://reader031.vdocument.in/reader031/viewer/2022013003/55a64a631a28abd06d8b464c/html5/thumbnails/61.jpg)
ASSETSautomate all the things
https://github.com/SzymonFortuna/xcassettool
![Page 62: Mobile Development with a #devops mindset](https://reader031.vdocument.in/reader031/viewer/2022013003/55a64a631a28abd06d8b464c/html5/thumbnails/62.jpg)
SCREENSHOTSautomate all the things
![Page 63: Mobile Development with a #devops mindset](https://reader031.vdocument.in/reader031/viewer/2022013003/55a64a631a28abd06d8b464c/html5/thumbnails/63.jpg)
METADATAautomate all the things
https://github.com/realmacsoftware/RMConnecter/
http://bou.io/UploadingScreenshotsWithITMSTransporter.html
![Page 64: Mobile Development with a #devops mindset](https://reader031.vdocument.in/reader031/viewer/2022013003/55a64a631a28abd06d8b464c/html5/thumbnails/64.jpg)
IOS AUTOMATIONnot so official apple API
https://fastlane.tools/
![Page 65: Mobile Development with a #devops mindset](https://reader031.vdocument.in/reader031/viewer/2022013003/55a64a631a28abd06d8b464c/html5/thumbnails/65.jpg)
OPSDEV
Area 1: Extend delivery to production
http://www.jedi.be/blog/2012/05/12/codifying-devops-area-practices/
![Page 66: Mobile Development with a #devops mindset](https://reader031.vdocument.in/reader031/viewer/2022013003/55a64a631a28abd06d8b464c/html5/thumbnails/66.jpg)
NOW WE WAITWill Apple approve on time ?
NOW WE WAIT
![Page 67: Mobile Development with a #devops mindset](https://reader031.vdocument.in/reader031/viewer/2022013003/55a64a631a28abd06d8b464c/html5/thumbnails/67.jpg)
REVIEW TIMES
![Page 68: Mobile Development with a #devops mindset](https://reader031.vdocument.in/reader031/viewer/2022013003/55a64a631a28abd06d8b464c/html5/thumbnails/68.jpg)
EXPEDITEuse with care https://developer.apple.com/contact/app-store/?topic=expedite
![Page 69: Mobile Development with a #devops mindset](https://reader031.vdocument.in/reader031/viewer/2022013003/55a64a631a28abd06d8b464c/html5/thumbnails/69.jpg)
PRE-RELEASEuse date in future or vouchers
![Page 70: Mobile Development with a #devops mindset](https://reader031.vdocument.in/reader031/viewer/2022013003/55a64a631a28abd06d8b464c/html5/thumbnails/70.jpg)
CAMPAIGNpromote your app
![Page 71: Mobile Development with a #devops mindset](https://reader031.vdocument.in/reader031/viewer/2022013003/55a64a631a28abd06d8b464c/html5/thumbnails/71.jpg)
LAUNCH3 - 2 - 1
![Page 72: Mobile Development with a #devops mindset](https://reader031.vdocument.in/reader031/viewer/2022013003/55a64a631a28abd06d8b464c/html5/thumbnails/72.jpg)
WATCHDOGwhat are they doing?
WATCHDOG
![Page 73: Mobile Development with a #devops mindset](https://reader031.vdocument.in/reader031/viewer/2022013003/55a64a631a28abd06d8b464c/html5/thumbnails/73.jpg)
OPSDEV
Area 2: Extend operations feedback to project
Area 1: Extend delivery to production
http://www.jedi.be/blog/2012/05/12/codifying-devops-area-practices/
![Page 74: Mobile Development with a #devops mindset](https://reader031.vdocument.in/reader031/viewer/2022013003/55a64a631a28abd06d8b464c/html5/thumbnails/74.jpg)
THEY ARE COMINGhow many users are using the app
![Page 75: Mobile Development with a #devops mindset](https://reader031.vdocument.in/reader031/viewer/2022013003/55a64a631a28abd06d8b464c/html5/thumbnails/75.jpg)
ARE THEY COMING BACKhow engaging is the app
![Page 76: Mobile Development with a #devops mindset](https://reader031.vdocument.in/reader031/viewer/2022013003/55a64a631a28abd06d8b464c/html5/thumbnails/76.jpg)
FLOWsee what features are used
![Page 77: Mobile Development with a #devops mindset](https://reader031.vdocument.in/reader031/viewer/2022013003/55a64a631a28abd06d8b464c/html5/thumbnails/77.jpg)
ANALYTICSyou can never send enough
https://segment.com/integrations
![Page 78: Mobile Development with a #devops mindset](https://reader031.vdocument.in/reader031/viewer/2022013003/55a64a631a28abd06d8b464c/html5/thumbnails/78.jpg)
RATINGSuser feedback android
![Page 79: Mobile Development with a #devops mindset](https://reader031.vdocument.in/reader031/viewer/2022013003/55a64a631a28abd06d8b464c/html5/thumbnails/79.jpg)
PLAYSTOREautomate all the things
![Page 80: Mobile Development with a #devops mindset](https://reader031.vdocument.in/reader031/viewer/2022013003/55a64a631a28abd06d8b464c/html5/thumbnails/80.jpg)
APPSTOREuser feedback iOS
![Page 81: Mobile Development with a #devops mindset](https://reader031.vdocument.in/reader031/viewer/2022013003/55a64a631a28abd06d8b464c/html5/thumbnails/81.jpg)
APPSTOREautomated feedback
https://launchkit.io/reviews
![Page 82: Mobile Development with a #devops mindset](https://reader031.vdocument.in/reader031/viewer/2022013003/55a64a631a28abd06d8b464c/html5/thumbnails/82.jpg)
TWITTER FEEDBACKwatch social media
![Page 83: Mobile Development with a #devops mindset](https://reader031.vdocument.in/reader031/viewer/2022013003/55a64a631a28abd06d8b464c/html5/thumbnails/83.jpg)
CRASHESwhat’s happening
![Page 84: Mobile Development with a #devops mindset](https://reader031.vdocument.in/reader031/viewer/2022013003/55a64a631a28abd06d8b464c/html5/thumbnails/84.jpg)
CRASH REPORTSlink to user ID
![Page 85: Mobile Development with a #devops mindset](https://reader031.vdocument.in/reader031/viewer/2022013003/55a64a631a28abd06d8b464c/html5/thumbnails/85.jpg)
CRASHESyou didn’t see because the app didn’t start
![Page 86: Mobile Development with a #devops mindset](https://reader031.vdocument.in/reader031/viewer/2022013003/55a64a631a28abd06d8b464c/html5/thumbnails/86.jpg)
REAL DEVICESapptwack
![Page 87: Mobile Development with a #devops mindset](https://reader031.vdocument.in/reader031/viewer/2022013003/55a64a631a28abd06d8b464c/html5/thumbnails/87.jpg)
REAL DEVICESdoes it even start?
![Page 88: Mobile Development with a #devops mindset](https://reader031.vdocument.in/reader031/viewer/2022013003/55a64a631a28abd06d8b464c/html5/thumbnails/88.jpg)
NETWORK ERRORSQuisque fringilla est eget arcu tindidunt
http://newrelic.com/mobile-monitoring/features
![Page 89: Mobile Development with a #devops mindset](https://reader031.vdocument.in/reader031/viewer/2022013003/55a64a631a28abd06d8b464c/html5/thumbnails/89.jpg)
MOBILE MONITORINGit’s just another device
![Page 90: Mobile Development with a #devops mindset](https://reader031.vdocument.in/reader031/viewer/2022013003/55a64a631a28abd06d8b464c/html5/thumbnails/90.jpg)
LOG CONSOLIDATIONios, android , web , backend, …
![Page 91: Mobile Development with a #devops mindset](https://reader031.vdocument.in/reader031/viewer/2022013003/55a64a631a28abd06d8b464c/html5/thumbnails/91.jpg)
ERROR LOGSfilter until errors are errors
![Page 92: Mobile Development with a #devops mindset](https://reader031.vdocument.in/reader031/viewer/2022013003/55a64a631a28abd06d8b464c/html5/thumbnails/92.jpg)
LOG DEBUGtagging log lines
![Page 93: Mobile Development with a #devops mindset](https://reader031.vdocument.in/reader031/viewer/2022013003/55a64a631a28abd06d8b464c/html5/thumbnails/93.jpg)
METRICS MIDDLEWAREeasy instrumentation
![Page 94: Mobile Development with a #devops mindset](https://reader031.vdocument.in/reader031/viewer/2022013003/55a64a631a28abd06d8b464c/html5/thumbnails/94.jpg)
API RESPONSES95 percentile
![Page 95: Mobile Development with a #devops mindset](https://reader031.vdocument.in/reader031/viewer/2022013003/55a64a631a28abd06d8b464c/html5/thumbnails/95.jpg)
HTTP # request , performance timings
![Page 96: Mobile Development with a #devops mindset](https://reader031.vdocument.in/reader031/viewer/2022013003/55a64a631a28abd06d8b464c/html5/thumbnails/96.jpg)
MACHINE METRICSwhere the rubber hits the road
![Page 97: Mobile Development with a #devops mindset](https://reader031.vdocument.in/reader031/viewer/2022013003/55a64a631a28abd06d8b464c/html5/thumbnails/97.jpg)
INFRASTRUCTUREoverview
![Page 98: Mobile Development with a #devops mindset](https://reader031.vdocument.in/reader031/viewer/2022013003/55a64a631a28abd06d8b464c/html5/thumbnails/98.jpg)
APP METRICSstatsd is awesome
![Page 99: Mobile Development with a #devops mindset](https://reader031.vdocument.in/reader031/viewer/2022013003/55a64a631a28abd06d8b464c/html5/thumbnails/99.jpg)
BUSINESS METRICScustomer focused
![Page 100: Mobile Development with a #devops mindset](https://reader031.vdocument.in/reader031/viewer/2022013003/55a64a631a28abd06d8b464c/html5/thumbnails/100.jpg)
EVENTS OVERLAYwhat happened in time
![Page 101: Mobile Development with a #devops mindset](https://reader031.vdocument.in/reader031/viewer/2022013003/55a64a631a28abd06d8b464c/html5/thumbnails/101.jpg)
MOBILE OPERATIONSin your pocket
![Page 102: Mobile Development with a #devops mindset](https://reader031.vdocument.in/reader031/viewer/2022013003/55a64a631a28abd06d8b464c/html5/thumbnails/102.jpg)
TEAM CHANNEL ++communicate all the things
![Page 103: Mobile Development with a #devops mindset](https://reader031.vdocument.in/reader031/viewer/2022013003/55a64a631a28abd06d8b464c/html5/thumbnails/103.jpg)
OPSDEV
Area 2: Extend operations feedback to project
Area 1: Extend delivery to production
http://www.jedi.be/blog/2012/05/12/codifying-devops-area-practices/
![Page 104: Mobile Development with a #devops mindset](https://reader031.vdocument.in/reader031/viewer/2022013003/55a64a631a28abd06d8b464c/html5/thumbnails/104.jpg)
FIXINGIt does what ?! in production !!?
IT’S BROKE LET’S FIX IT
![Page 105: Mobile Development with a #devops mindset](https://reader031.vdocument.in/reader031/viewer/2022013003/55a64a631a28abd06d8b464c/html5/thumbnails/105.jpg)
OPSDEV
Area 2: Extend operations feedback to project
Area 1: Extend delivery to production
Area 3: Embed Projectknowledge into Operations
http://www.jedi.be/blog/2012/05/12/codifying-devops-area-practices/
![Page 106: Mobile Development with a #devops mindset](https://reader031.vdocument.in/reader031/viewer/2022013003/55a64a631a28abd06d8b464c/html5/thumbnails/106.jpg)
NOTIFICATIONSinform the users
https://appbot.co/appbotx/getstarted
![Page 107: Mobile Development with a #devops mindset](https://reader031.vdocument.in/reader031/viewer/2022013003/55a64a631a28abd06d8b464c/html5/thumbnails/107.jpg)
CAPTURE FEEDBACKbefore they tell it in the App Store
![Page 108: Mobile Development with a #devops mindset](https://reader031.vdocument.in/reader031/viewer/2022013003/55a64a631a28abd06d8b464c/html5/thumbnails/108.jpg)
SUPPORT FAQdon’t repeat yourself
![Page 109: Mobile Development with a #devops mindset](https://reader031.vdocument.in/reader031/viewer/2022013003/55a64a631a28abd06d8b464c/html5/thumbnails/109.jpg)
REVIEW PROMPTShappy customer reviews
![Page 110: Mobile Development with a #devops mindset](https://reader031.vdocument.in/reader031/viewer/2022013003/55a64a631a28abd06d8b464c/html5/thumbnails/110.jpg)
CONVERSATIONbecause email sucks
![Page 111: Mobile Development with a #devops mindset](https://reader031.vdocument.in/reader031/viewer/2022013003/55a64a631a28abd06d8b464c/html5/thumbnails/111.jpg)
GROUND CONTROLchange settings with new submit to App Store
https://github.com/gangverk/Android-RemoteConfighttps://github.com/mattt/GroundControl
![Page 112: Mobile Development with a #devops mindset](https://reader031.vdocument.in/reader031/viewer/2022013003/55a64a631a28abd06d8b464c/html5/thumbnails/112.jpg)
UI CONTROLcontrol all text & images from the backend
![Page 113: Mobile Development with a #devops mindset](https://reader031.vdocument.in/reader031/viewer/2022013003/55a64a631a28abd06d8b464c/html5/thumbnails/113.jpg)
LIVE PATCHswizzling
https://www.rollout.io/http://nshipster.com/method-swizzling/
![Page 114: Mobile Development with a #devops mindset](https://reader031.vdocument.in/reader031/viewer/2022013003/55a64a631a28abd06d8b464c/html5/thumbnails/114.jpg)
KEEP GOINGkeep improving
![Page 115: Mobile Development with a #devops mindset](https://reader031.vdocument.in/reader031/viewer/2022013003/55a64a631a28abd06d8b464c/html5/thumbnails/115.jpg)
NEW VERSIONSbecause they need to know
![Page 116: Mobile Development with a #devops mindset](https://reader031.vdocument.in/reader031/viewer/2022013003/55a64a631a28abd06d8b464c/html5/thumbnails/116.jpg)
OPSDEV
Area 2: Extend operations feedback to project
Area 1: Extend delivery to production
Area 3: Embed Projectknowledge into Operations
http://www.jedi.be/blog/2012/05/12/codifying-devops-area-practices/
![Page 117: Mobile Development with a #devops mindset](https://reader031.vdocument.in/reader031/viewer/2022013003/55a64a631a28abd06d8b464c/html5/thumbnails/117.jpg)
BUZZkeep the users engaged
BUZZ
![Page 118: Mobile Development with a #devops mindset](https://reader031.vdocument.in/reader031/viewer/2022013003/55a64a631a28abd06d8b464c/html5/thumbnails/118.jpg)
OPSDEV
Area 4: Embed Operations knowledge into Project
Area 2: Extend operations feedback to project
Area 1: Extend delivery to production
Area 3: Embed Projectknowledge into Operations
http://www.jedi.be/blog/2012/05/12/codifying-devops-area-practices/
![Page 121: Mobile Development with a #devops mindset](https://reader031.vdocument.in/reader031/viewer/2022013003/55a64a631a28abd06d8b464c/html5/thumbnails/121.jpg)
A/B TESTINGscience not gut feeling
http://apptimize.com/product
![Page 122: Mobile Development with a #devops mindset](https://reader031.vdocument.in/reader031/viewer/2022013003/55a64a631a28abd06d8b464c/html5/thumbnails/122.jpg)
RETENTIONwho returns?
![Page 123: Mobile Development with a #devops mindset](https://reader031.vdocument.in/reader031/viewer/2022013003/55a64a631a28abd06d8b464c/html5/thumbnails/123.jpg)
RANKINGkeep track
![Page 124: Mobile Development with a #devops mindset](https://reader031.vdocument.in/reader031/viewer/2022013003/55a64a631a28abd06d8b464c/html5/thumbnails/124.jpg)
PUSH ‘NUDGES’Quisque fringilla est eget arcu tindidunt
![Page 125: Mobile Development with a #devops mindset](https://reader031.vdocument.in/reader031/viewer/2022013003/55a64a631a28abd06d8b464c/html5/thumbnails/125.jpg)
ALL CHANNELSgo where your users are
https://www.appboy.com/products
![Page 126: Mobile Development with a #devops mindset](https://reader031.vdocument.in/reader031/viewer/2022013003/55a64a631a28abd06d8b464c/html5/thumbnails/126.jpg)
OPSDEV
Area 4: Embed Operations knowledge into Business
Area 2: Extend operations feedback to project
Area 1: Extend delivery to production
Area 3: Embed Projectknowledge into Operations
http://www.jedi.be/blog/2012/05/12/codifying-devops-area-practices/
![Page 127: Mobile Development with a #devops mindset](https://reader031.vdocument.in/reader031/viewer/2022013003/55a64a631a28abd06d8b464c/html5/thumbnails/127.jpg)
DEVOPSit’s all about the fast feedback
![Page 128: Mobile Development with a #devops mindset](https://reader031.vdocument.in/reader031/viewer/2022013003/55a64a631a28abd06d8b464c/html5/thumbnails/128.jpg)
Production
Components (architecture)People (process)
Dev, Test, QA
EndUserBusiness
![Page 129: Mobile Development with a #devops mindset](https://reader031.vdocument.in/reader031/viewer/2022013003/55a64a631a28abd06d8b464c/html5/thumbnails/129.jpg)
Production
Components (architecture)People (process)
Dev, Test, QA
EndUserBusiness
Find your bottleneck(s) = friction
![Page 130: Mobile Development with a #devops mindset](https://reader031.vdocument.in/reader031/viewer/2022013003/55a64a631a28abd06d8b464c/html5/thumbnails/130.jpg)
Production
Components (architecture)People (process)
Dev, Test, QA
EndUserBusiness
Technical Debt
Social Debt
![Page 131: Mobile Development with a #devops mindset](https://reader031.vdocument.in/reader031/viewer/2022013003/55a64a631a28abd06d8b464c/html5/thumbnails/131.jpg)
Remove friction
http://philippe.kruchten.com/2013/11/24/friction/
“Friction: the resistance that one surface or object encounters when moving over another.” [Merriam-Webster dict.]
![Page 132: Mobile Development with a #devops mindset](https://reader031.vdocument.in/reader031/viewer/2022013003/55a64a631a28abd06d8b464c/html5/thumbnails/132.jpg)
ALL TOGETHEReveryone is involved
ALL TOGETHER NOW