Good Practices for Customer Collaboration in Agile Requirements Engineering and Software Architecture Design
No Thumbnail Available
URL
Journal Title
Journal ISSN
Volume Title
Perustieteiden korkeakoulu |
Master's thesis
Authors
Date
2024-06-17
Department
Major/Subject
Software and Service Engineering
Mcode
SCI3043
Degree programme
Master’s Programme in Computer, Communication and Information Sciences
Language
en
Pages
55 + 3
Series
Abstract
The interplay between customer collaboration and the practices of requirements engineering (RE) and software architecture design (SAD) is critical yet challenging. The motivation for this study arises from the need to understand and improve the ways in which practitioners integrate customer collaboration into the agile development process, an area that is increasingly vital as software development becomes more customer- centric. The goal of this thesis was to investigate current customer collaboration practices in agile software development, identify the challenges from RE and SAD perspectives, and explore how good RE practices can address these challenges. The research was conducted through a literature review and an empirical qualitative research consisting of in-depth semi-structured interviews with professionals in the field. The empirical study uncovered that while agile methodologies advocate for intensive customer collaboration, the reality often deviates from this ideal. The main findings highlight the criticality of clear communication, the impacts of customer availability and competence on collaboration, and the adaptation required to accommodate frequent requirement changes within contractual constraints. The most important conclusion drawn from this study is the necessity of enhancing communication and establishing practices that can navigate the complexities of customer collaboration in Agile settings. By focusing on strategic project planning and clear communication, Agile teams can enhance customer collaboration. Key improvements like establishing clear epics and milestones, along with regular strategic reviews, ensure that projects stay aligned with customer objectives. Leveraging experienced Product Owners and promoting increased transparency, particularly in communication and collaboration, can bridge the gap between customer expectations and project delivery, allowing agile teams to better integrate customer perspectives and address the evolving nature of software projects. Although RE practices for customer collaboration are well-established, SAD presents complex challenges that are not as clearly addressed in current literature or practice. This gap signals a need for further research into SAD.Asiakasyhteistyön, vaatimusmäärittelyn, sekä ohjelmistoarkkitehtuurisuunnittelun keskinäinen vuorovaikutus on kriittinen, mutta todellisuudessa haastavaa. Tämän tutkimuksen motivaatio syntyy tarpeesta ymmärtää ja parantaa tapoja, joilla alan ammattilaiset integroivat asiakasyhteistyötä ketteriin kehitysprosesseihin. Diplomityön tavoitteena oli tutkia nykyisiä asiakasyhteistyökäytäntöjä ketterässä ohjelmistokehityk- sessä, tunnistaa haasteet vaatimusmäärittelyn ja arkkitehtuurisuunnittelun näkökulmista, ja tutkia miten hyvät vaatimusmäärittelykäytännöt voivat ratkaista näitä haasteita. Tutkimus suoritettiin kirjallisuuskatsauksen ja empiirisen laadullisen tutkimuksen kautta, joka koostui syvällisistä puolistrukturoiduista haastatteluista alalla toimivien ammattilaisten kanssa. Empiirinen tutkimus paljasti, että vaikka ketterät metodologiat kannustavat intensiiviseen asiakasyhteistyöhön, todellisuus poikkeaa usein tästä ihan- nekuvasta. Tärkeimmät löydökset korostavat selkeän viestinnän kriittisyyttä, asiakkaan saatavuuden ja osaamisen vaikutusta yhteistyöhön sekä mukautumistarvetta usein muuttuvien vaatimusten sisällyttämiseksi sopimuksellisiin rajoitteisiin. Tutkimuksesta saatujen tärkeimpien johtopäätösten mukaan on välttämätöntä parantaa viestintää ja kehittää käytäntöjä, jotka voivat navigoida asiakasyhteistyön monimutkaisuuksien läpi ketterässä ympäristössä. Keskittymällä strategiseen projektisuunnitteluun ja selkeään viestintään ketterät tiimit voivat parantaa asiakasyhteistyötä. Tärkeät ehdotetut parannukset, kuten selkeiden epikkien (eng. Epic) ja virstanpylväiden (eng. Milestones) määrittäminen sekä säännölliset strategiset arvioinnit, varmistavat, että projektit pysyvät linjassa asiakkaan tavoitteiden kanssa. Kokeneiden tuoteomistajien hyödyntäminen ja lisääntyvän läpinäkyvyyden edistäminen erityisesti viestinnässä ja yhteistyössä voivat siloittaa kuilua asiakkaan odotusten ja projektin toimituksen välillä, mahdollistaen asiakasnäkemysten paremman integroinnin ja muuttuvien vaatimuksien hallintaa. Vaikka vaatimusmäärittelyn käytännöt asiakasyhteistyössä ovat laajasti tunnettuja, ohjelmistoarkkitehtuurin suunnittelussa piilee omia haasteita, joita ei nykykirjallisuudessa tai empiirisessä tutkimuksessa ole yhtä selkeästi käsitelty. Tämä tiedon puute kuvastaa tarvetta lisätutkimuksille ohjelmistoarkkitehtuurisuunnittelun alueella asiakasyhteistyön näkökulmasta.Description
Supervisor
Kauppinen, MarjoThesis advisor
Kauppinen, MarjoKeywords
agile, requirement engineering, software architecture design, customer collaboration