SlideShare a Scribd company logo
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

More Related Content

PDF
More than Code: Contributions in Scrum Software Engineering Teams
PPTX
Enabling Top Performing Engineering Teams
PPTX
The Roadmap to Becoming a Top Performing Organization in Managing IT Operations
PPTX
Strategies of Top Performing Organizations in Deploying AIOps - key findings
PPTX
Select and Implement a Next Generation Endpoint Protection Solution
PPTX
Improve IT Business Alignment With An Infrastructure Roadmap
PPTX
Build an Application Integration Strategy
PDF
Accenture-Digitizing-Internal-Audit
More than Code: Contributions in Scrum Software Engineering Teams
Enabling Top Performing Engineering Teams
The Roadmap to Becoming a Top Performing Organization in Managing IT Operations
Strategies of Top Performing Organizations in Deploying AIOps - key findings
Select and Implement a Next Generation Endpoint Protection Solution
Improve IT Business Alignment With An Infrastructure Roadmap
Build an Application Integration Strategy
Accenture-Digitizing-Internal-Audit

What's hot (20)

PPTX
Adaptable Architecture – the Backbone of Digital Business Models
PPTX
The Do's and Don'ts of Fixing FP&A While ERP is in Flux
PPTX
All Hands on Deck: Leveraging IT Relationships to Build Resilience
PDF
Why Modern Systems Require a New Approach to Observability
PPTX
Become a Transformational CIO
PDF
The empower process
PDF
THE GOOD, THE BAD, THE DATA - Artificial Intelligence and Robotic Process Aut...
PPTX
Modernize Communications and Collaboration Infrastructure
PDF
Plan-to-Hire: Automation and Reconciliation
PDF
Skills Set the Stage for the Latest Innovations in Workday HCM
PDF
DevOps/Continuous Delivery Tooling: Launchpad for the Digital Business
PDF
Transformation Framework
PDF
Building successful SaaS businesses by Cloudstrategies.biz
PDF
Advancing Digital Acceleration: Lessons Learned in 2020
PDF
Is your business ready for a Digital Transformation?
PDF
Are You Ready For a Digital Transformation?
PPTX
Frontline Optimization
PPTX
The Bottom Line on Agility: Bringing FP&A and Accounting Together to Drive Tr...
PPTX
Partnering with Workday on Your Skills Transformation Journey
PPTX
ECM BPM Strategy With Enterprise Architecture Maturity Model
Adaptable Architecture – the Backbone of Digital Business Models
The Do's and Don'ts of Fixing FP&A While ERP is in Flux
All Hands on Deck: Leveraging IT Relationships to Build Resilience
Why Modern Systems Require a New Approach to Observability
Become a Transformational CIO
The empower process
THE GOOD, THE BAD, THE DATA - Artificial Intelligence and Robotic Process Aut...
Modernize Communications and Collaboration Infrastructure
Plan-to-Hire: Automation and Reconciliation
Skills Set the Stage for the Latest Innovations in Workday HCM
DevOps/Continuous Delivery Tooling: Launchpad for the Digital Business
Transformation Framework
Building successful SaaS businesses by Cloudstrategies.biz
Advancing Digital Acceleration: Lessons Learned in 2020
Is your business ready for a Digital Transformation?
Are You Ready For a Digital Transformation?
Frontline Optimization
The Bottom Line on Agility: Bringing FP&A and Accounting Together to Drive Tr...
Partnering with Workday on Your Skills Transformation Journey
ECM BPM Strategy With Enterprise Architecture Maturity Model
Ad

Similar to Data-Driven Software Engineering for Agile Teams (20)

PDF
The Road to Data-Informed Agile Development Processes
PDF
Feedback in Scrum: Data-Informed Retrospectives
PDF
Using Data to Inform Decisions in Agile Software Development
PDF
Customer Driven Engineering is Product Management
PDF
sitHH16 - The Implications of Becoming Agile
PDF
Agile Metrics In Action Measuring And Enhancing The Performance Of Agile Team...
PDF
Forget about Agile
PDF
Agile Testing 2020
PDF
BeyondCurious: Managing Agile Research
PPT
Agile2011 Conference – Key Take Aways
PDF
Testing in Agile Development
PPTX
Data driven product development approaches
PPTX
Agile: Not Just for Sofware
PDF
Data-Driven DevOps: Improve Velocity and Quality of Software Delivery with Me...
PDF
Riding the Agile Wave
PDF
Effective Agile Metrics, Cuneyt Gul
PDF
Agile testing guide_2021
PDF
Introduction to Investigation And Utilizing Lean Test Metrics In Agile Softwa...
PDF
Agile Testing Framework - The Art of Automated Testing
PDF
Agile Testing: The Key to Faster, Higher-Quality Releases
The Road to Data-Informed Agile Development Processes
Feedback in Scrum: Data-Informed Retrospectives
Using Data to Inform Decisions in Agile Software Development
Customer Driven Engineering is Product Management
sitHH16 - The Implications of Becoming Agile
Agile Metrics In Action Measuring And Enhancing The Performance Of Agile Team...
Forget about Agile
Agile Testing 2020
BeyondCurious: Managing Agile Research
Agile2011 Conference – Key Take Aways
Testing in Agile Development
Data driven product development approaches
Agile: Not Just for Sofware
Data-Driven DevOps: Improve Velocity and Quality of Software Delivery with Me...
Riding the Agile Wave
Effective Agile Metrics, Cuneyt Gul
Agile testing guide_2021
Introduction to Investigation And Utilizing Lean Test Metrics In Agile Softwa...
Agile Testing Framework - The Art of Automated Testing
Agile Testing: The Key to Faster, Higher-Quality Releases
Ad

More from TechWell (20)

PDF
Failing and Recovering
PDF
Instill a DevOps Testing Culture in Your Team and Organization
PDF
Test Design for Fully Automated Build Architecture
PDF
System-Level Test Automation: Ensuring a Good Start
PDF
Build Your Mobile App Quality and Test Strategy
PDF
Testing Transformation: The Art and Science for Success
PDF
Implement BDD with Cucumber and SpecFlow
PDF
Develop WebDriver Automated Tests—and Keep Your Sanity
PDF
Ma 15
PDF
Eliminate Cloud Waste with a Holistic DevOps Strategy
PDF
Transform Test Organizations for the New World of DevOps
PDF
The Fourth Constraint in Project Delivery—Leadership
PDF
Resolve the Contradiction of Specialists within Agile Teams
PDF
Pin the Tail on the Metric: A Field-Tested Agile Game
PDF
Agile Performance Holarchy (APH)—A Model for Scaling Agile Teams
PDF
A Business-First Approach to DevOps Implementation
PDF
Databases in a Continuous Integration/Delivery Process
PDF
Mobile Testing: What—and What Not—to Automate
PDF
Cultural Intelligence: A Key Skill for Success
PDF
Turn the Lights On: A Power Utility Company's Agile Transformation
Failing and Recovering
Instill a DevOps Testing Culture in Your Team and Organization
Test Design for Fully Automated Build Architecture
System-Level Test Automation: Ensuring a Good Start
Build Your Mobile App Quality and Test Strategy
Testing Transformation: The Art and Science for Success
Implement BDD with Cucumber and SpecFlow
Develop WebDriver Automated Tests—and Keep Your Sanity
Ma 15
Eliminate Cloud Waste with a Holistic DevOps Strategy
Transform Test Organizations for the New World of DevOps
The Fourth Constraint in Project Delivery—Leadership
Resolve the Contradiction of Specialists within Agile Teams
Pin the Tail on the Metric: A Field-Tested Agile Game
Agile Performance Holarchy (APH)—A Model for Scaling Agile Teams
A Business-First Approach to DevOps Implementation
Databases in a Continuous Integration/Delivery Process
Mobile Testing: What—and What Not—to Automate
Cultural Intelligence: A Key Skill for Success
Turn the Lights On: A Power Utility Company's Agile Transformation

Recently uploaded (20)

PDF
AI in Product Development-omnex systems
PDF
Audit Checklist Design Aligning with ISO, IATF, and Industry Standards — Omne...
PPTX
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
PDF
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
PDF
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
PDF
wealthsignaloriginal-com-DS-text-... (1).pdf
PPTX
Reimagine Home Health with the Power of Agentic AI​
PDF
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
PDF
PTS Company Brochure 2025 (1).pdf.......
PDF
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
PDF
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
PPTX
Introduction to Artificial Intelligence
PPTX
Operating system designcfffgfgggggggvggggggggg
PPTX
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
PDF
System and Network Administration Chapter 2
PDF
How Creative Agencies Leverage Project Management Software.pdf
PDF
Nekopoi APK 2025 free lastest update
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
PDF
Softaken Excel to vCard Converter Software.pdf
PPTX
history of c programming in notes for students .pptx
AI in Product Development-omnex systems
Audit Checklist Design Aligning with ISO, IATF, and Industry Standards — Omne...
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
wealthsignaloriginal-com-DS-text-... (1).pdf
Reimagine Home Health with the Power of Agentic AI​
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
PTS Company Brochure 2025 (1).pdf.......
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
Introduction to Artificial Intelligence
Operating system designcfffgfgggggggvggggggggg
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
System and Network Administration Chapter 2
How Creative Agencies Leverage Project Management Software.pdf
Nekopoi APK 2025 free lastest update
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
Softaken Excel to vCard Converter Software.pdf
history of c programming in notes for students .pptx

Data-Driven Software Engineering for Agile Teams

  • 1. 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
  • 2. 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.
  • 3. 1 Data-Driven Software Engineering for Agile Teams Viktor Veis Microsoft, Visual Studio Data-Driven Software Engineering for Agile Teams Decisions
  • 4. 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
  • 5. 3 Data-Driven Software Engineering for Agile Teams Intuition Driven Decisions Data-Driven Software Engineering for Agile Teams Intuition Driven DecisionsIntuition Driven Decisions
  • 6. 4 Data-Driven Software Engineering for Agile Teams Intuition Driven DecisionsIntuition Driven Decisions Data-Driven Software Engineering for Agile Teams HiPPO
  • 7. 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
  • 8. 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
  • 9. 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
  • 10. 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
  • 11. 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
  • 12. 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
  • 13. 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
  • 14. 12 Data-Driven Software Engineering for Agile Teams Build Measure Learn Our Focus Data-Driven Software Engineering for Agile Teams Usage Trend
  • 15. 13 Data-Driven Software Engineering for Agile Teams Usage Trend Data-Driven Software Engineering for Agile Teams Telemetry Infrastructure Instrumentation
  • 16. 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
  • 17. 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
  • 18. 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
  • 19. 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
  • 20. 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
  • 21. 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
  • 22. 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?
  • 23. 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
  • 24. 22 Data-Driven Software Engineering for Agile Teams Instrumented App Telemetry Data StorageInstrument Data-Driven Software Engineering for Agile Teams Telemetry Data
  • 25. 23 Data-Driven Software Engineering for Agile Teams Data Tools Data-Driven Software Engineering for Agile Teams Data Tools
  • 26. 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
  • 27. 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
  • 28. 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
  • 29. 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
  • 30. 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??
  • 31. 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 …
  • 32. 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
  • 33. 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
  • 34. 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
  • 35. 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
  • 36. 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
  • 37. 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
  • 38. 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 …
  • 39. 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
  • 40. 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
  • 41. 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