Primena na kanban metodologijata i nejzinite efekti kaj timovite za razvoj na softver
Универзитет „Гоце Делчев“ - Штип
Факултет за информатика
Магистерски труд на тема:
Примена на Канбан методологијата и нејзините ефекти кај тимовите
за развој на софтвер
Ментор:
Изработил:
Проф. д-р Сашо Коцески
Невенка Кировска
Број на индекс: 21081
Штип, 2015
2
Содржина:
Агилни методи за развој на софтвер ....................................................... 11
Почетоци на развојот на агилните методи ....................................... 11
Видови на агилни методи ................................................................... 12
Екстремно програмирање ............................................................ 13
Adaptive Software Development (ASD) ......................................... 21
Метод на динамички развој на систем (DSDM) .......................... 24
Feature Driven Development (FDD)............................................... 27
Основи на Канбан методологијата ................................................................. 30
Поим за Push и Pull системи ..................................................................... 35
Разлика меѓу Push и Pull системи ...................................................... 35
Предности на Pull системите наспроти Push системите .................. 36
Поим за систем со ред за чекање (single queuing system) ............... 38
Законот на Little (Little’s law) ............................................................... 40

4
Апстракт
Во секојдневниот живот се среќаваме и користиме голем број на уреди
кои, покрај нивната физичка компонента, неминовно имаат и софтверска
компонента. Овие уреди се најразлични, од персонални компјутери, мобилни
телефони, таблети па сè до најразлични производствени машини. Развивањето
на еден софтверски продукт не претставува само пишување на код и негово
одржување. Овде станува збор за еден структуриран и планиран процес кој
опфаќа повеќе фази. За реализирање на овој циклус на софтверскиот продукт
постојат повеќе методи и техники, секоја со свои предности и недостатоци за
даден конкретен проект. Овие методи неминовно се менуваат со цел
подобрување на ефикасноста и ефективноста на самиот процес за развој на
софтвер. Поаѓајќи од традиционалните модели, па сè до агилните методи за
развој на софтвер, увидени се потребите за сè поподробно истражување и
подобрување на овие методи со оглед на нивното влијание врз целокупната
успешност на развојот на еден софтверски продукт.
Канбан претставува нова техника за управување, односно контрола на
процесот за развој на софтвер. Првенствено, оваа техника најпрвин се
употребила во Јапонија и тоа во производството. Оваа методологија применета
во областа на софтверски развој е сè уште млада, меѓутоа, во светски рамки
веќе е докажана како успешна практика со низа успешни софтверски проекти.
Целта на магистерската тема е претставување на Канбан методологијата
и нејзина практична примена во процесот на развој и управување со
софтверските проекти преку креирање на Канбан веб апликација. Популарноста
на веб апликациите доаѓа од многубројните предности кои тие ги нудат. Една од
најголемите предности е тоа што овозможуваат интеракција на луѓето без
потреба за физичка средба, а ова е особено значајно кога самите лица кои
работат на некој проект се географски дистрибуирани на големи растојанија.
Друга значајна предност на веб апликацијата е тоа што не е потребно нејзино
инсталирање локално на компјутерот. Членовите од тимот за развој на софтвер
и пристапуваат од каде било и во кое било време. Сите податоци од
апликацијата се наоѓаат онлајн и им се достапни на сите лица од тимот. Оваа
Канбан веб апликација ќе се тестира и искористи практично од страна на
5
конкретен тим за развој на софтвер за даден софтверски проект. Резултатите од
истата ќе се евалуираат и ќе се споредуваат со оние од останатите методологии
за развој на софтвер. Целта е да се прикаже нејзината ефикасноста,
ефективност, заштедата на време и ресурси итн.
Abstract
In our everyday life we encounter and use a range of devices that despite of
their physical component also have a software component. These devices are all
different varying from personal computers, mobile phones, tablets to various
production machines. The development of one software product is not just writing code
and take care of its maintenance. This is about a structured and planned process
involving several stages. For realization of the cycled software product there are
several methods and techniques, each with its own advantages and disadvantages
for a particular project. These methods are changing inevitably in order to improve the
efficiency and effectiveness of the software development process. Starting from the
traditional models to the agile methods of software development, having in mind of
their overall success of the software product development, different demands for
detailed research and improvement were encountered.
Kanban is a new technique for management respectively a control of the
software development process. Primarily this technique is first used in Japan and in a
production environment. This methodology applied in the field of software
development is still young, but in world frames it is already proven as a successful
practice with a series of successful software products.
The purpose of the thesis is to present the Kanban methodology and its
practical application in the development and management of software projects by
creating a Kanban web application. The popularity of web applications comes from the
many advantages they offer. One of the biggest advantages is that it enables human
interactions without the need for a physical meeting and this is particularly important
when the people working on a project are geographically far from each other. Another
important advantage of a web application is
that we don’t have to install it locally on a
computer. The members of one software development team can access the
application from anywhere at any time. All data application are online and the team

7
сè она што не дава вредност за корисникот. Тука припаѓаат: нецелосно
завршената работа, дополнителните процеси и особини, промената на
работните задачи и дефектите [22].
Еден од начините на извршување на овој Lean концепт е Канбан кој веќе
една декада успешно се користи во производствената компанија Тојота [17].
Почеста е и употребата на Канбан како додаток на Lean концептот и агилниот
софтверски развој. Она што е од особено значење е сè поголемата популарност
на Канбан во развојот на софтвер. Од аспект на развој на софтвер, почетоците
на Канбан датираат од David J. Anderson [28] кој е главниот виновник за
софтверска Канбан промоција. Во 2004 година Anderson [28] беше повикан во
еден мал ИТ тим на Microsoft за да му помогне на тимот за визуелизација на
работниот тек и ограничување на работата во тек. Целта за претставување на
видливоста и ограничувањето на работата во тек е во контекст на
идентификување на ограничувањата на даден процес со акцент на една задача
во даден момент. Оваа техника го поддржува pull
3
пристапот. За разлика од овој
пристап, во традиционалниот развој на софтвер се користи push
4
пристапот. Кај
овој традиционален пристап работните задачи се „втурнуваат“ кон инженерите
со инструкции за побрзо извршување на што е можно поголем број од задачите.
Овој развој на софтвер потсетува на еден синџир каде работната задача од еден
член на тимот се дава на друг на пример од програмер на тестер. Ова
предизвикува застои во целокупниот процес кога некој од членовите е претрупан
со многу работа или пак има проблем со работната задача. Она што Канбан го
прави во овој случај е токму алтернативен начин на традиционалниот. Наместо
„втурнување“ на работни задачи, истите се „повлекуваат“, а со тоа секој член од
тимот работи на една задача во тековен момент. Кога доделената задача е
завршена, членот од тимот автоматски ја „повлекува“ наредната задача.
Според студијата на Ahmad et al. [26], спроведена за подобрување на
конкурентната позиција на финскиот софтвер во однос на глобалниот пазар,
развиени се нови бизнис cloud модели, Lean софтверски модел и отворена
софтверска cloud инфраструктура. Причина за нивната студија е недостатокот
3
Подетално опишан во секцијата 3.4
4
Подетално опишан во секцијата 3.4
Ovaj materijal je namenjen za učenje i pripremu, ne za predaju.
Slični dokumenti