Software Engineering Methods for Cross-Team Projects with Multi-Project Teams

No Thumbnail Available

URL

Journal Title

Journal ISSN

Volume Title

Perustieteiden korkeakoulu | Master's thesis

Date

2024-03-11

Department

Major/Subject

Software and Service Engineering

Mcode

SCI3043

Degree programme

Master’s Programme in Computer, Communication and Information Sciences

Language

en

Pages

48+2

Series

Abstract

Many software engineering methods exist for different types of projects and team structures. However, in organizations where cross-team projects are common, and each person in a team is involved in multiple projects, existing software engineering methods are difficult to apply. Projects with several teams, services, and technologies often also have a complex software architecture, which can be challenging to manage and coordinate. The goal of the thesis was to find software engineering frameworks or practices that can be used for projects at CSC - IT Center for Science Ltd. In the case project in this thesis, a new feature was implemented for the web interface for the LUMI supercomputer. Implementing the feature required changes in the services of three different teams with a wide variety of technologies used. Canonical Action Research was used to identify issues in the existing processes, test potential solutions in the case project, and evaluate the result. In the literature review, no existing software engineering frameworks that directly could be applied in the case organization were found. Instead, certain software engineering practices were selected from commonly used software engineering frameworks and previous research. The software engineering practices evaluated focused mainly on improving communication and coordination between the teams. The findings of the thesis, based on the case project, indicate that communication practices are important in software engineering. Good communication channels were beneficial for synchronizing activities and progress within the project. For communicating software architecture, diagrams made discussing technical details about the services and their interactions significantly easier. A coordinator role in the team was used to better help synchronize knowledge and activities between the teams.

Flera metoder för mjukvarutveckling existerar för olika sorters projekt och struktur av team. I organisationer med project som involverar flera team och varje person i teamet jobbar på flera project kan det vara svårt att använda de mest använda mjukvaruutvecklingsmetoderna. Projekt med flera team, tjänster och teknologier har ofta en komplicerad mjukvaruarkitektur, vilket kan vara svårt att hantera och koordinera. Målet med diplomarbetet var att hitta mjukvaruutvecklingsmetoder som kan användas för projekt vid CSC. I projektet i detta arbete implementerades en ny funktionalitet i det webb-baserade användargränssnittet för LUMI superdatorn. Implementeringen av funktionaliteten krävde ändringar i tre olika teams tjänster med flera olika teknologier. Som forskningsmetod användes Canonical Action Research för att upptäcka problem i de nuvarande processerna, prova möjliga lösningar, och analysera resultatet. I litteraturstudien hittades inga existerande mjukvaruutvecklingsramverk som direkt kunde appliceras inom organisationen. Istället valdes metoder or praxisar ut från vanligen använda mjukvaruutvecklingsramverk och tidigare forskning. Metoderna som evaluerades fokuserade främst på att förbättra kommunikation och koordination mellan teamen. Forskningsresultaten baserade på projektet tyder på att kommunikationsmetoder är viktiga inom mjukvaruutveckling. Bra kommunikationskanaler var nyttiga för att koordinera uppgifter och framsteg inom projektet. För att bättre kunna diskutera mjukvaruarkitekturen användes arkitekturdiagram, vilket främjade diskussion kring tekniska detaljer om tjänsterna och deras växelverkan. Inom projektet agerade en person som koordinator för att bättre koordinera både kunskap och aktiviteter mellan teamen.

Description

Supervisor

Haaranen, Lassi

Thesis advisor

Ilvonen, Sami

Keywords

software processes, multi-project teams, cross-team projects, software architecture models, C4 model

Other note

Citation