а а Institute of Informatics and Software Engineering Faculty of Informatics and Information Technologies Slovak University of Technology in Bratislava vranic@fiit.stuba.sk http://fiit.stuba.sk/~vranic/ 1. април 2013. 1 / 26
Технологиjа а Технологиjа као поjам има материjалне конотациjе као да подразумева одговаруjће алате, уређаjе, апарате, машине и сл. Постоjе и ске технологиjе Гр. τ έχνη уметност, способност, вештина, занат Софтверске технологиjе су пре свега управо то 2 / 26
производња Масовна производња Специjализациjа рада Покретна трака а Ford assembly line, 1913. 1 1 http://en.wikipedia.org/wiki/file:ford_assembly_line_-_1913.jpg 3 / 26
Технологиjе у служби људи а Технологиjе омогућаваjу ефективниjи рад уз помоћ аутоматизациjе Али технологиjе треба да служе људима, не обрнуто живе и кроз рад Не треба заборављати на природне људске особине Непрестана потражња за новим и бољим производима захтева кретивност, а креативност jе немогуће аутоматизовати Организовано настоjање у сврху испуњења замисли проjекат 4 / 26
а Шта треба реализовати: спецификациjа (захтева) Како реализовати: дизаjн Сама реализациjа: имплементациjа (лат. implere испуњење) Између спецификациjе и дизаjна се често издваjа анализа Типичне фазе боље речено активности реализациjе ског проjекта (али важе и шире) 5 / 26
Друге активности у склопу реализациjе проjекта а После имплементациjе се као посебне активности издваjаjу и тестирање и интеграциjа Као последња активност се у ширем схватању реализациjе проjекта издваjа и одржавање Овде ћемо се задржати на поjедностављеном схватању реализациjе проjекта: спецификациjа дизаjн имплементациjа 6 / 26
Водопадни модел Идеализована представа: проjекат се прелиjе глатко кроз све активности а Ако процес и протекне глатко, клиjент наjчешће може да констатуjе да ниjе добио то што jе хтео У пракси се приликом анализе спецификациjе наилази на проблеме као што су: непотпуност или подспецификациjа (енгл. underspecification) неjеднозначност неконзистенциjа или противречност преспецификациjа (енгл. overspecification) 7 / 26
Непотпуност спецификациjе а Непотпуност jе често последица недоречености могуће jе исправити jе у сарадњи с клиjентом Спецификациjа бива непотпуна и с обзиром на то што ће клиjент хтети да добиjе на краjу То jе нешто друго у односу на то што jе клиjент хтео на почетку представе клиjента се мењаjу, а на то утиче и сам развоj а Каже се да клиjент не зна шта хоће Ово jе унутрашњи проблем спецификациjе као такве: ниjе могуће направити потпуну спецификациjу пре реализациjе 8 / 26
Итерациони и инкрементални процес а 9 / 26
Итерациjа и инкремент Итерациjа (лат. iterum поново) представља jедан прелаз приликом реализациjе проjекта Резултат итерациjе jе инкремент (нараст; lat. increscere нарасти) Пре сваке итерациjе jе прилика за промену захтева После сваке итерациjе настаjе одговараjући производ с тенденциjом да буде функционалан Клиjент по свакоj итерациjи види и евентуално може и да и испроба производ променом захтева управља његовим развоjем Квалитет реализациjе проjекта зависи наjвише од људи а 10 / 26
... а Праве грешке и уче на њима Тешко подносе монотони и jедноличан рад Радо раде на занимљивим стварима Схватаjу само термине коjи су довољно близу Прилагођаваjу се механизмима вредновања свог рада Треба им лични контакт и непосредна комуникациjа с другим људима Потребно им jе да виде резултате свог рада Не воле управљање споља 11 / 26
и проjекти а Класични приступ реализациjи проjеката или организованоj производњи не узима у обзир природне људске особине Или можда их ипак узима у обзир покушаваjући да их потисне и победи над њима Некад то и успе, али то jе Пирова победа: резултат jе група послушних али демотивисаних радника коjи су своj рад прилагодили начину вредновања То се зове менаџмент Да ли jе могуће ово избећи и из ових особина извући корист? 12 / 26
Скрам а Скрам () jе оквир (енгл. framework) за реализациjу проjеката Скрам ниjе (употпуњена) метода Гарантуjе ипак да ће се рад концентрисати на наjбитниjе ствари Произилази из природних људских особина 13 / 26
Улоге у Скраму а Team тим Master СкрамМастер Product owner власник производа 14 / 26
Власник производа а Власник производа заступа клиjенте и друге заинтересоване (енгл. stakeholders) Може да има своj сопствени тим Одговара за производ као такав и за повраћаj инвестициjа (енгл. return on investment, ROI) Интерпретира и обjашњава захтеве Одржава уређен списак неодрађеног посла на производу product backlog 15 / 26
Тим а Тим ствара производ Има 3 7 чланова Чланови немаjу стриктно диференциране обавезе Тим сам управља собом 16 / 26
Спринт Тим одређуjе колико посла ће узети у jедном спринту, коjи предтавља итерациjу Запис о овоме садржи списак неодрађеног посла у спринту sprint backlog: списак ставки одобраних са врха списка неодрађеног посла на производу расписаних у задатке (енгл. task) Оваj посао тим треба да заврши резултат jе увек потенциjално испоручив производ (обогаћен о инкремент у односу на претходни спринт) Спринт jе временски ограничен обично на 1 4 недеље треба га одрадити одређеном брзином (преспоро трчање престаjе да буде трчање) Али тим ради у нормално радно време Прати се колико посла остаjе у спринту и како се обим посла смањуjе burndown chart а 17 / 26
СкрамМастер а СкрамМастер помаже у одстрањивању препрека (енгл. impediments) СкрамМастер брани тим од захтева ван проjекта често потичу од власника проjекта СкрамМастер никад не интервенише у раду тима Рад тима не контролише нико основа за изградњу поверења Тим може да отпусти СкрамМастера 18 / 26
Схема Скрама а Jeff Sutherland s Handbook, Training Institute Press, 2010. 2 2 http://jeffsutherland.com/scrumhandbook.pdf 19 / 26
Грешка а Откривање грешке се у Скраму узима као нешто веома позитивно прилика за усавршавање Одстрањивање грешака се неодлаже производ се не испоручуjе знаjући да у њему постоjе грешке Тим се труди да се из грешке извуче наук и да на одговараjући начин коригуjе процес (повратна спрега) 20 / 26
Контакт и комуникациjа а Могуће jе комуницирати и путем документациjе имаjу тенденциjу да ствараjу опширну документациjу, али нико jе не чита (write only documentation) тиме се производи отпад Скрам jе заснован на непосредноj комуникациjи, брзоj и ефикасноj Документациjа се користи за запис тога што треба памтити Непосредна комуникациjа омогућава флексибилну и координисану реакциjу тима 21 / 26
Планирање Приоритет ставки у списку неодрађеног посла на производу одређуjе власник производа Процена времена потребног за поjединачне ставке jе од кључног значаjа за планирање Тешко jе планирати у апсолутном времену процена у Скраму jе зато релативна: свакоj ставки се додели одговараjући броj бодова Planning poker 3 Тим с врха списка неодрађеног посла на производу узима толико ставки колико сматра да ће успети да савлада у jедном српинту После неколико итерациjа се вредност посла (збир броjа бодова изабраних ставки) устали означава се као брзина (енгл. velocity) а 3 http://www.crisp.se/bocker-och-produkter/planning-poker 22 / 26
Свакодневни сусрети Daily Кратак састанак на почетку сваког дана обично се стоjи Говоре само чланови тима Сваки члан каже: Шта jе радио jуче Шта ће радити данас Какве препреке га у томе спречаваjу На састанку се не дискутуjе Ништа не спречава чланове тима да размотре све што jе потребно током дана, а то и са СкрамМастером а 23 / 26
Континуално преиспитивање процеса а Скрам се опире производњи непотребних ствари отпада Континуално се одстрањуjу препреке Врши се ретроспектива и оцена спринта Не користе се метрике за оцену продуктивности све jе видљиво Коришћење ових метрика би водило ка прилагођењу рада начину његовог оцењивања 24 / 26
Порекло и исходишта Скрама Jeff Sutherland 4 Назив Скрам потиче из рагби аналогиjе 5 Скрам произилази из приступа неких jапанских компаниjа узор jе Тоjота Излагање философиjе Скрама се често ослања о jапанску терминологиjу: muri muda mura, kaizen, sensei... Скрам ипак ниjе условљен jапанском културом заснован jе на општим људским особинама Агилни приступ (angl. agile) Alliance 6 Организациони узори семинални рад Коплина и Харисона 7 4 http://jeffsutherland.com/scrumhandbook.pdf а 5 H. Takeuchi and I. Nonaka. The New New Product Development Game. Harvard Business Review, 1986. http://www.sao.corvallis.or.us/drupal/files/thenewnewproductdevelopmentgame.pdf 6 http://www.scrumalliance.org/ 7 J. O. Coplien and N. B. Harrison. Organizational Patterns of Agile Software Development. Prentice Hall, 2004. 25 / 26
а Напредак води ка све већоj аутоматизациjи Људска креативност jе ипак кључна и незаменљива Технологиjе треба да служе људима, а не обрнуто Реализациjа проjеката може да буде организована тако да узима у обзир природне људске особине у прилог резултата На овоj основи jе постављен Скрам као оквир реализациjе проjеката fiit.sk/ vranic 26 / 26