Estimoinnin hyödyllisyys ohjelmistoprojekteissa

Abstract

Estimointia eli työmääräarviota pidetään yleisesti olennaisena osana onnistunutta ketterää ohjelmistoprojektia. Agile-yhteisössä ja Helsingin yliopistossa tämän opinnäytetyön aikoihin suhteellista estimointia eli ominaisuuksien työmääräarvioiden vertailua toisiinsa pidettiin ”parhaana” estimointikäytänteenä. Internetissä on alettu viime aikoina keskustella suhteellisen estimointitavan ja yleisesti estimoinnin hyödyllisyydestä ohjelmistoprojekteissa avainsanalla ”NoEstimates”. NoEstimates-liike keskustelee siitä, onko estimointi aina välttämätöntä ja miten estimointi tulisi toteuttaa. Tämän opinnäytetyön tarkoituksena on löytää vastauksia kysymyksiin: onko estimointi aina välttämätöntä ohjelmistoprojekteissa ja onko muita varteenotettavia estimointimenetel- miä kuin suhteellinen ja absoluuttinen estimointi? Kirjallisuudesta ja NoEstimates-liikkeen blogeista ja keskusteluista pyrittiin löytämään estimointiin liittyviä kokemuksia, teorioita ja ideoita, joista pyrittiin saamaan lisätietoa haastattelututkimuksen avulla. Tutkimuksena tehtiin teemahaastattelu viidelle ohjelmistoalan ammattilaiselle. Tutkimuksella pyrittiin mm. kartoittamaan yrityksissä käytettäviä estimointimenetelmiä ja keräämään estimointikokemuksia ohjelmistoalan ammattilaisilta. Haastattelututkimuksen johtopäätökseksi saatiin, että estimointi on lähes aina oleellinen osa onnistunutta ohjelmistoprojektia. Suhteellista estimointimenetelmää käytetään harvoin ohjelmistoyrityksissä, vaikka menetelmää pidetään kirjallisuudessa tämän hetken ”parhaana” estimointikäytänteenä. Tutkimuksen perusteella yleisin käytössä oleva estimointitapa yrityksissä on absoluuttinen estimointi. Haastattelututkimuksessa keskustelua käytiin myös NoEstimates-liikkeen keskusteluissa esiintyneestä mutta vähemmän tunnetusta estimointimenetelmästä, jota tässä opinnäytetyössä kutsustaan ominaisuuksien lukumäärällä estimoimiseksi. Suhteellisen ja absoluuttisen estimointimenetelmän lisäksi, ominaisuuksien lukumäärällä estimointi vaikuttaa lupaavalta estimointimenetelmältä.Estimation is considered as an essential part of the software engineering project. Lately on the internet there have been discussions about the viability of estimation in software projects with a keyword ''NoEstimates''. The “members” of the NoEstimates movement are creating content about e.g., is estimation always necessary, and what is the “best practice” for estimation. At the time of this thesis relative estimation (Story Points) was considered as the best practice for estimation in the agile community and at the University of Helsinki. The aim of this thesis is to find answers to the questions: is estimation always necessary in software projects, and is there any other viable way to do estimation than relative and absolute estimation methods. In this thesis a literature review and a semi-structured interview was used as a main research methods. The main source for finding the new viable estimation method is the content made by the NoEstimates movement. In addition five software engineering professionals were interviewed for this thesis to get information about currently used estimation methods in software companies, and opinions about estimation methods and estimation in general. The conclusion of this study is that the estimation is almost always an essential part of the software engineering project. Relative estimation is rarely used in Finnish software companies even so it is considered as the best practice. According to this study, the most commonly used estimation method in software companies in Finland is absolute estimation. In this thesis there is an introduction to a rarely mentioned estimation method outside of the NoEstimation context. The method is named “item counting method” and it looks like to be at least a viable addition to the estimation toolbox

    Similar works