{'fraction_non_alphanumeric': 0.01875901875901876, 'fraction_numerical': 0.0, 'mean_word_length': 5.1371681415929205, '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}}
On the shortest path to satisfy software projects' core requirements

In the earlier days of software engineering history, a software project meant that the team must implement every requirement. Nowadays, a company has many pieces of software carrying out countless tasks. In addition, many software systems communicate to with the outside world following some well established standards and consist of reusable and expendable components such as APIs and web services. In this case, to fulfill some core set of requirements does not always means to develop complete new software systems. Often, the core set of requirements can be satisfied by utilizing existing infrastructure or software systems. Clearly, taking such an approach is much more desirable in most of the cases because the costs for development, testing, user training, and maintenance are much lower. In addition, the time to market is much shorter. In this paper we propose a very different from the traditional software development approach where a software project means to specify tools, infrastructure, and ecosystem so the development can take place. We suggest that before build a new software system, we should look hard to identify existing software solutions to fulfill part, of not all, of the set of core requirements. The approach is demonstrated by providing details of three successful software projects.