accelerating innovation: do more with less in your startup

26
1 Joel Worrall CTO CURE International Accelerating innovation: Do more with less in your startup

Upload: new-relic

Post on 14-Jan-2017

297 views

Category:

Data & Analytics


0 download

TRANSCRIPT

Page 1: Accelerating Innovation: Do More with Less in Your Startup

1

Joel Worrall CTO

CURE International

Accelerating innovation:Do more with less in your startup

Page 2: Accelerating Innovation: Do More with Less in Your Startup

Accelerating InnovationUsing the New Relic Software Analytics Cloud to do more with less.

Joel WorrallCTO, CURE International@tangollama

Page 3: Accelerating Innovation: Do More with Less in Your Startup

Joel WorrallCTO, CURE Intl (cure.org)

PM, HospitalRun (hospitalrun.io)

[email protected]@tangollama

Page 4: Accelerating Innovation: Do More with Less in Your Startup

Why this is a good use of 25 minutes?

● Context● Insights● Applications

Page 5: Accelerating Innovation: Do More with Less in Your Startup

1 ContextWhat’s “startupy” about CURE?

Page 6: Accelerating Innovation: Do More with Less in Your Startup

We have hospitals in 10 countries and operate programs, such as clubfoot and hydrocephalus in an additional 20 countries.We have ~1500 employees worldwide, only 45 in the US.

CURE Operations Map

Page 7: Accelerating Innovation: Do More with Less in Your Startup
Page 8: Accelerating Innovation: Do More with Less in Your Startup
Page 9: Accelerating Innovation: Do More with Less in Your Startup

5# OF PEOPLE ON THE TECH TEAM,

INCLUDING IT SUPPORT & THE TALKING HEAD (ME)

Page 10: Accelerating Innovation: Do More with Less in Your Startup

From online donors and reporting to program delivery, New Relic helps us heal kids.

cure.org & CUREkidsCustom Wordpress applications with online donations, marketing content, and our real-time patient reporting platform utilizing the complete suite of services.

HydroOSOffline-first cloud-based EMR for a hydrocephalus treatment program, using Servers, APM (PHP), Browser & MySQL.

HospitalRunOpen source, offline-enabled cloud-based EMR focused on bringing the world’s best usability experience in healthcare to the nearly 14,000 facilities in the developing world, supported by APM (Node), Browser & (TBI) Insights.

We are “full platform” users

Page 11: Accelerating Innovation: Do More with Less in Your Startup

2 InsightsSome practical advice from what we’ve learned as a team.

Page 12: Accelerating Innovation: Do More with Less in Your Startup

APM is an assumptionI’m not sure I even need to say this, but I will anyway...

Page 13: Accelerating Innovation: Do More with Less in Your Startup

Catch performance issues before you even deployDevelop with the agent installed locally

Profiling your app in dev = time saved.Pic cred: https://xkcd.com/1513/

Page 14: Accelerating Innovation: Do More with Less in Your Startup

For mission-critical functional and performance monitoring

● Measure performance for a global user base.

● Ensure that the stuff that can’t break, isn’t.

● Validate that ancillary services are up and running.

Use Synthetics Strategically

Pic cred: https://xkcd.com/1319/

Page 15: Accelerating Innovation: Do More with Less in Your Startup
Page 16: Accelerating Innovation: Do More with Less in Your Startup

Learn from what users are actually doing vs. just what they might say they want.

CUREkids Actions:● Age● Condition● Country● Etc.

App Analytics > Focus Group

Product Management

Page 17: Accelerating Innovation: Do More with Less in Your Startup

Using the API to add additional data into the capture request

if (function_exists(‘newrelic_add_custom_parameter’)) { newrelic_add_custom_parameter("ck_user_id", $cua->getUserId()); newrelic_add_custom_parameter("ck_profile_id", $cua->getProfileId()); $profile = new CkProfile(); $profile->load($cua->getProfileId()); newrelic_add_custom_parameter("ck_url", $profile->getFriendlyUrl()); newrelic_add_custom_parameter("ck_condition", $profile->getConditionTerm()->slug); newrelic_add_custom_parameter("ck_country", $profile->getCountryTerm()->slug); newrelic_add_custom_parameter("ck_gender", ($profile->isFemale() ? "F" : "M")); newrelic_add_custom_parameter("ck_age", $profile->getBirthYearsDifference()); //do some other stuff to set the ck_action and gift_amount

}

Capturing the data in New Relic

Page 18: Accelerating Innovation: Do More with Less in Your Startup
Page 19: Accelerating Innovation: Do More with Less in Your Startup

3 ApplicationsDirecting user behavior with app analytics

Page 20: Accelerating Innovation: Do More with Less in Your Startup

Using Insights as reporting mechanism into your user experience.

Data captured in CUREkids goes to New Relic, then out of New Relic and into CUREkids.

New Relic “Inception”

Page 21: Accelerating Innovation: Do More with Less in Your Startup

Using the Insights query API

if (function_exists(‘newrelic_insights_query’)) { //other stuff

$json = newrelic_insights_query( "SELECT uniques(ck_profile_id) from Transaction since 7 days ago limit 10"); update_option("nr_stats_recent_profiles", $json);

//overall impact $json = newrelic_insights_query(

"SELECT count(*) from Transaction WHERE ck_action IS NOT NULL FACET ck_action SINCE '".curekids_get_last_sunday()."'");

update_option("nr_stats_overall", $json); }

Reading the data back out of New Relic

Page 22: Accelerating Innovation: Do More with Less in Your Startup

By measuring user interactions

HospitalRun home screen defined not only by role but individual user history.

Defining User Experience

Page 23: Accelerating Innovation: Do More with Less in Your Startup

using PageActions and the Browser API

//hospitalrun patient edit route newrelic.addPageAction(‘hr_watch_patient’, { userName: UserSession.getUserName(),

patientId: patientId, externalId: model.get('externalPatientId'), displayName: model.get('displayName')

});

//NQRL retrieval to build the home screen SELECT uniques(patientId) FROM PageAction WHERE userName=<this user> SINCE 2 weeks ago

Capturing JS App Actions in New Relic

Page 24: Accelerating Innovation: Do More with Less in Your Startup
Page 25: Accelerating Innovation: Do More with Less in Your Startup

Questions?

Page 26: Accelerating Innovation: Do More with Less in Your Startup

Meet my primary customer: David from Kenya

Before

After