AW2
Concurrent	Session	
11/11/15	11:30am	
	
	
	
“Data-Driven Software Engineering for Agile
Teams”
	
	
Presented by:
Viktor Veis
Microsoft
	
	
	
	
Brought	to	you	by:	
	
	
	
340	Corporate	Way,	Suite	300,	Orange	Park,	FL	32073	
888-268-8770	·	904-278-0524	·	info@techwell.com	·	www.techwell.com
Viktor Veis
Microsoft
A software engineering manager with Visual Studio, Viktor Veis focuses on telemetry and data-driven
engineering. Viktor built the Visual Studio telemetry team from the ground up and drives transformation to
agile data-driven culture across Visual Studio feature engineering teams. He has led performance strategy
in Bing where a few milliseconds in page load time results in big changes in revenue. Viktor has
experience in v1 projects such as Photosynth, establishing a performance culture from the beginning.
Viktor was previously a developer in several small companies on both sides of the Atlantic, building entire
application stacks including firmware, communication protocols, APIs, and user experience. Read
Viktor’s blog.
1
Data-Driven Software Engineering
for Agile Teams
Viktor Veis
Microsoft, Visual Studio
Data-Driven Software Engineering for Agile Teams
Decisions
2
Data-Driven Software Engineering for Agile Teams
Plan for the Next Hour
Telemetry data + Math you already know
Better and faster decisions
Backlog prioritization
Performance and reliability optimizations
Reduce test cost
Measure true impact of a feature
Input
Output
Data-Driven Software Engineering for Agile Teams
Feature Impact
3
Data-Driven Software Engineering for Agile Teams
Intuition Driven Decisions
Data-Driven Software Engineering for Agile Teams
Intuition Driven DecisionsIntuition Driven Decisions
4
Data-Driven Software Engineering for Agile Teams
Intuition Driven DecisionsIntuition Driven Decisions
Data-Driven Software Engineering for Agile Teams
HiPPO
5
Data-Driven Software Engineering for Agile Teams
Bing Experiment
Color Scheme A Color Scheme B
http://www.exp-platform.com/Pages/SevenRulesofThumbforWebSiteExperimenters.aspx
Data-Driven Software Engineering for Agile Teams
Intuition Driven DecisionsBing Experiment
Color Scheme A Color Scheme B
http://www.exp-platform.com/Pages/SevenRulesofThumbforWebSiteExperimenters.aspx
6
Data-Driven Software Engineering for Agile Teams
More Bing Experiments
http://aka.ms/BingExperiments
Data-Driven Software Engineering for Agile Teams
Usability Studies and Customer Feedback
Bias
Small sample size
Most vocal part of the community
Measurement effect
CC BY-ND 2.0 by John Crel
7
Data-Driven Software Engineering for Agile Teams
Usability Studies and Customer Feedback
Data-Driven Software Engineering for Agile Teams
Viktor’s Journey
ServiceStartup Application
8
Data-Driven Software Engineering for Agile Teams
Takeaway #1
Startups, services and apps
can make better and faster decisions
with data
Data-Driven Software Engineering for Agile Teams
Takeaway #2
Developers are good in dealing with one
data point at a time
9
Data-Driven Software Engineering for Agile Teams
Takeaway #2
Developers are good in dealing with one
data point at a time
Data analysis at scale is a new skill
Data-Driven Software Engineering for Agile Teams
Evolution of Feature Complete
Historical
Works Locally
Checked In
10
Data-Driven Software Engineering for Agile Teams
Evolution of Feature Complete
Historical
Works Locally
Checked In
E2E Test Automation
Live Site
Combined Engineering
Data-Driven Software Engineering for Agile Teams
Evolution of Feature Complete
Historical
Works Locally
Checked In
E2E Test Automation
Live Site
Combined Engineering
Data Driven Engineering
Used by Thousands* Daily
Fast and Reliable
11
Data-Driven Software Engineering for Agile Teams
Evolution of Feature Complete
Historical
Works Locally
Checked In
E2E Test Automation
Live Site
Combined Engineering
Data Driven Engineering
Used by Thousands* Daily
Fast and Reliable
Experiment Driven Engineering
Proven to Increase
Business Metric Y by X
Data-Driven Software Engineering for Agile Teams
Build Measure Learn
https://www.safaribooksonline.com/library/view/running-lean-2nd/9781449321529/ch01.html
12
Data-Driven Software Engineering for Agile Teams
Build Measure Learn
Our Focus
Data-Driven Software Engineering for Agile Teams
Usage Trend
13
Data-Driven Software Engineering for Agile Teams
Usage Trend
Data-Driven Software Engineering for Agile Teams
Telemetry Infrastructure
Instrumentation
14
Data-Driven Software Engineering for Agile Teams
Telemetry Infrastructure
Telemetry API
• Timestamp
• User ID
• Persistence
• Uploader
Instrumentation
Data-Driven Software Engineering for Agile Teams
Telemetry Infrastructure
Telemetry API
• Timestamp
• User ID
• Persistence
• Uploader
Telemetry Service
Instrumentation
15
Data-Driven Software Engineering for Agile Teams
Telemetry Infrastructure
Telemetry API
• Timestamp
• User ID
• Persistence
• Uploader
StorageTelemetry Service
Instrumentation
Data-Driven Software Engineering for Agile Teams
Telemetry Infrastructure
Telemetry API
• Timestamp
• User ID
• Persistence
• Uploader
StorageTelemetry Service
Instrumentation Query
16
Data-Driven Software Engineering for Agile Teams
Telemetry Infrastructure
Telemetry API
• Timestamp
• User ID
• Persistence
• Uploader
StorageTelemetry Service
Instrumentation Query
Data-Driven Software Engineering for Agile Teams
Telemetry Infrastructure
Instrumentation and Query
is the only code you need to write
17
Data-Driven Software Engineering for Agile Teams
Telemetry Infrastructure
Telemetry API
• Timestamp
• User ID
• Persistence
• Uploader
StorageTelemetry Service
Instrumentation Query
Data-Driven Software Engineering for Agile Teams
Working With Data
https://en.wikipedia.org/wiki/Multitier_architecture
18
Data-Driven Software Engineering for Agile Teams
Telemetry Data != Product Data
http://datadrivenengineering.com/2015/04/22/revisiting-software-architecture-principles-for-telemetry-data/
Data-Driven Software Engineering for Agile Teams
Custom Dashboard – Really?
https://www.bing.com/images/search?q=dashboard
19
Data-Driven Software Engineering for Agile Teams
Instrumentation and Metrics
Instrumentation
An API call to report that something
interesting happened
Metric
A result of querying the data reported by
instrumentation
Data-Driven Software Engineering for Agile Teams
Instrumentation and Metrics
•User Actions
•Latency
•Errors
•User Count
•Click Count
•Latency Percentile
•Error Count and Rate
•Time to Complete
•Success Rate
Instrumentation Metrics
20
Data-Driven Software Engineering for Agile Teams
Metrics for Business
•Acquisition
•Engagement
•Churn
•Revenue
•…
Data-Driven Software Engineering for Agile Teams
Build Measure Learn
https://www.safaribooksonline.com/library/view/running-lean-2nd/9781449321529/ch01.html
Who?
21
Data-Driven Software Engineering for Agile Teams
Build Measure Learn
https://www.safaribooksonline.com/library/view/running-lean-2nd/9781449321529/ch01.html
DeveloperData Scientist
I do math
I write
code
Data-Driven Software Engineering for Agile Teams
App Example
22
Data-Driven Software Engineering for Agile Teams
Instrumented App
Telemetry
Data
StorageInstrument
Data-Driven Software Engineering for Agile Teams
Telemetry Data
23
Data-Driven Software Engineering for Agile Teams
Data Tools
Data-Driven Software Engineering for Agile Teams
Data Tools
24
Data-Driven Software Engineering for Agile Teams
Build Measure Learn
Complex
DeveloperData Scientist
Data-Driven Software Engineering for Agile Teams
Build Measure Learn
Developers shouldn't have to rely on
data scientists to get value out of data
25
Data-Driven Software Engineering for Agile Teams
Telemetry Data - Timestamp
Filter: 7 days
Data-Driven Software Engineering for Agile Teams
Telemetry Data - Action
Group By
Action Count
Purchase 2500
Subscribe 700
Share 20
Last 7 Days
26
Data-Driven Software Engineering for Agile Teams
Telemetry Data - Users
Distinct Count
Action Count Users Per User
Purchase 2500 1000 2.5
Subscribe 700 100 7
Share 20 20 1
1050 Unique UsersLast 7 Days
Data-Driven Software Engineering for Agile Teams
Telemetry Data - Latency
Action Count Users Per User Latency-P75 Latency-P95
Purchase 2500 1000 2.5 1500 2500
Subscribe 700 100 7 1200 7000
Share 20 20 1 5000 9000
1050 Unique UsersLast 7 Days
Aggregate
27
Data-Driven Software Engineering for Agile Teams
Insights
1. Purchases are healthy
2. Users do not share
3. Sharing is slow
4. Too many subscriptions from the same user
5. Subscribe latency has a long tail
Action Count Users Per User Latency-P75 Latency-P95
Purchase 2500 1000 2.5 1500 2500
Subscribe 700 100 7 1200 7000
Share 20 20 1 5000 9000
1
2 3
4 5
Data-Driven Software Engineering for Agile Teams
Daily Trend
Action Count Users Per User Latency-P75 Latency-P95
Purchase 2500 1000 2.5 1500 2500
28
Data-Driven Software Engineering for Agile Teams
Data Analysis 101
Select a date range divisible by 7
Group by user actions
Number of unique users
Count user actions per user
Percentiles for latencies
Daily trends with 7-day moving average
Data-Driven Software Engineering for Agile Teams
Debugging Data
Why??
29
Data-Driven Software Engineering for Agile Teams
What Changed?
What Changed?Brainstorm, Research & Validate
Data-Driven Software Engineering for Agile Teams
Segments
What else?
Version
Browser
Country
…
30
Data-Driven Software Engineering for Agile Teams
Segments
Search for segments that are large and
different. Target them to deliver unique
value.
CC BY-SA 3.0 by Reinhard KraaschCC BY 2.5 by Jo Weber
Data-Driven Software Engineering for Agile Teams
Segments
31
Data-Driven Software Engineering for Agile Teams
Histogram
Action Count Users Per User Latency-P75 Latency-P95
Purchase 2500 1000 2.5 1500 2500
Data-Driven Software Engineering for Agile Teams
Histogram
Action Count Users Per User Latency-P75 Latency-P95
Purchase 2500 1000 2.5 1500 2500
32
Data-Driven Software Engineering for Agile Teams
Histogram
Action Count Users Per User Latency-P75 Latency-P95
Purchase 2500 1000 2.5 1500 2500
Data-Driven Software Engineering for Agile Teams
Histogram
Action Count Per User Latency-P75 Latency-P95
Purchase 2500 2.5 1500 2500
Second Peak
Long Tail
33
Data-Driven Software Engineering for Agile Teams
Debugging Data
What changed?
Segments that are large and different
Histograms for abnormal data shape
Sub-metrics
Data-Driven Software Engineering for Agile Teams
Data Tests
ROI
Test Lab Data Tests
34
Data-Driven Software Engineering for Agile Teams
Data Tests
Data-Driven Software Engineering for Agile Teams
Experiment Driven Engineering
Experiment Driven Engineering
Proven to Increase
Business Metric Y by X
35
Data-Driven Software Engineering for Agile Teams
Correlation vs Causation
https://commons.wikimedia.org/wiki/File:PiratesVsTemp(en).svg
Data-Driven Software Engineering for Agile Teams
Correlation vs Causation
36
Data-Driven Software Engineering for Agile Teams
Correlation vs Causation
Price Reduction
Marketing Competition
New Products
Going Viral
Data-Driven Software Engineering for Agile Teams
A/B Experiments
All Users
50% 50%
Metric White Pink P-Value
Average Purchase Count per User Per Week 2.2 2.5 0.0008
…
37
Data-Driven Software Engineering for Agile Teams
P-Value
https://en.wikipedia.org/wiki/P-value
Data-Driven Software Engineering for Agile Teams
P-Value
•Chance of getting results we did (or more extreme)
assuming no change in user behavior between A and B
•Between 0 and 1
•Lower p-value increases confidence that the change in
behavior is real and sustainable
•<0.05 – Typical threshold for believing in change
38
Data-Driven Software Engineering for Agile Teams
P-Value in Excel
=T.TEST(A:A,B:B, 2, 2)
Data-Driven Software Engineering for Agile Teams
Summary
Make data analysis a part of your daily agile process
Formal stats training is optional to get started
Reuse infrastructure to start fast
Data tests can replace expensive lab tests
A/B experiments measure true impact of a feature
39
Data-Driven Software Engineering for Agile Teams
Where is Your Team?
Data-driven engineering:
• How many users does this feature have?
• What are the main entry points and segments?
• Do we measure success based on telemetry data?
• Do we learn about issues from data and not from upset
customers?
Experiment-driven engineering:
• How do we measure feature impact?
• How do we make release/cut decisions?
• How do we prioritize performance against feature work?
Data-Driven Software Engineering for Agile Teams
Thank You
Blog: http://www.DataDrivenEngineering.com
Twitter: @ViktorVeis

Data-Driven Software Engineering for Agile Teams

  • 1.
    AW2 Concurrent Session 11/11/15 11:30am “Data-Driven Software Engineeringfor Agile Teams” Presented by: Viktor Veis Microsoft Brought to you by: 340 Corporate Way, Suite 300, Orange Park, FL 32073 888-268-8770 · 904-278-0524 · info@techwell.com · www.techwell.com
  • 2.
    Viktor Veis Microsoft A softwareengineering manager with Visual Studio, Viktor Veis focuses on telemetry and data-driven engineering. Viktor built the Visual Studio telemetry team from the ground up and drives transformation to agile data-driven culture across Visual Studio feature engineering teams. He has led performance strategy in Bing where a few milliseconds in page load time results in big changes in revenue. Viktor has experience in v1 projects such as Photosynth, establishing a performance culture from the beginning. Viktor was previously a developer in several small companies on both sides of the Atlantic, building entire application stacks including firmware, communication protocols, APIs, and user experience. Read Viktor’s blog.
  • 3.
    1 Data-Driven Software Engineering forAgile Teams Viktor Veis Microsoft, Visual Studio Data-Driven Software Engineering for Agile Teams Decisions
  • 4.
    2 Data-Driven Software Engineeringfor Agile Teams Plan for the Next Hour Telemetry data + Math you already know Better and faster decisions Backlog prioritization Performance and reliability optimizations Reduce test cost Measure true impact of a feature Input Output Data-Driven Software Engineering for Agile Teams Feature Impact
  • 5.
    3 Data-Driven Software Engineeringfor Agile Teams Intuition Driven Decisions Data-Driven Software Engineering for Agile Teams Intuition Driven DecisionsIntuition Driven Decisions
  • 6.
    4 Data-Driven Software Engineeringfor Agile Teams Intuition Driven DecisionsIntuition Driven Decisions Data-Driven Software Engineering for Agile Teams HiPPO
  • 7.
    5 Data-Driven Software Engineeringfor Agile Teams Bing Experiment Color Scheme A Color Scheme B http://www.exp-platform.com/Pages/SevenRulesofThumbforWebSiteExperimenters.aspx Data-Driven Software Engineering for Agile Teams Intuition Driven DecisionsBing Experiment Color Scheme A Color Scheme B http://www.exp-platform.com/Pages/SevenRulesofThumbforWebSiteExperimenters.aspx
  • 8.
    6 Data-Driven Software Engineeringfor Agile Teams More Bing Experiments http://aka.ms/BingExperiments Data-Driven Software Engineering for Agile Teams Usability Studies and Customer Feedback Bias Small sample size Most vocal part of the community Measurement effect CC BY-ND 2.0 by John Crel
  • 9.
    7 Data-Driven Software Engineeringfor Agile Teams Usability Studies and Customer Feedback Data-Driven Software Engineering for Agile Teams Viktor’s Journey ServiceStartup Application
  • 10.
    8 Data-Driven Software Engineeringfor Agile Teams Takeaway #1 Startups, services and apps can make better and faster decisions with data Data-Driven Software Engineering for Agile Teams Takeaway #2 Developers are good in dealing with one data point at a time
  • 11.
    9 Data-Driven Software Engineeringfor Agile Teams Takeaway #2 Developers are good in dealing with one data point at a time Data analysis at scale is a new skill Data-Driven Software Engineering for Agile Teams Evolution of Feature Complete Historical Works Locally Checked In
  • 12.
    10 Data-Driven Software Engineeringfor Agile Teams Evolution of Feature Complete Historical Works Locally Checked In E2E Test Automation Live Site Combined Engineering Data-Driven Software Engineering for Agile Teams Evolution of Feature Complete Historical Works Locally Checked In E2E Test Automation Live Site Combined Engineering Data Driven Engineering Used by Thousands* Daily Fast and Reliable
  • 13.
    11 Data-Driven Software Engineeringfor Agile Teams Evolution of Feature Complete Historical Works Locally Checked In E2E Test Automation Live Site Combined Engineering Data Driven Engineering Used by Thousands* Daily Fast and Reliable Experiment Driven Engineering Proven to Increase Business Metric Y by X Data-Driven Software Engineering for Agile Teams Build Measure Learn https://www.safaribooksonline.com/library/view/running-lean-2nd/9781449321529/ch01.html
  • 14.
    12 Data-Driven Software Engineeringfor Agile Teams Build Measure Learn Our Focus Data-Driven Software Engineering for Agile Teams Usage Trend
  • 15.
    13 Data-Driven Software Engineeringfor Agile Teams Usage Trend Data-Driven Software Engineering for Agile Teams Telemetry Infrastructure Instrumentation
  • 16.
    14 Data-Driven Software Engineeringfor Agile Teams Telemetry Infrastructure Telemetry API • Timestamp • User ID • Persistence • Uploader Instrumentation Data-Driven Software Engineering for Agile Teams Telemetry Infrastructure Telemetry API • Timestamp • User ID • Persistence • Uploader Telemetry Service Instrumentation
  • 17.
    15 Data-Driven Software Engineeringfor Agile Teams Telemetry Infrastructure Telemetry API • Timestamp • User ID • Persistence • Uploader StorageTelemetry Service Instrumentation Data-Driven Software Engineering for Agile Teams Telemetry Infrastructure Telemetry API • Timestamp • User ID • Persistence • Uploader StorageTelemetry Service Instrumentation Query
  • 18.
    16 Data-Driven Software Engineeringfor Agile Teams Telemetry Infrastructure Telemetry API • Timestamp • User ID • Persistence • Uploader StorageTelemetry Service Instrumentation Query Data-Driven Software Engineering for Agile Teams Telemetry Infrastructure Instrumentation and Query is the only code you need to write
  • 19.
    17 Data-Driven Software Engineeringfor Agile Teams Telemetry Infrastructure Telemetry API • Timestamp • User ID • Persistence • Uploader StorageTelemetry Service Instrumentation Query Data-Driven Software Engineering for Agile Teams Working With Data https://en.wikipedia.org/wiki/Multitier_architecture
  • 20.
    18 Data-Driven Software Engineeringfor Agile Teams Telemetry Data != Product Data http://datadrivenengineering.com/2015/04/22/revisiting-software-architecture-principles-for-telemetry-data/ Data-Driven Software Engineering for Agile Teams Custom Dashboard – Really? https://www.bing.com/images/search?q=dashboard
  • 21.
    19 Data-Driven Software Engineeringfor Agile Teams Instrumentation and Metrics Instrumentation An API call to report that something interesting happened Metric A result of querying the data reported by instrumentation Data-Driven Software Engineering for Agile Teams Instrumentation and Metrics •User Actions •Latency •Errors •User Count •Click Count •Latency Percentile •Error Count and Rate •Time to Complete •Success Rate Instrumentation Metrics
  • 22.
    20 Data-Driven Software Engineeringfor Agile Teams Metrics for Business •Acquisition •Engagement •Churn •Revenue •… Data-Driven Software Engineering for Agile Teams Build Measure Learn https://www.safaribooksonline.com/library/view/running-lean-2nd/9781449321529/ch01.html Who?
  • 23.
    21 Data-Driven Software Engineeringfor Agile Teams Build Measure Learn https://www.safaribooksonline.com/library/view/running-lean-2nd/9781449321529/ch01.html DeveloperData Scientist I do math I write code Data-Driven Software Engineering for Agile Teams App Example
  • 24.
    22 Data-Driven Software Engineeringfor Agile Teams Instrumented App Telemetry Data StorageInstrument Data-Driven Software Engineering for Agile Teams Telemetry Data
  • 25.
    23 Data-Driven Software Engineeringfor Agile Teams Data Tools Data-Driven Software Engineering for Agile Teams Data Tools
  • 26.
    24 Data-Driven Software Engineeringfor Agile Teams Build Measure Learn Complex DeveloperData Scientist Data-Driven Software Engineering for Agile Teams Build Measure Learn Developers shouldn't have to rely on data scientists to get value out of data
  • 27.
    25 Data-Driven Software Engineeringfor Agile Teams Telemetry Data - Timestamp Filter: 7 days Data-Driven Software Engineering for Agile Teams Telemetry Data - Action Group By Action Count Purchase 2500 Subscribe 700 Share 20 Last 7 Days
  • 28.
    26 Data-Driven Software Engineeringfor Agile Teams Telemetry Data - Users Distinct Count Action Count Users Per User Purchase 2500 1000 2.5 Subscribe 700 100 7 Share 20 20 1 1050 Unique UsersLast 7 Days Data-Driven Software Engineering for Agile Teams Telemetry Data - Latency Action Count Users Per User Latency-P75 Latency-P95 Purchase 2500 1000 2.5 1500 2500 Subscribe 700 100 7 1200 7000 Share 20 20 1 5000 9000 1050 Unique UsersLast 7 Days Aggregate
  • 29.
    27 Data-Driven Software Engineeringfor Agile Teams Insights 1. Purchases are healthy 2. Users do not share 3. Sharing is slow 4. Too many subscriptions from the same user 5. Subscribe latency has a long tail Action Count Users Per User Latency-P75 Latency-P95 Purchase 2500 1000 2.5 1500 2500 Subscribe 700 100 7 1200 7000 Share 20 20 1 5000 9000 1 2 3 4 5 Data-Driven Software Engineering for Agile Teams Daily Trend Action Count Users Per User Latency-P75 Latency-P95 Purchase 2500 1000 2.5 1500 2500
  • 30.
    28 Data-Driven Software Engineeringfor Agile Teams Data Analysis 101 Select a date range divisible by 7 Group by user actions Number of unique users Count user actions per user Percentiles for latencies Daily trends with 7-day moving average Data-Driven Software Engineering for Agile Teams Debugging Data Why??
  • 31.
    29 Data-Driven Software Engineeringfor Agile Teams What Changed? What Changed?Brainstorm, Research & Validate Data-Driven Software Engineering for Agile Teams Segments What else? Version Browser Country …
  • 32.
    30 Data-Driven Software Engineeringfor Agile Teams Segments Search for segments that are large and different. Target them to deliver unique value. CC BY-SA 3.0 by Reinhard KraaschCC BY 2.5 by Jo Weber Data-Driven Software Engineering for Agile Teams Segments
  • 33.
    31 Data-Driven Software Engineeringfor Agile Teams Histogram Action Count Users Per User Latency-P75 Latency-P95 Purchase 2500 1000 2.5 1500 2500 Data-Driven Software Engineering for Agile Teams Histogram Action Count Users Per User Latency-P75 Latency-P95 Purchase 2500 1000 2.5 1500 2500
  • 34.
    32 Data-Driven Software Engineeringfor Agile Teams Histogram Action Count Users Per User Latency-P75 Latency-P95 Purchase 2500 1000 2.5 1500 2500 Data-Driven Software Engineering for Agile Teams Histogram Action Count Per User Latency-P75 Latency-P95 Purchase 2500 2.5 1500 2500 Second Peak Long Tail
  • 35.
    33 Data-Driven Software Engineeringfor Agile Teams Debugging Data What changed? Segments that are large and different Histograms for abnormal data shape Sub-metrics Data-Driven Software Engineering for Agile Teams Data Tests ROI Test Lab Data Tests
  • 36.
    34 Data-Driven Software Engineeringfor Agile Teams Data Tests Data-Driven Software Engineering for Agile Teams Experiment Driven Engineering Experiment Driven Engineering Proven to Increase Business Metric Y by X
  • 37.
    35 Data-Driven Software Engineeringfor Agile Teams Correlation vs Causation https://commons.wikimedia.org/wiki/File:PiratesVsTemp(en).svg Data-Driven Software Engineering for Agile Teams Correlation vs Causation
  • 38.
    36 Data-Driven Software Engineeringfor Agile Teams Correlation vs Causation Price Reduction Marketing Competition New Products Going Viral Data-Driven Software Engineering for Agile Teams A/B Experiments All Users 50% 50% Metric White Pink P-Value Average Purchase Count per User Per Week 2.2 2.5 0.0008 …
  • 39.
    37 Data-Driven Software Engineeringfor Agile Teams P-Value https://en.wikipedia.org/wiki/P-value Data-Driven Software Engineering for Agile Teams P-Value •Chance of getting results we did (or more extreme) assuming no change in user behavior between A and B •Between 0 and 1 •Lower p-value increases confidence that the change in behavior is real and sustainable •<0.05 – Typical threshold for believing in change
  • 40.
    38 Data-Driven Software Engineeringfor Agile Teams P-Value in Excel =T.TEST(A:A,B:B, 2, 2) Data-Driven Software Engineering for Agile Teams Summary Make data analysis a part of your daily agile process Formal stats training is optional to get started Reuse infrastructure to start fast Data tests can replace expensive lab tests A/B experiments measure true impact of a feature
  • 41.
    39 Data-Driven Software Engineeringfor Agile Teams Where is Your Team? Data-driven engineering: • How many users does this feature have? • What are the main entry points and segments? • Do we measure success based on telemetry data? • Do we learn about issues from data and not from upset customers? Experiment-driven engineering: • How do we measure feature impact? • How do we make release/cut decisions? • How do we prioritize performance against feature work? Data-Driven Software Engineering for Agile Teams Thank You Blog: http://www.DataDrivenEngineering.com Twitter: @ViktorVeis