Software analytics
enables software practitioners
to explore and analyze data
in order to obtain insightful and actionable information
for data driven tasks
Why analytics?
decision based on facts
increased transparency and traceability
less subjective decision making
automated way for decision making
decreased risk of “overlooking”
What is analytics?
Use of data —> Create insight and actionable information to support decisions
Data + Data analytics processes —> Insight
4 Types of analytics
Descriptive Analytics “What has happened?”
Diagnostic Analtytics “Why has happened?”
Predictive Analytics “What may happen?”
Prescriptive Analytics “How to prevent things from happening?”
Descriptive analytics
Use of data to identify trends and relationships
Ad-hoc reporting and dashboards
Focuses on questions
what has happened?, how does it compare to our plan?, what is happening now?
e.g. Google analytics
Diagnostic analytics
Use of data to determine the causes of trends and correlations between variables
Deeper analysis on ause of phenomena
Focuses on question
Why has it happened?
Challenges
Laborious work
Predictive analytics
Use of data, statistical algorithms and machine learning techniques
to identify likelihood of future outcomes
What may happen?
Data needed:
Contextual and Interaction Data
Techniques needed:
Advanced statistics, Modeling, Data Mining, Machine Learning
Prescriptive analytics
Use of data to determine an optimal course of action
How prevent things from happening?
How make sure specific things happens as we want?
Data needed: Contextual, Interaction & Predicted Data
Techniques needed: Advanced statistics, Modeling, Data mining, Machine Learning
Paradigm of analytics
Who needs data?
Stakeholder
Developers
Managers
Tester
Dev. Lead
Test Lead
Researchers
Users
Which data are needed?
Questions
Data Analytic
Answers
How to choose the (data) analytics?
Study
17 SaaS product managers
Interviewees rated importance level of analytics for decision
regarding portfolio management, roadmapping and release planning
What data sources are needed?
Software Engineering Practitioners —> Historical Repositories (Mailing Lists, Bug Tracking)
Users —> Runtime Repositories (Logs, Comments)
Guidelines for analytics
Use Visualization to make it easy
Be precise
Measure many artifacts
Identify important & unusual items
What is usage data?
Data about users interaction while using system
Context data
info that provides a broader understanding of event, person or item
Interaction data
record of actions taken by user with application
Analytics techniques
Clustering
Pattern recognition
Data Mining
Information cisualization
Classification
Natural language processing
Goal
process natural language texts and to make their information analyzable to computer systems
Techniques
Indexing
Pattern Analysis
Collocations
Data visualization
are used to present analytical results visually
many patterns only recognized by stakeholders
meaning of data understood easier when presented as chart/graph
2 types of data cisualization
Static visualization
Interactive visualization
stakeholder is able to interact with visualization
Last changed5 months ago