Trivadis TechEvent 2016 DevOps: the timely approach for Mobile Development by Remco Emile Marius...

29
BASLE BERN BRUGG DÜSSELDORF FRANKFURT A.M. FREIBURG I.BR. GENEVA HAMBURG COPENHAGEN LAUSANNE MUNICH STUTTGART VIENNA ZURICH DevOps Mobile Deployment Desktop to Mobile Development Remco Bonse & Mattia Baldinger

Transcript of Trivadis TechEvent 2016 DevOps: the timely approach for Mobile Development by Remco Emile Marius...

Page 1: Trivadis TechEvent 2016 DevOps: the timely approach for Mobile Development by Remco Emile Marius Bonse and Mattia Baldinger

BASLE BERN BRUGG DÜSSELDORF FRANKFURT A.M. FREIBURG I.BR. GENEVA

HAMBURG COPENHAGEN LAUSANNE MUNICH STUTTGART VIENNA ZURICH

DevOps Mobile DeploymentDesktop to Mobile Development

Remco Bonse & Mattia Baldinger

Page 2: Trivadis TechEvent 2016 DevOps: the timely approach for Mobile Development by Remco Emile Marius Bonse and Mattia Baldinger

Agenda

2 9/29/2016

1. What is DevOps

2. Development of Mobile vs Desktop applications

3. DevOps Best Practices

4. Conclusion

Page 3: Trivadis TechEvent 2016 DevOps: the timely approach for Mobile Development by Remco Emile Marius Bonse and Mattia Baldinger

DevOps Mobile Deployment3 9/29/2016

What is DevOps

Page 4: Trivadis TechEvent 2016 DevOps: the timely approach for Mobile Development by Remco Emile Marius Bonse and Mattia Baldinger

Definition

DevOps Mobile Deployment4 9/29/2016

«DevOps is not a technique or a process, but an approach to enabling seamless

application delivery from inception to production.»

«Devops can be defined as the enterprise capability for continuous software

delivery that enables the enterprise to seize market opportunities and reduce time

to market and improve customer experience.»

«DevOps (a clipped compound of development and operations) is a culture,

movement or practice that emphasizes the collaboration and communication of

both software developers and other information-technology (IT) professionals.»

Page 5: Trivadis TechEvent 2016 DevOps: the timely approach for Mobile Development by Remco Emile Marius Bonse and Mattia Baldinger

Definition through CAMS

5 9/29/2016

Culture

DevOps is about breaking down barriers between teams. A key factor for success

is to foster a safe environment for innovation and productivity.

Automation

Automation is not only used to save time and improve productivity, but also to

improve quality by preventing defects and create consistency.

Measurement

DevOps also based on continous improvement which requires data to be

measured and compared. Data should be transparent and accessible to all.

Sharing

Key of success is sharing tools, discoveries and lessons. Try to eliminate duplicate

work and finding people with similar needs.

DevOps Mobile Deployment

Page 6: Trivadis TechEvent 2016 DevOps: the timely approach for Mobile Development by Remco Emile Marius Bonse and Mattia Baldinger

Key Factors: Automation

6 9/29/2016

Automated build and deploy processes with scripts

High grade of test automation

End-to-end Traceability across all assets

DevOps Mobile Deployment

Page 7: Trivadis TechEvent 2016 DevOps: the timely approach for Mobile Development by Remco Emile Marius Bonse and Mattia Baldinger

Key Factors: Monitoring

DevOps: Mobile Deployment7 9/29/2016

Monitor performance of the application and the backend services

Monitor end user experience

Measure key figures to check for continuous improvement

Page 8: Trivadis TechEvent 2016 DevOps: the timely approach for Mobile Development by Remco Emile Marius Bonse and Mattia Baldinger

Key Factors: Culture

DevOps: Mobile Deployment8 9/29/2016

Agile project management approach (incremental, iterative)

Support strong interdepartmental communication

Page 9: Trivadis TechEvent 2016 DevOps: the timely approach for Mobile Development by Remco Emile Marius Bonse and Mattia Baldinger

Key Business Goals

9 9/29/2016

Reduce time to market

Deliver unique features faster than you competitors

Improve customer experience

Faster delivery of bugfixes

Faster delivery of customer requirements

Improve productivity

Reuse work over team boundaries

High grade of automation

DevOps Mobile Deployment

Page 10: Trivadis TechEvent 2016 DevOps: the timely approach for Mobile Development by Remco Emile Marius Bonse and Mattia Baldinger

DevOps: Mobile Deployment10 9/29/2016

Mobile vs Desktop

Application Development

Page 11: Trivadis TechEvent 2016 DevOps: the timely approach for Mobile Development by Remco Emile Marius Bonse and Mattia Baldinger

Mobile vs Desktop Development

DevOps: Mobile Deployment11 9/29/2016

Definition Mobile Development:

Development of Software (ie. Apps ) targeting mobile devices like mobile phones,

tablets etc.

New Challenges

– Explosion of Run Environments

– More Application as Business Card

– Data Security on Mobile Devices

– Extended Dependencies to third party

– Mobile App Deployment

Page 12: Trivadis TechEvent 2016 DevOps: the timely approach for Mobile Development by Remco Emile Marius Bonse and Mattia Baldinger

Explosion of Run Environments

DevOps: Mobile Deployment12 9/29/2016

Cause:

– Platform Fragmentation

http://www.netmarketshare.com/ http://www.businessinsider.de/chart-android-vs-ios-fragmentation-2016-6

Page 13: Trivadis TechEvent 2016 DevOps: the timely approach for Mobile Development by Remco Emile Marius Bonse and Mattia Baldinger

Explosion of Run and Development Environments

DevOps: Mobile Deployment13 9/29/2016

Cause: Higher release pace of OS Versions

http://www.netmarketshare.com/ http://opensignal.com/reports/2015/08/android-fragmentation/

Page 14: Trivadis TechEvent 2016 DevOps: the timely approach for Mobile Development by Remco Emile Marius Bonse and Mattia Baldinger

Explosion of Run and Development Environments

DevOps: Mobile Deployment14 9/29/2016

Device (hardware, resolution etc.)

http://opensignal.com/reports/2015/08/android-fragmentation/

Page 15: Trivadis TechEvent 2016 DevOps: the timely approach for Mobile Development by Remco Emile Marius Bonse and Mattia Baldinger

Explosion of Run and Development Environments

DevOps: Mobile Deployment15 9/29/2016

Explosion of Run and Development Environments

– Application Version: The backend needs to support several versions of the app

Page 16: Trivadis TechEvent 2016 DevOps: the timely approach for Mobile Development by Remco Emile Marius Bonse and Mattia Baldinger

Application as Business Card

DevOps: Mobile Deployment16 9/29/2016

Third party app stores

App Portal rating

Failure is not an Option in a B2C scenario

Business to

– Business (B2B)

– Employee (B2E)

– Customer (B2C)

Page 17: Trivadis TechEvent 2016 DevOps: the timely approach for Mobile Development by Remco Emile Marius Bonse and Mattia Baldinger

Extended Dependencies to third parties

DevOps: Mobile Deployment17 9/29/2016

Apps need to be build for native platforms

Deployment via Dedicated app stores

External Resource (e.g. External storage or data portals)

Page 18: Trivadis TechEvent 2016 DevOps: the timely approach for Mobile Development by Remco Emile Marius Bonse and Mattia Baldinger

Data security in Mobile Apps

DevOps: Mobile Deployment18 9/29/2016

In B2B or B2E environment

BYOD : Confidential data in private Devices

Device Locking versus App Locking

Page 19: Trivadis TechEvent 2016 DevOps: the timely approach for Mobile Development by Remco Emile Marius Bonse and Mattia Baldinger

Mobile App Deployment

DevOps: Mobile Deployment19 9/29/2016

Deployment and access to the back ends require different certificates

Many manual steps to create a testable or shippable build

Page 20: Trivadis TechEvent 2016 DevOps: the timely approach for Mobile Development by Remco Emile Marius Bonse and Mattia Baldinger

DevOps: Mobile Deployment20 9/29/2016

Mobile DevOps:

Best Practises

Page 21: Trivadis TechEvent 2016 DevOps: the timely approach for Mobile Development by Remco Emile Marius Bonse and Mattia Baldinger

Team Profile

DevOps: Mobile Deployment21 9/29/2016

Include both Operating and Development Skills in your team

Promote the DevOps CAMS values by facilitating and example

Page 22: Trivadis TechEvent 2016 DevOps: the timely approach for Mobile Development by Remco Emile Marius Bonse and Mattia Baldinger

Continous Integration

DevOps: Mobile Deployment22 9/29/2016

Treat the deployment process as code

– Use automated build and deploy scripts

Separate build and integration areas for each OS

Page 23: Trivadis TechEvent 2016 DevOps: the timely approach for Mobile Development by Remco Emile Marius Bonse and Mattia Baldinger

Testing and Monitoring

DevOps: Mobile Deployment23 9/29/2016

Test each Build on simulated and physical devices

Virtualize backend services

Monitor performance

Share the monitoring information to identify bottlenecks

Page 24: Trivadis TechEvent 2016 DevOps: the timely approach for Mobile Development by Remco Emile Marius Bonse and Mattia Baldinger

User Feedback to new Features

DevOps: Mobile Deployment24 9/29/2016

Convert user feedback into enhancement requests and user stories

Convert Monitoring Information in Improvement and maintenance Items

Link User Feedback, Monitoring Data and Product Backlog.

Page 25: Trivadis TechEvent 2016 DevOps: the timely approach for Mobile Development by Remco Emile Marius Bonse and Mattia Baldinger

Centralized governance of Certificates

DevOps: Mobile Deployment25 9/29/2016

Employ centralized governance for mobile provisioning profiles, certificates, and API keys etc.

Page 26: Trivadis TechEvent 2016 DevOps: the timely approach for Mobile Development by Remco Emile Marius Bonse and Mattia Baldinger

DevOps: Mobile Deployment26 9/29/2016

Build Server

IDE

.ipa

IDE

Test Server

.apk

App Stores

.apk

Mac DevelopmentWindows Development

Code Repository

Clo

ud

Emulator Emulator

Common Tool Stack

Page 27: Trivadis TechEvent 2016 DevOps: the timely approach for Mobile Development by Remco Emile Marius Bonse and Mattia Baldinger

DevOps: Mobile Deployment27 9/29/2016

Team Foundation Server

Visual Studio

.ipa

Xamarin Studio

Xamarin

Build Host

Xamarin

Test Cloud

.apk

Apple App

Store

Google

Play StoreMDM

Emulator

IOS

Mac DevelopmentWindows Development

Emulator AndroidC

lou

d

Microsoft Tool Stack

Page 28: Trivadis TechEvent 2016 DevOps: the timely approach for Mobile Development by Remco Emile Marius Bonse and Mattia Baldinger

DevOps: Mobile Deployment28 9/29/2016

Mobile DevOps:

Conclusion

Page 29: Trivadis TechEvent 2016 DevOps: the timely approach for Mobile Development by Remco Emile Marius Bonse and Mattia Baldinger

Summary

DevOps: Mobile Deployment29 9/29/2016

Mobile Development Key Factors

– Explosion of Run and Build environments and applications versions

– Improve User Experience proactively and reactively

– And Make use of third Party Interface, services and portals

With Mobile DevOps Best Practices

– Shared Testing and Monitoring

– Extended continuous integration

– Centralized governance of Certificates