Managing Continuous Delivery of Mobile Apps - for the Enterprise
Mobile Apps Delivery - Evolution and Tools
Transcript of Mobile Apps Delivery - Evolution and Tools
Mobile Apps Delivery – Evolution and Tools
Haifa Tech Talk, April 14, 2015
Asaf Saar, CEOTenKod Ltd.
Agenda
1. Evolution of Mobile
2. Mobile Development Landscape
3. Mobile Delivery Challenges
4. Apps Delivery Models
5. Methods, Tools and Practices
6. Q&A
About Me
§ Asaf Saar, Co-‐Founder and CEO of TenKod Ltd.
§ 19 years of professional experience in So@ware Engineering
§ Prior to TenKod, 8 years at SAP, last role as APO of SE
§ Agile So@ware trainer, coacher and mentor
§ Married to Merav and father of three
§ Astronomy and fast cars are my hobbies
http://il.linkedin.com/in/asafsaar [email protected]
Evolution of Mobile - Devices
§ 1973 – First handheld mobile developed § 1984 – Nokia talkman
§ 1992 – Motorola InternaRonal 3200 § 1994 – IBM Simon Personal Communicator
§ 1996 – Motorola Startac § 1998 – Nokia 5110 § 1999 – BlackBerry 850
§ 2007 – iPhone § 2008 – Android
Evolution of Mobile - OS
§ 1973-‐1993 – Embedded System based OS § 1996 – Palm Pilot, Windows CE
§ 2000 – Symbian § 2002 – BlackBerry
§ 2007 – iOS, Windows Mobile § 2008 – Android § 2009 – webOS, Bada, Palm OS
§ 2011 – Tizen § 2012 – Firefox OS
§ 2013 – Ubuntu Touch
World’s most popular OS and Smartphone. Till 2010…
Mobile Development Landscape
Development Targets § OS Level
§ NaRve § Hybrid
§ Web Development Landscapes § Single developer
§ Team § Staging
§ Cloud § Hybrid
Development Frameworks § Android SDK
§ iOS ObjecRveC/Swi@ § Windows Mobile / .NET
§ PhoneGap § Titanium Appcelerator § Xamarin
§ Appery.io § Angular UI
§ Sencha Touch § ………
iOS Challenge
§ 15 DisRnct Devices (coun&ng from iPhone 4S…)
§ 70% of users adopt latest OS within 6 months
§ 8 DisRnct screen dimensions
Android Challenge
§ 18,796 DisRnct Devices (as of 8/14)
§ 5% of users adopt latest OS
§ 150 DisRnct screen dimensions
Mobile Delivery Challenges
§ Fragmented landscape of mobile devices
§ Fragmented landscape of development environment
§ Increased complexity of business applicaRons
§ OS, NaRve, Web and Hybrid apps
§ Dev/Test/Deliver cycle Rmes are very short
§ Limited access to devices and mobile networks
§ Very different from desktop
How different from Desktop?
§ No common delivery soluRon
§ Device fragmentaRon
§ Users interact differently
§ Device resources are limited
§ App stores limitaRons
§ Rapid development
Corporate, “staging”
• Dev 1, Dev 2, Dev N… • Integrate • Test • Deliver
Local
• Merge • IntegraRon Test • Deliver
IntegraRon • Merge • User Acceptance Test • Deliver
ProducRon
Agile, “Continuous Delivery”
Novice Beginner Intermediary Advanced Expert
Local
Test
Integrated Test
Deliver
Methods
§ Manual / Ad hoc
§ AutomaRon – Unit, API, Services, UI, Security, Load
§ LocalizaRon
§ Network
§ Cloud based Devices
§ Crowd
None UI Testing
§ Broken connecRvity simulator
§ Offline mode
§ Excessive resource usage
§ AB TesRng / Feature toggling
§ Non visual events asserRons
§ API mocks
§ Stats tesRng
§ OTA updates
§ Stress tesRng
§ Image recogniRon
§ Crash detecRon
§ Sensors
§ OS event simulaRons
Crowed Testing
Pros
§ Mass users
§ Mass devices
§ Remote locaRons
§ LocalizaRon
§ Remote networks
To name a few
§ uTest / Applause
§ We-‐Test
§ UberTester
§ Testbirds
Automation, Open Source
Pros
§ Free
§ Community
§ Your Code
To name a few
§ Calabash
§ Espresso
§ Appium
§ Frank
§ KIF
§ RoboRum
§ Selendroid
Automation, Proprietary
Pros
§ Script recording
§ Robust reporRng
§ Support
§ Device Cloud IntegraRon
To name a few
§ TenKod
§ Keynote
§ Appurify
§ SOASTA
§ Perfecto Mobile
§ Ranorex
CI / CD
Pros
§ Automated Processes
§ Instant feedback
§ Faster delivery
§ Learn and improve
To name a few
§ Jenkins
§ TeamCity
§ Bamboo
§ ToughtWorks Go/Snap
§ Chef
The future
§ Be sure, it will get even MORE complex (Wearable, IoT)
§ Yet, soluRons should be VERY simple
§ Openness & 3rd Party integraRon
§ AutomaRon, automaRon, automaRon
Mobile Apps Testing Made Easy
VCS (Version Control System)
TenKod Studio
1. Develop Mobile app
5. Triggers a build of
the changed VCS repo
TenKod Nexus (Delivery repository)
TenKod Jenkins slave 2 (e.g. Tests on Phone)
TenKod Jenkins slave 1 (e.g. Tests on Tablet)
5.1 Distributed parallel build
3. Modify test project
TenKod Master Jenkins
Dave Lopper
Thank you!
Copyright © 2015 TenKod Ltd. All rights reserved
Asaf Saar, CEOTenKod Ltd.
References and trademarks:
1. TenKod name, logo and icon are trademarks of A.O.E TenKod Ltd.
2. Amazon AWS name and logo are trademarks of Amazon Web Services, Inc. or its
affiliates.
3. Eclipse name and logo are the intellectual property of the Eclipse FoundaRon.
4. Sonatype and Sonatype Nexus are trademarks of Sonatype, Inc.
5. Apache Maven and Maven are trademarks of the Apache So@ware FoundaRon.
6. M2Eclipse is a trademark of the Eclipse FoundaRon.
7. Git is a member of So@ware Freedom Conservancy
8. All other trademarks are the property of their respecRve owners.