Development and evaluation of a lightweight root cause analysis method in software project retrospectives

Loading...
Thumbnail Image
Journal Title
Journal ISSN
Volume Title
School of Science | Doctoral thesis (article-based) | Defence date: 2014-12-19
Checking the digitized thesis and permission for publishing
Instructions for the author
Date
2014
Major/Subject
Mcode
Degree programme
Language
en
Pages
91 + app. 111
Series
Aalto University publication series DOCTORAL DISSERTATIONS, 159/2014
Abstract
Software projects are famous for their problems. The most common problems include low software quality and schedule and cost overruns. According to the theory of causality, prob-lems escalate from the causal relationships of mutually exclusive events. The consequences of the problems motivate software companies to improve their work practices. Improvement of work practices is based on the detection of occurred problems and the ana-lyses of their underlying causes. "Retrospective" is a term that refers to post-project activities where the occurred problems are considered in order to make improvements. Software project retrospectives include the detection of the occurred problems, reasoning their causes, and developing corrective actions. There are many retrospective methods that follow these three phases. Root cause analysis (RCA) is a structured investigation of problems to detect their under-lying causes. This dissertation considers the applicability of RCA in the retrospectives of small- and medium-sized software product organizations. The research focuses on three research problems. The first problem is to explain how to conduct RCA in collocated and distributed software project retrospectives. The second problem is to study whether RCA is perceived as efficient and easy to use. The third problem is to consider whether the outcome of RCA indica-tes how the causes of project failures are interconnected. In this dissertation, an RCA method (ARCA) is developed. Thereafter, it is evaluated in a to-tal of six industrial cases and in one controlled student experiment. Additionally, a software tool, called ARCA-tool, for improving the ARCA method is developed. The tool is evaluated in two industrial cases. The ARCA method includes four steps: target problem detection, root cause detection, corrective action innovation, and documentation of results. It requires ap-proximately five hours of team work. A total of 97 participants evaluated the ARCA method and it was used in a total of 19 software project retrospectives. One of the key contributions of this dissertation is the ARCA method, which is applicable to collocated and distributed retrospectives with the assistance of ARCA-tool. Another key cont-ribution is the empirical evaluation of the ARCA method. The method is perceived as useful, easy to use, and cost-efficient for detecting the causes of software project problems and deve-loping corrective actions. Furthermore, the method helps to understand what happened, whe-re it happened, and why it happened. It reveals interconnections between software process areas, which is important for process-improvement activities.

Ohjelmistoprojektit ovat kuuluisia ongelmistaan. Yleisimpiä ongelmia ovat tuotoksien heikko laatu, pitkittyneet toimitusajat, sekä ylittyneet kustannukset. Kausaalisuusteorian mukaan ongelmat muodostuvat toisensa poissulkevien tapahtumien välisistä kausaalisista suhteista. Ongelmien seuraukset motivoivat ohjelmistoyrityksiä kehittämään toimintatapojaan. Toimintatapojen kehittäminen perustuu tapahtuneiden ongelmien tunnistamiseen sekä niiden perimmäisten syiden tulkintaan. "Retrospektiivi" on termi, jolla viitataan projektin jäl-keiseen aktiviteettiin, joka tähtää toiminnan kehittämiseen reflektoimalla toiminnassa ilmen-neitä ongelmia. Ohjelmistoprojektien retrospektiivit sisältävät kolme vaihetta: ongelmien tun-nistaminen ja niiden syiden tulkinta, sekä ratkaisuideoiden kehittäminen. Useat retrospektii-vimenetelmät seuraavat näitä vaiheita. Juurisyyanalyysi (RCA) on rakenteellinen tapa tunnistaa ongelmien taustalla piileviä syitä. Tässä väitöskirjassa tutkitaan RCA:n soveltuvuutta pienten ja keskisuurten ohjelmistotuote-organisaatioiden retrospektiiveihin. Työ tarkastelee kolmea tutkimusongelmaa. Ensimmäise-nä pyritään ymmärtämään miten RCA:ta voidaan käyttää kasvotusten tapahtuvissa että fyysi-sesti hajautetuissa retrospektiiveissä. Toisena ongelmana on tutkia koetaanko RCA tehokkaak-si ja helppokäyttöiseksi lähestymistavaksi. Kolmas ongelma pohtii indikoiko RCA:n tuottama informaatio kuinka epäonnistuneen projektin aiheuttajat liittyvät toisiinsa. Työssä kehitetään RCA-menetelmä (ARCA), jota evaluoidaan kuuden teollisen tutkimuksen sekä yhden kontrolloidun opiskelijakokeen avulla. Työssä kehitetään myös ohjelmistotyökalu (ARCA – työkalu) tehostamaan ARCA – menetelmää, jota evaluoidaan kahdessa teollisessa tutkimuksessa. Menetelmä sisältää neljä vaihetta: kohdeongelman tunnistaminen, juurisyiden tunnistaminen, korjaavien toimenpiteiden kehittäminen, sekä tuloksien dokumentointi. Sen soveltaminen vaatii noin viisi tuntia ryhmätyötä. Yhteensä 97 osallistujaa arvioi menetelmää ja sitä sovellettiin 19 ohjelmistoprojektin retrospektiivissä. Eräs työn tärkeimmistä kontribuutioista on ARCA-menetelmä, joka yhdessä ARCA – työkalun kanssa soveltuu sekä kasvotusten tapahtuvaan että hajautettuun retrospektiiviin. Toinen tär-keä kontribuutio on menetelmän empiirinen arviointi. ARCA koetaan hyödylliseksi, helppo-käyttöiseksi ja kustannustehokkaaksi tavaksi tunnistaa projektien ongelmien syitä sekä ke-hittää niihin ratkaisuideoita. Se auttaa ymmärtämään mitä tapahtui, sekä missä ja miksi tapah-tui. Se paljastaa prosessialueiden välisiä suhteita, joka on tärkeää prosessinkehitysaktivitee-teissa.
Description
Supervising professor
Lassenius, Casper, Prof., Aalto University, Department of Computer Science and Engineering, Finland
Thesis advisor
Mäntylä, Mika V., Prof., Aalto University, Department of Computer Science and Engineering, Finland
Itkonen, Juha, Postdoctoral researcher, Aalto University, Department of Computer Science and Engineering, Finland
Keywords
root cause analysis, software engineering, retrospective, software project failure, usefulness, cost-efficiency, ease of use, field study, case study, controlled experiment, design science, juurisyyanalyysi, ohjelmistotuotanto, retrospektiivi, ohjelmistoprojektin epäonnistuminen, hyödyllisyys, kustannustehokkuus, helppokäyttöisyys, kenttätutkimus, tapaustutkimus, kontrolloitukoe, suunnittelutiede
Other note
Parts
  • Timo O.A. Lehtinen, Mika V. Mäntylä and Jari Vanhanen. Development and evaluation of a lightweight root cause analysis method (ARCA method) – Field studies at four software companies. Journal of Information and Software Technology, Volume 53, Issue 10, October 2011, Pages 1045–1061.
    DOI: 10.1016/j.infsof.2011.05.005 View at publisher
  • Timo O.A. Lehtinen and Mika V. Mäntylä. What are problem causes of software projects? Data of root cause analysis at four software companies. In: Proceedings of International Symposium on Empirical Software Engineering and Measurement, 2011, Pages 388–391.
    DOI: 10.1109/ESEM.2011.55 View at publisher
  • Timo O.A. Lehtinen, Risto Virtanen, Juha O. Viljanen, Mika V. Mäntylä and Casper Lassenius. A tool supporting root cause analysis for synchronous retrospectives in distributed software teams. Journal of Information and Software Technology, Volume 56, Issue 4, April 2014, Pages 408–437.
    DOI: 10.1016/j.infsof.2014.01.004 View at publisher
  • Timo O.A. Lehtinen, Mika V. Mäntylä, Jari Vanhanen, Juha Itkonen and Casper Lassenius. Perceived causes of software project failures – An analysis of their relationships. Journal of Information and Software Technology, Volume 56, Issue 6, June 2014, Pages 623–643.
    DOI: 10.1016/j.infsof.2014.01.015 View at publisher
  • Timo O.A. Lehtinen, Mika V. Mäntylä, Juha Itkonen and Jari Vanhanen. An experimental comparison of using cause-effect diagrams and simple memos in software project retrospectives. Journal of Systems and Software (2014), 26 pages, in revision.
Citation