Универзитет „Гоце Делчев“ - Штип 

Факултет за информатика

 

 

 

 

 

Магистерски труд  на тема: 

Примена на Канбан методологијата и нејзините ефекти кај тимовите 

за развој на софтвер 

 

 

 

Ментор: 

 

 

 

 

 

 

Изработил:  

Проф. д-р Сашо Коцески  

 

 

 

Невенка Кировска 

 

 

 

 

 

 

 

 

Број на индекс: 21081 

 

Штип, 2015 

 

Содржина: 

Апстракт .................................................................................................................... 4

 

Abstract ...................................................................................................................... 5

 

1.

 

Вовед .................................................................................................................. 6

 

2.

 

Методи за развој на софтвер ........................................................................... 9

 

2.1

 

Модел на водопад ....................................................................................... 9

 

2.2

 

Агилни методи за развој на софтвер ....................................................... 11

 

2.2.1

 

Почетоци на развојот на агилните методи ....................................... 11

 

2.2.2

 

Видови на агилни методи ................................................................... 12

 

2.2.2.1

 

Екстремно програмирање ............................................................ 13

 

2.2.2.2

 

Scrum ............................................................................................. 16

 

2.2.2.3

 

Crystal ............................................................................................ 19

 

2.2.2.4

 

Adaptive Software Development (ASD) ......................................... 21

 

2.2.2.5

 

Метод на динамички развој на систем (DSDM) .......................... 24

 

2.2.2.6

 

Feature Driven Development (FDD)............................................... 27

 

3

 

Основи на Канбан методологијата ................................................................. 30

 

3.1

 

Lean 

концепт .............................................................................................. 30

 

3.2

 

Поим за Канбан ......................................................................................... 31

 

3.3

 

Историски развој ....................................................................................... 32

 

3.3.1

 

Канбан во TPS ..................................................................................... 33

 

3.4

 

Поим за Push и Pull системи ..................................................................... 35

 

3.4.1

 

Разлика меѓу Push и Pull системи ...................................................... 35

 

3.4.2

 

Предности на Pull системите наспроти Push системите .................. 36

 

3.5

 

Теорија за редови...................................................................................... 37

 

3.5.1

 

Поим за систем со ред за чекање (single queuing system) ............... 38

 

3.5.2

 

Законот на Little (Little’s law) ............................................................... 40

 

3.6

 

Канбан метрика ......................................................................................... 44

 

background image

 

Апстракт 

Во  секојдневниот  живот  се  среќаваме  и  користиме  голем  број  на  уреди 

кои,  покрај  нивната  физичка  компонента,  неминовно  имаат  и  софтверска 

компонента.  Овие  уреди  се  најразлични,  од  персонални  компјутери,  мобилни 

телефони, таблети па сè до најразлични производствени машини. Развивањето 

на  еден  софтверски  продукт  не  претставува  само  пишување  на  код  и  негово 

одржување.  Овде  станува  збор  за  еден  структуриран  и  планиран  процес  кој 

опфаќа повеќе фази. За реализирање на овој циклус на софтверскиот продукт 

постојат  повеќе  методи  и  техники,  секоја со  свои  предности  и  недостатоци  за 

даден  конкретен  проект.  Овие  методи  неминовно  се  менуваат  со  цел 

подобрување  на  ефикасноста  и  ефективноста  на  самиот  процес  за  развој  на 

софтвер.  Поаѓајќи  од  традиционалните  модели,  па  сè  до  агилните  методи  за 

развој  на  софтвер,  увидени  се  потребите  за  сè  поподробно  истражување  и 

подобрување  на  овие  методи  со  оглед  на  нивното  влијание  врз  целокупната 

успешност на развојот на еден софтверски продукт. 

Канбан  претставува  нова  техника  за  управување,  односно  контрола  на 

процесот  за  развој  на  софтвер.  Првенствено,  оваа  техника  најпрвин  се 

употребила во Јапонија и тоа во производството. Оваа методологија применета 

во  областа  на  софтверски  развој е  сè  уште  млада,  меѓутоа,  во  светски  рамки 

веќе е докажана како успешна практика со низа успешни софтверски проекти. 

Целта на магистерската тема е претставување на Канбан методологијата 

и  нејзина  практична  примена  во  процесот  на  развој  и  управување  со 

софтверските проекти преку креирање на Канбан веб апликација. Популарноста 

на веб апликациите доаѓа од многубројните предности кои тие ги нудат. Една од 

најголемите  предности  е  тоа  што  овозможуваат  интеракција  на  луѓето  без 

потреба  за  физичка  средба,  а  ова  е  особено  значајно  кога  самите  лица  кои 

работат  на  некој  проект  се  географски  дистрибуирани  на  големи  растојанија. 

Друга значајна предност на веб апликацијата е тоа што не е потребно нејзино 

инсталирање локално на компјутерот. Членовите од тимот за развој на софтвер 

и  пристапуваат  од  каде  било  и  во  кое  било  време.  Сите  податоци  од 

апликацијата се наоѓаат онлајн и им се достапни на сите лица од тимот. Оваа 

Канбан  веб  апликација  ќе  се  тестира  и  искористи  практично  од  страна  на 

 

конкретен тим за развој на софтвер за даден софтверски проект. Резултатите од 

истата ќе се евалуираат и ќе се споредуваат со оние од останатите методологии 

за  развој  на  софтвер.  Целта  е  да  се  прикаже  нејзината  ефикасноста, 

ефективност, заштедата на време и ресурси итн. 

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 

background image

 

сè  она  што  не  дава  вредност  за  корисникот.  Тука  припаѓаат:  нецелосно 

завршената  работа,  дополнителните  процеси  и  особини,  промената  на 

работните задачи и дефектите [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 

Želiš da pročitaš svih 87 strana?

Prijavi se i preuzmi ceo dokument.

Ovaj materijal je namenjen za učenje i pripremu, ne za predaju.

Slični dokumenti