A Decision Model for Programming LanguageEcosystem Selection: Seven Industry Case Studies
Software development is a continuous decision-making process that mainly relies on the software engineer's experience and intuition. One of the essential decisions in the early stages of the process is selecting the best fitting programming language based on the project requirements. A significant number of criteria, such as developer availability and consistent documentation, besides potential programming languages in the market, lead to a challenging decision-making process. A decision model is required to analyze the selection problem using systematic identification and evaluation of potential alternatives for a development project. Method: Recently, we introduced a framework to build decision models for technology selection problems in software production. Furthermore, we designed and implemented a decision support system that uses such decision models to support software engineers with their decision-making problems. This study presents a decision model based on the framework for the programming language selection problem. Results: The decision model has been evaluated through seven real-world case studies at seven software development companies. The case study participants declared that the approach provides significantly more insight into the programming language selection process and decreases the decision-making process's time and cost. Conclusion: With the knowledge available through the decision model, software engineers can more rapidly evaluate programming languages. Having this knowledge readily available supports software engineers in making more efficient and effective decisions that meet their requirements and priorities.
Steps to reproduce
Follow our framework: https://ieeexplore.ieee.org/abstract/document/8954801 https://www.tandfonline.com/doi/full/10.1080/12460125.2018.1464821 https://ieeexplore.ieee.org/abstract/document/8452667 https://www.sciencedirect.com/science/article/pii/S0164121220301552 https://link.springer.com/chapter/10.1007/978-3-030-59155-7_6