Technology stack selection : Guidelines for organisations with multiple development teams

University essay from Jönköping University/JTH, Avdelningen för datateknik och informatik

Abstract: When starting a new software project, selecting what technology stack to use is one of the most important decisions to make. Selecting a technology stack is a large part of the software architecture design, and the choice of the technology stack is crucial to get right since it can make or break a project and is usually hard and expensive to change in the future. This thesis was conducted to develop guidelines for organisations to use during the technology stack selection process by identifying the essential steps of the technology stack selection process at private sector organisations with multiple development teams that perform in-house development. As well as identifying scenarios where it is reasonable to choose similar technology stacks for different development teams, and scenarios where it is reasonable to select different technology stacks for different development teams. The guidelines aim to help organisations evaluate different solutions and help organisations decide whether it is worth it to choose different technology stacks for different development teams. The guidelines provide the essential steps of technology stack selection, control questions that can be used to evaluate whether a given technology stack would work for an organisation, as well as scenarios where it is reasonable to select similar or different technology stacks for multiple development teams. The guidelines are developed using Design Science Research and semi-structured interviews with software developers, software architects and managers at Husqvarna and other organisations that agreed to participate. The interviews were analysed using thematic content analysis to develop a draft of the guidelines, which was then attached to a survey that was sent out to gather feedback which helped further improve the guidelines and validate that they apply to a broad audience. This thesis does not cover technological aspects of technology stack selection, such as performance or efficiency, nor does it cover programs or tools used to aid the development, like integrated development environments (IDE:s), code-sharing software or team communication tools.

  AT THIS PAGE YOU CAN DOWNLOAD THE WHOLE ESSAY. (follow the link to the next page)