Improving Requirements Engineering and Usability Testing Practices for Agile SaaS Development

Loading...
Thumbnail Image

URL

Journal Title

Journal ISSN

Volume Title

Perustieteiden korkeakoulu | Master's thesis

Date

2017-06-12

Department

Major/Subject

Software and Service Engineering

Mcode

SCI3043

Degree programme

Master’s Programme in Computer, Communication and Information Sciences

Language

en

Pages

95

Series

Abstract

Both requirements engineering and usability testing practices are well documented in the literature, but implementing them in real life as a part of agile software development is not self-evident.  The situation gets even more complicated when the customer base of the product is diverse. This thesis seeks solutions for research problem of how requirements can be defined and managed in a SaaS (Software as a Service) product that has multiple customer segments. The goal for the literature review was to find good practices for requirements engineering and usability testing that could be implemented to the development of the target product. Empirical study was done by using insider action research method. Several of the suggested good practices and activities were tried out and the results analysed. The empirical study begun with customer segmentation during the current state analysis. It was used as a basis during the rest of the project. Four separate customer collaboration methods were tested: survey, interviewing, observing and user testing. The survey was a very good method for getting large amount of both qualitative and quantitative data about the usability and requirements of the target product. Interviewing and user testing gave more insights to workflows and business models of the customers. Furthermore, they revealed some missing features and usability issues about the product. Observing gave some insight about the customer’s use of the software but it did not seem to be as informative than expected. Important success factor for this project was to assign a dedicated person inside the company who is responsible for requirements management and usability - the product owner. That change enabled implementing the use of scrum in the development of the target software.  Conclusion is that the complex customer base of the product can be analysed and managed by creating a customer segmentation and to use it as a basis for all the requirements engineering and usability testing practices. The product owner can facilitate these activities and it is advisable to use multiple customer collaboration methods to gain as thorough big picture as possible.

Sekä vaatimusmäärittely että käytettävyystestaus on hyvin määritelty ja dokumentoitu kirjallisuudessa, mutta niiden soveltaminen ketterään tuotekehitykseen ei ole itsestään selvää. Tilanne muuttuu entistä haastavammaksi, kun tuotteen asiakaskunta sisältää monipuolisen kirjon eri tyyppisiä organisaatioita. Tämä diplomityö etsii ratkaisuja tutkimusongelmaan “kuinka vaatimuksia voidaan määritellä ja hallita SaaS-tuotteessa (Software as a Service), jolla on monia eri asiakassegmentteja”. Kirjallisuuskatsauksen tavoite oli löytää hyviä käytäntöjä kohdetuotteen vaatimusmäärittelyyn ja käytettävyystestaukseen. Empiirinen osa toteutettiin toimintatutkimuksena, jonka toteuttaja oli tämän työn tekijä. Useita ehdotettuja hyviä toimintatapoja ja menetelmiä kokeiltiin käytäntöön työn aikana ja saadut tulokset analysoitiin. Empiirinen tutkimus aloitettiin luomalla asiakassegmentointi osana lähtötilan analyysia. Koko loppuprojekti suunniteltiin tämän tiedon pohjalta. Neljää eri menetelmää asiakasyhteistyöhön kokeiltiin: kysely, haastattelu, havainnointi ja käytettävyystestaus. Kyselystä saatiin suuri määrä sekä kvalitatiivista että kvantitatiivista tietoa käytettävyydestä ja tuotteen vaatimuksista. Haastattelu ja käytettävyystestaus tuottivat lisätietoa kohdeasiakkaiden työprosesseista ja organisaatioiden toiminnasta. Näiden menetelmien käyttö toi esiin myös puuttuvia ominaisuuksia ja käytettävyyshavaintoja. Havainnointi antoi lisätietoa asiakkaan ohjelmiston käytöstä, mutta se ei vaikuttanut niin hyödylliseltä menetelmältä kuin kirjallisuuden perusteella odotettiin. Kohdeorganisaatiossa otettiin tuoteomistaja-rooli käyttöön täysipainoisesti, jonka vastuulla on vaatimusmäärittely- ja käytettävyystestausprosessit. Tämä muutos myös mahdollisti scrumin täysipainoisen käyttöönoton kehitysprosessiksi. Työn johtopäätös on, että asiakassegmentointi voi auttaa tuotteen monipuolisen asiakaskunnan jäsentelyssä ja sitä pystyy myös käyttämään hyväksi vaatimusmäärittelyn ja käytettävyystestauksen menetelmiä käytettäessä. Tuoteomistaja on vastuussa näiden menetelmien käytöstä ja hänen kannattaa käyttää useita eri asiakasyhteistyön menetelmiä, jotta hän saavuttaa mahdollisimman hyvän kokonaiskuvan tuotteesta ja siihen liittyvistä vaatimuksista.

Description

Supervisor

Kauppinen, Marjo

Thesis advisor

Gauriloff, Niila

Keywords

requirements engineering, SaaS, customer segmentation, usability testing, usability, agile

Other note

Citation