Thanks to rapidly evolving technologies and an abundance of technology vendors with homogeneous offerings in the marketplace, selecting suitable technologies for software producing organizations is a challenging process. Software architects and senior developers, who are not experts in each decision domain, need trusted partners who can effectively understand their requirements and priorities as well as have deep technical expertise in software technologies in the market.
Technology selection is the process of assessing the potential value of technologies and their contribution to the competitiveness and profitability of Software Producing Organizations. The selection process is complicated because there are many factors, such as suitability and cost, that have to be considered. The technology selection process can be modeled as a multi-criteria decision-making (MCDM) problem that deals with the assessing of a set of alternatives, and considering a set of decision criteria.
We designed and implemented a Decision Support System (DSS) that supports decision-makers in choosing the most suitable software technologies. The DSS is a tool that can be used over the full life-cycle and can co-evolve its advice based on evolving requirements.
The novelty of our approach is that it provides knowledge about decision context to support uninformed decision-makers. Furthermore, it employs fundamental requirements engineering concepts, such as the ISO software quality standards and the MoSCoW prioritization technique, besides knowledge engineering theories to develop the knowledge-base system. The DSS has been evaluated through multiple real-world case studies at several software-producing organizations.