Agile metodų taikymas programinės įrangos kūrime
Laugalys, Tautvydas |
Šiame magistro baigiamajame darbe aptariama Agile metodika ir jos kokybiškos programinės įrangos kūrimas. Šio darbo tikslas - išsiaiškinti, kokią įtaką Agile metodai turi programinės įrangos kūrimui. Tam tikslui siekiama išnagrinėti Agile principus ir jų praktinį panaudojimą. Siekiama taip pat išanalizuoti Agile metodologijos naudojimą vystymosi kreivės kontekste. Taip pat apžvelgiami ir palyginami lanksčiojo programavimo metodai: Lean Software Development, XP, Scrum, Crystal ir Kanban. Palyginamos taip pat projektų valdymo aplinkos: Jira ir Trac. Siekiant įvertinti Agile programavimo metodų naudą programinės įrangos kūrimui, pasirinktas atvejo studijos kokybinis tyrimo metodas. Duomenys renkami ir analizuojami pasitelkus: duomenų analizės, kasdienį stebėjimo metodus, apklausą bei interviu. Išanalizavus Agile naudojamus metodus paaiškėjo, kad daugiausiai dėmesio vartotojui/klientui skiriama Agile Scrum, XP bei Kanban metoduose. Kintant vartotojų reikalavimams Agile metodika lengviausiai padeda išspręsti pakitusių reikalivimų situaciją. Dideliems, sudėtingiems projektams geriausiai tinka klasikiniai metodai, o nedideliems geriausiai tinka Agile metodika. Iš apklausos ir interviu rezultatų galima teigti, kad daugiausiai PĮ kuriančios organizacijos vadovaujasi Agile Scrum, Kanban metodais. Dažniausiai naudojama projektų aplinka: Jira, Trac. Studijų metais išklausyti projektų vykdymo metodai ir programų kūrimo aplinka nesutampa su praktikoje naudojamais metodais. Agile tinka dirbti ne daugiau kaip su 3 projektais vienu metu. Agile metodikos dėka procesas stebimas, kontroliuojamas, didesnė komandos koncentracija.
The aim of this work is (1) to examine the impact of Agile methods on software development, and (2) to examine the use of Agile methodologies in the context of the development curve. In this work Agile methodology for, and principles and practices in the completion of a high-quality software development projects are studied. The methods studied include: Lean Software Development, XP, Scrum, Crystal and Kanban. The project management environments reviewed include Jira and Tracy. In this work a case study research method is used to evaluate the benefits of flexible programming methods of software development. Data collection methods included participant observation, internet survey, and interviews. Analysis of Agile methods show that Agile Scrum, XP, and Kanban methods take the most care about consumer / customer. Agile methodology helps to solve problems with changing consumer requirements. For large, complex projects is better to use classical methods, for small-scale projects – Agile methodologies. Results of survey and interviews show that software developing organization usually use Agile Scrum, Kanban methods. They are used with project environments: Jira, Trac. At university studied project development methods and development environments usually are different from these, which are used in practice. It is recommended to use Agile methods for work with no more than three projects at once. Agile methodologies allow to monitore and controll the process of project development. Agile developers command work on higher level and create more flexible products.