Automated Software Process Discovery from Artifacts Reduces Developer Burden

Category: User-Centred Design · Effect: Strong effect · Year: 2015

Analyzing software artifacts offline can automatically reveal recurring development behaviors, offering insights into process improvement without intrusive developer observation.

Design Takeaway

Prioritize non-intrusive data analysis methods for understanding user processes, especially in professional environments where direct observation can be disruptive.

Why It Matters

Understanding the natural flow and common patterns within software development processes is crucial for identifying bottlenecks and opportunities for enhancement. This research offers a method to gain these insights unobtrusively, respecting developers' time and reducing potential biases associated with direct observation or interviews.

Key Finding

The study successfully demonstrated that analyzing existing software artifacts can automatically identify common patterns in development workflows, providing a less intrusive way to understand and improve software processes.

Key Findings

Research Evidence

Aim: Can recurrent behaviors in software development processes be discovered offline by analyzing software artifacts, and does the Software Trajectory Analysis framework provide an effective method for this?

Method: Framework Prototyping and Evaluation

Procedure: Developed the Software Trajectory Analysis framework, defining a 'software trajectory' data type (ordered sequence of artifact measurements) and a temporal data classification technique to discover and rank characteristic patterns within these trajectories.

Context: Software development processes

Design Principle

Automate process discovery through artifact analysis to reduce observer bias and developer burden.

How to Apply

Implement automated analysis of version control history, bug tracking systems, and build logs to identify common sequences of actions and transitions between development states.

Limitations

The effectiveness may depend on the quality and richness of the software artifacts available for analysis. The 'space of chosen software metrics' needs careful selection.

Student Guide (IB Design Technology)

Simple Explanation: Instead of watching developers work, this method looks at the digital trail they leave behind (like code commits and bug reports) to figure out how they usually do things, making it easier to improve the process without bothering them.

Why This Matters: Understanding how users actually interact with a system or process, especially in a professional context like software development, is key to designing effective improvements. This method provides a way to do that without the usual challenges of direct observation.

Critical Thinking: How might the 'space of chosen software metrics' influence the perceived recurrent behaviors, and what are the potential biases introduced by this selection process?

IA-Ready Paragraph: This research supports the use of off-line analysis of digital artifacts for understanding user processes. By examining software trajectories – sequences of artifact measurements – it's possible to automatically discover recurrent behaviors without intrusive observation, offering a less biased and more efficient method for process discovery and improvement.

Project Tips

How to Use in IA

Examiner Tips

Independent Variable: Software artifacts (e.g., code commits, bug reports, build logs)

Dependent Variable: Discovered recurrent behaviors/patterns in software development processes

Controlled Variables: Definition of 'software trajectory', chosen software metrics, temporal data classification algorithm

Strengths

Critical Questions

Extended Essay Application

Source

Software Trajectory Analysis: An empirically based method for automated software process discovery · 2015