Teknisen velan viestinnän menetelmät organisaatiossa
Abstract
Hyvien ohjelmistokehityksen käytänteiden yhtenä tarkoituksena voidaan pitää pyrkimystä minimoida ohjelmiston jatkotyöstämiseen käytetty vaiva. Vaikka hyvien käytänteiden noudattaminen tuottaakin monia hyötyjä ohjelmiston elinkaaren edetessä, eivät nämä pitkäaikaiset seuraukset aina ole ilmeisiä. Monet ohjelmistokehitystyön ominaispiirteet, kuten kiireiset aikataulut ja kehitettävän ohjelmiston jatkuvasti muuttuvat vaatimukset, vaikeuttavatkin hyvien ohjelmistokehityksen käytänteiden noudattamista. Kun käytänteitä ei pystytä noudattamaan, tuotetaan ohjelmistokehitysprosessissa ratkaisuja, jotka voivat lyhyellä aikavälillä tuottaa hyötyä esimerkiksi ohjelmistokehitystyön nopeutumisena. Nämä hyödyt saavutetaan kuitenkin jättämällä jokin hyvien käytänteiden mukainen toimenpide toteuttamatta, jonka korvaava puutteellinen toteutus voi aiheuttaa pitkällä aikavälillä erilaisia ongelmia. Ennen kuin toteuttamatta jäänyt hyvien käytänteiden mukainen toimenpide on toteutettu, aiheuttaa puutteellinen ratkaisu ohjelmiston ikääntyessä jatkuvasti enemmän ongelmia. Lopputu-loksena voivat ohjelmiston ylläpito ja jatkokehitys muuttua ongelmien takia mahdottomaksi. Edellä kuvattua ilmiötä, jossa puutteellisilla kehitysratkaisuilla voidaan tuottaa lyhyen aikavälin hyötyä, joka myöhemmin joudutaan korjaamaan isommilla kustannuksilla, kutsutaan tekniseksi velaksi. Sekä tieteellinen yhteisö että ohjelmistoteollisuus tiedostavat teknisen velan hallitsemattoman kertymisen mittavaksi haasteeksi. Oikein hallinnoituna teknistä velkaa voidaan kuitenkin kerryttää myös hallitusti, jolloin ohjelmistokehitystyötä pystytään resursoimaan ja aikatauluttumaan tehokkaammin. Tämä voidaan toteuttaa va-litsemalla lyhyen aikavälin hyötyä tuottavat kohteet harkitusti niiden vaikutukset huomioiden ja huolehtimalla otetun velan takaisinmaksusta ennen sen tuottamien ongelmien kohtuutonta laajenemista. Ohjelmistoteollisuudessa ei kuitenkaan osata soveltaa teknisen velan hallinnoinnin menetelmiä ja työkaluja, minkä yhtenä syynä on teknistä velkaa koskevan viestinnän puute. Tämä tutkielma on kirjallisuuskatsaus, jossa käsitellään teknisen velan hallinnointia ja erityisesti sen viestinnän osa-aluetta. Tutkielmassa teknisen velan viestintää tarkastellaan ohjelmistokehitystä harjoittavan organisaation näkökulmasta. Viestintää toteuttavat organisaation toimijat jaotellaan vastuutahoihin heidän ohjelmistokehityksen työnkuviensa mukaisesti. Tutkielman tarkoituksena on selvittää, miten vastuutahot voivat toteuttaa keskenään teknisen velan viestintää. Tutkielman tuloksena on kooste teknisen velan viestintään käytettävistä menetelmistä ja työkaluista.
Software development best practices can be understood as working methods of which one aim is to minimize the effort needed to further develop the software. Although these practices provide many benefits as the software ages, these long-term benefits are not always obvious. Software development industry is characterized by many development hampering aspects, such as tight schedules and ever-changing requirements for the software-in-development, which can make the following of best practices extremely hard. In these cases, it is common to use sub-optimal solutions to quickly get the work done. These solutions may provide short-term benefits for the development process, such as increased productivity, but at the cost of missing the best practices solution. Sub-optimal solutions may cause otherwise avoidable problems in the continued development of the software. These problems cascade as time goes on until either the sub-optimal solution is replaced, or the software has become unmaintainable. This software development phenomenon is called technical debt. Technical debt management is recognized as one of the most critical challenges faced in software development. When technical debt is managed correctly it transforms from an issue into an effective tool, which can be used to resource and schedule development work more efficiently. Current software industry is unable to apply technical debt management methods and tools in a productive way. A central contributor in the current state of technical debt management is the lack of communication about technical debt. This systematic literature review is a study into technical debt management with a focus on technical debt communication, a sub-category of technical debt management. In this study, technical debt communication is researched from a point-of-view of the developer organization. Organization’s personnel practicing technical debt communication are categorized as stakeholders based on their professional roles. The goal of this study is to find out how different stakeholders practice technical debt communication. As a result, a summary of tools and methods used in technical debt communication is presented.
Software development best practices can be understood as working methods of which one aim is to minimize the effort needed to further develop the software. Although these practices provide many benefits as the software ages, these long-term benefits are not always obvious. Software development industry is characterized by many development hampering aspects, such as tight schedules and ever-changing requirements for the software-in-development, which can make the following of best practices extremely hard. In these cases, it is common to use sub-optimal solutions to quickly get the work done. These solutions may provide short-term benefits for the development process, such as increased productivity, but at the cost of missing the best practices solution. Sub-optimal solutions may cause otherwise avoidable problems in the continued development of the software. These problems cascade as time goes on until either the sub-optimal solution is replaced, or the software has become unmaintainable. This software development phenomenon is called technical debt. Technical debt management is recognized as one of the most critical challenges faced in software development. When technical debt is managed correctly it transforms from an issue into an effective tool, which can be used to resource and schedule development work more efficiently. Current software industry is unable to apply technical debt management methods and tools in a productive way. A central contributor in the current state of technical debt management is the lack of communication about technical debt. This systematic literature review is a study into technical debt management with a focus on technical debt communication, a sub-category of technical debt management. In this study, technical debt communication is researched from a point-of-view of the developer organization. Organization’s personnel practicing technical debt communication are categorized as stakeholders based on their professional roles. The goal of this study is to find out how different stakeholders practice technical debt communication. As a result, a summary of tools and methods used in technical debt communication is presented.
Main Author
Format
Theses
Bachelor thesis
Published
2022
Subjects
The permanent address of the publication
https://urn.fi/URN:NBN:fi:jyu-202212215784Use this for linking
Language
Finnish