Institute for Software Research International
School of Computer Science, Carnegie Mellon University


Identifying Categories of End Users
Based on the Abstractions That They Create

Christopher Scaffidi, Andrew Ko, Brad Myers, Mary Shaw

December 2005

Also appears as Human-Computer Interaction Institute
Technical Report CMU-HCII-05-101


Keywords: End user programming, end user software engineering, end users, adoption, abstraction

Software created by end users often lacks key quality attributes that professional programmers try to ensure through the use of abstraction. Yet to date, large-scale studies of end users have not examined end user software usage at a level which is sufficiently fine-grained to determine the extent to which they create abstractions.

To address this, we deployed an online survey to Information Week subscribers to ask about not only software usage but also feature usage related to abstraction creation. Most respondents did create abstractions. Moreover, through factor analysis, we found that features fell into three clusters when users had a propensity to use one feature, then they also had a propensity to use other features in the same cluster. These clusters corresponded to macro features, linked data structure features, and imperative features.

For each of the three factors, we created a scale and used it to categorize users into two bins those with a high propensity to use features associated with that scale, and those with a low propensity. Compared to users with a low propensity to use imperative features, users with a high propensity to use imperative features were more likely to report testing and documenting. Propensity to use linked structure features was less strongly related to these practices. These findings represent a step toward a more complete map of end users skills.

33 pages

Return to: SCS Technical Report Collection
School of Computer Science homepage

This page maintained by