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

Post on 16-Apr-2017

73 views 0 download

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

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

Agenda

2 9/29/2016

1. What is DevOps

2. Development of Mobile vs Desktop applications

3. DevOps Best Practices

4. Conclusion

DevOps Mobile Deployment3 9/29/2016

What is DevOps

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.»

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

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

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

Key Factors: Culture

DevOps: Mobile Deployment8 9/29/2016

Agile project management approach (incremental, iterative)

Support strong interdepartmental communication

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

DevOps: Mobile Deployment10 9/29/2016

Mobile vs Desktop

Application Development

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

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

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/

Explosion of Run and Development Environments

DevOps: Mobile Deployment14 9/29/2016

Device (hardware, resolution etc.)

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

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

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)

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)

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

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

DevOps: Mobile Deployment20 9/29/2016

Mobile DevOps:

Best Practises

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

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

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

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.

Centralized governance of Certificates

DevOps: Mobile Deployment25 9/29/2016

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

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

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

DevOps: Mobile Deployment28 9/29/2016

Mobile DevOps:

Conclusion

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