{'fraction_non_alphanumeric': 0.018884892086330936, 'fraction_numerical': 0.0, 'mean_word_length': 5.585798816568047, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 1, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Understanding Maintenance Design : How Developers Work at the Whiteboard to Design Solutions for Software Maintenance

In this paper, we present our findings from a study into the nature of maintenance design meetings. Previous studies of software developers practicing design predominantly focused on the design of new software. In practice, however, developers often find themselves working on changes to already-existing software. Such changes can be complex to undertake, and frequently require impromptu, relatively short meetings in which developers work jointly at a whiteboard to design solutions. We performed an in-depth analysis of six such maintenance design meetings, three in our lab, and three at a local company. Each meeting involved experienced developers working on a real problem, and was studied through a combination of direct observation, interviews, and analyses of electronic sketching log files. Our findings detail several serious differences that distinguish maintenance design from new software design, with several implications for future tools aiming to support maintenance design.