2 Talks About Software
-
Upload
mike-cavaliere -
Category
Technology
-
view
213 -
download
0
Transcript of 2 Talks About Software
About Me
• 15 years a programmer
• Freelance, Agency work, Startup work
• Lots of coding, some product, some business
Treat Everything as an Experiment.Do -> Measure -> Learn.
• Product metrics (traffic, engagement, acquisition)
• Business (revenue, conversions, churn, etc)
• Development (release frequency, error rate)
• Marketing….etc.
Treat Everything as an Experiment.…but avoid information overload.
• Pick & choose optimization goals
• Prioritize. What’s the current company focus?
Pick Appropriate Measures*
Business
Product
Tech
Business
Tech
*Not all metrics matter to your company! (Right now)
Unicorns.
Wikipedia Definition: a mythical animal typically represented as a horse with a single straight horn projecting from its forehead.
“Mythical” == “fictitious!”
Unicorns.
The Moral: only build tech that has a likelihood of helping the business.
(Here and now - not years ahead).
Keeping it Real
• Treat each feature as hypothesis
• Define reason to build - customer requests, user behavior, market data, etc
• Associate each feature with 1-2 metrics. Define “success” for each feature
• Weigh out time/cost for features vs likelihood of success. Prioritize most likely to succeed w/lowest investment.
• Build -> measure -> learn. Drop ineffective features.
In your product roadmap:
Performance Paradigms
• Holistic: Front-End speed + Back-End speed
• Balanced: specific problems + regular improvements
• Cognitive: Perceptual vs actual performance.
Approaches
• Fixing specific problems - obvious slowness, browser hanging, customer complaints
• General speed improvements - do it regularly (weekly or biweekly, prioritized)
Types of Measurement
• Qualitative Measures - first. (detects obvious/specific problems)
• Quantitative Measures - ongoing. (detects broader effect - which devices, pages, locales, etc)
• Qualitative Measures:
• Quantitative Measures:
Measuring Tools
Platform Tools (EC2, Heroku, etc)
Browser Tools (Chrome Debugger,
FireBug, etc)
How to Measure
• Sometimes fixes are hypotheses.
• Pick appropriate thing to measure.
• Take numbers before & after a change.
• Determine how big the effect was.
Qualitative Metrics
• Content load time - time for html to show
• Page load time - time for images to finish
• JS runtime
Quantitative Metrics• Avg load time (sitewide)
• Avg load time (per page - fine tune slow pages)
• Front-end vs back-end breakdown
A Note on Load Time
• Perceptual Load Time: done when the user sees the page. DOMContentLoaded event (jQuery.ready)
• Actual Load Time: when everything is fully loaded. Images, async JS, etc.
Apply Best Practices
Use PageSpeed Insights to find problem areas, and apply
site wide improvements.
Profiling ConceptsTimeline
https://addyosmani.com/blog /performance-optimisation-with-timeline-profiles/
Diagnose runtime performance issues. Slow JS, animation, etc.
Profiling Concepts
jankfree.org - more info on profiling, animation, scrolling performance
• http://ATTCK.com/
• Twitter: @attckco
Thanks For Listening.
• http://mikecavaliere.com/blog/
• Twitter: @mcavaliere