Online training

Software Analytics

Data-driven analysis of software systems

Use data-driven software analyses to provide information for decisions on further developing your software systems! This interactive workshop offers you a complete introduction to the topic of Software Analytics. Get to know the methodology, procedures, and tools to perform independent and comprehensible data analyses in software development.
ONLINE: January 21, 2021

2 more dates available

The English 4 half day version will take place from May 3, 2021 until May 6, 2021, and begins at 6 pm CEST / 12:00 PM EDT / 9:00 AM PST. Check out your specific time zone for this event.

Learning goals

After the workshop, the participants are able to

  • analyze their software using standard tools from the data science and graph database sector
  • work out problems in software development in a data-driven, organized, and structured way
  • deduce action-oriented conclusions from the analysis results
  • communicate analyses and findings in an understandable way
A visualization of the hourly code change activities with the use of a bar chart
A visualization of the hourly code change activities with the use of a bar chart

Approach

In this course participants learn everything they need to know about successful data analysis based on software development data. Theory and practice constantly alternate in this training.

Our approach is based on an analysis procedure that is strongly oriented on best practices and methodologies from the field of data science. These are adapted to the challenges of software development in order to be able to perform well-founded analyses of software systems, the surrounding processes and organization.

The
The “Software Analytics Canvas” for structuring your own data analyses in the software area

With the tools used, only the required range of functions for software analytics is used to efficiently achieve the learning objectives. All tools used are open source and can be used free of charge after the workshop. In addition, extensive, free learning content is available for this purpose if required, so that further knowledge can be acquired independently.

Contents

  • Basic problems of software development
  • Introduction to Software Analytics
  • Data sources for analyses
  • Challenges in analyses in the software sector
  • Introduction to Reproducible Data Science
  • Data analysis with Jupyter, Python, pandas & Co.
  • Visualizations with matplotlib
  • Interactive visualization with D3 and pygal
  • Graph-based software analysis with Neo4j
  • Integration of Software Analytics into software development
  • Outlook into machine learning based on software data
  • Hands-on projects and katas

Interactive exercises

  • Estimate knowledge gaps in the code
  • Find performance hotspots based on operating system data
  • Identify the cause of sporadic microservices failures
  • Identify unwanted dependencies between functional modules
  • Disclose progress of long-term refactoring measures

Example

This is an example of analysis of a larger software project based on the version control system with advanced techniques of data analysis. It demonstrates advanced export functions from the Git version control system, techniques for reading semi-structured data and visualizing it with the pandas data analysis tool.

Who is this course for?

  • Software developers
  • Software architects

Duration

On-site (2 days) or remote (2 days or 4 half days)

Why you should attend this training

  • The ability to analyze software systematically and automatically is essential for the operation of modern system landscapes
  • Make more informed decisions in the future! With information that is not made up out of thin air, but based on actual numbers, data and facts
  • The acquired knowledge can be used in all fields of software development – independent of technologies and languages – and beyond