{'fraction_non_alphanumeric': 0.022620169651272386, 'fraction_numerical': 0.0, 'mean_word_length': 5.247058823529412, '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': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
A meta-model for distributed software development

Software development processes are highly creative, and subject to frequent changes, making it hard to plan and schedule these processes in advance. Also, distributed projects cannot be planned centrally, especially if the involved parties are individual companies with their own areas of responsibility (as is the case in virtual software corporations). On the other hand, certain aspects of the overall plan and schedule (milestones & deadlines, project progress) need to be available to all concerned parties. We present an approach to support distributed planning and scheduling, as well as the subsequent (also distributed) plan execution, in one system. The approach enables us to support interleaved planning and plan enactment, allowing the user to change the plan and schedule while the project is already under way. This facilitates the task of keeping the plan up to date, avoiding the complete invalidation of the plan as is often the case in conventional projects soon after enactment has started.