Mobile User Experience:Auto Drive through Performance Metrics

52
@Dynatrace - More on http://blog.dynatrace.com - Dynatrace Free Trial: http://bit.ly/dttrial Mobile User Experience: Auto Drive through Performance Metrics Hosted by: Andreas Grabner - @grabnerandi

Transcript of Mobile User Experience:Auto Drive through Performance Metrics

@Dynatrace

- More on http://blog.dynatrace.com

- Dynatrace Free Trial: http://bit.ly/dttrial

Mobile User Experience:Auto Drive through Performance Metrics

Hosted by: Andreas Grabner - @grabnerandi

Rapidly Changing Requirements &

User Expectations

Our Goal?

Utmost Goal: Minimize Cycle Time

feature cycle time time

Customer / Market Users

Utmost Goal: Minimize Cycle Time

feature cycle time time

minimize Users

Utmost Goal: Minimize Cycle Time

feature cycle time time

This is when youcreate value!

minimize

You

ReleaseAcceptance TestingUnit Testing Performance

TestingCoding

Reduce Lead Time

Automate & Improve Process

700 Deployments / Year

50-60 Deployments / Day

10+ Deployments / Day

Every 11.6 seconds

It’s possible!

Inside the Amazon Numbers!

75% fewer outages since 2006

90% fewer outage minutes

~0.001% of deployments cause a problem

Instantaneous automatic rollback

Deploying every 11.6s

Challenges?

Deploy Faster!!

Fail Faster!!?

Right Focus?!

Metricsbased

Decisions!

Time of D

eployment

Availability dropped to 0%

Usage by Channel? Errors on Devices?

Learning from Others

Unless you work for Google or Microsoft

3 Use Cases on

WHY this happened,

HOW to avoid it,

METRICS to look at

3 Use Cases on

WHY this happened,

HOW to avoid it,

METRICS to look at

#Push without a Plan

Mobile Landing Page of Super Bowl Ad

434 Resources in total on that page:230 JPEGs, 75 PNGs, 50 GIFs, …

Total size of ~ 20MB

Fifa.com during Worldcup

http://apmblog.compuware.com/2014/05/21/is-the-fifa-world-cup-website-ready-for-the-tournament/

Page SizeItem Size# Objects

Don’t assume

You know the environment

Distance Calculation Issues

480km biking in 1 hour!

Solution: Unit Test in Live App reports Geo

Calc Problems

Finding: Only happens on certain

Android versions

3rd Party Issues

Impact of bad 3rd party calls

# Functional Errors

3rd Party calls

#“Blindly” (Re)use Existing

Components

Requirement: We need a report

Using Hibernate results in 4k+ SQL Statements to display 3 items!

Hibernate Executes 4k+ Statements

Individual Execution VERY

FAST

But Total SUM takes 6s

# SQL Executions# of SAME SQLs

ReleaseAcceptance TestingUnit Testing Performance

TestingCoding

Reduce Lead Time

Automate & Improve Process

•# Images•# Redirects•Size of Resources•# SQL Executions•# of SAME SQLs•# Items per Page•# AJAX per Page

Remember: Metrics-based decisions•Time Spent in API

•# Calls into API

•# Functional Errors

•3rd Party calls

•# of Domains

•Total Size

•…

Putting it into Continuous Deployment

12 0 120ms

3 1 68ms

Build 20 testPurchase OK

testSearch OK

Build 17 testPurchase OK

testSearch OK

Build 18 testPurchase FAILED

testSearch OK

Build 19 testPurchase OK

testSearch OK

Build # Test Case Status # SQL # Excep CPU

12 0 120ms

3 1 68ms

12 5 60ms

3 1 68ms

75 0 230ms

3 1 68ms

Test & Monitoring Framework Results Architectural Data

We identified a regresesion

Problem solved

Exceptions probably reason for failed testsProblem fixed but now we have an

architectural regressionProblem fixed but now we have an

architectural regressionNow we have the functional and architectural confidence

Let’s look behind the scenes

ReleaseAcceptance TestingUnit Testing Performance

Testing

Monitor Tests

Analyze Results

Quality Gate in your Build Tool

Every 11.6 seconds

Deploy Faster!!Without Failing!

$$

$$ $$

$$ $$

$$

$$

51 @Dynatrace

Questions and/or Demo

Slides: slideshare.net/grabnerandi

Get Tools: bit.ly/dttrial

YouTube Tutorials: bit.ly/dttutorials

Contact Me: [email protected]

Follow Me: @grabnerandi

Read More: blog.dynatrace.com

52 @Dynatrace

Andreas GrabnerDynatrace Developer Advocate

@grabnerandi

http://blog.dynatrace.com