Абстракт
Студио проектите са нов елемент от образованието на студентите от инженерните специалности в Нов Български Университет. Основната им идея е студентите да се научат да работят в екип по реални проекти, поставени от външни заинтересовани лица, от водещи компании в България и под менторството на преподавателите от университета.
Ключови думи
Студио проект, НБУ, студенти, работа в екип, сътрудничество между бизнес и университет
Увод
Като част от усилията ни да променим облика на инженерните специалности в НБУ, преподавани в департаменти Информатика и Телекомуникации, въведохме курс по Архитектурни на Софтуерни системи към департамент Информатика, курс по PSP/TSP, положихме началото на бакалавърска програма “Мрежово Инженерство” към департамент Телекомуникации, реализирахме летен курс по “Estimating Software Development Projects” и семинари на тема “Combinatorial testing” и Buffered Moscow rules с д-р Едуардо Миранда от Carnegie Mellon University.
Във връзка с тези усилия представяме и следващата стъпка в тази посока – Студио проект в НБУ. Студио проектите са възникнали в Carnegie Mellon University като част от образователна програма MSE (Master of Software Engineering). Възниква въпроса що е то студио проект и каква е предисторията им.
Дефиниция
The Studio Project, a capstone project that spans the duration of the program, allows for students to plan and implement a significant software project for an external client. Inspired by the design projects in architecture programs, students work as members of a team under the guidance of faculty advisors (mentors), analyzing a problem, planning the software development effort, executing a solution, and evaluating their work.
Преведено на нашенски това е проект, протичащ през цялата продължителност на учебната програма, в който студентите планират и разработват проект с не-малка сложност за външен клиент.
Както в Карнеги Мелън така и в НБУ студио проектите са вдъхновени от задачите давани към курсовете по Архитектури на Софтуерни системи и са базирани на множество принципи като: работа в екип под ръководството на ментор от университета, анализ на проблем, извличане на изисквания, планиране и остойностяване на процеса на разработка, разработка и оценка на направеното.
Студио проектите са описани от множество автори като James Tomayko, David Garlan, David Root и Mell Rosso-Llopart в множество статии като [1], [2] и [3]. На база на литературните източници и опита от “живия живот” на автора поставихме студио проектите в НБУ в следната рамка от принципи и правила.
Основни принципи
- Проектите се възлагат на екипи от студенти, внимателно подбрани на база на техните предишни умения, настоящи амбиции и текущи профили.
- Всяка една от частните или публични организации, които желаят да работят с университета и студентите на НБУ, могат да зададат един или повече от един „studio” проект.
- Университетът осигурява (доколкото му е възможно) материално всеки един от екипите. Например всеки един екип може да използва измервателното оборудване (осцилоскопи, спектрални анализатори, генератори на сигнали), ресурсите на библиотеката и сървъри и виртуални машини, мрежови устройства маршрутизатори, комутатори и др.
- Компанията задала темата осигурява допълнителното оборудване, необходимо за реализацията на конкретния проект. Например това може да включва опитни постановки, с които университета не разполага, акаунти за даден тип облачна инфраструктура, компоненти за изграждането на вградени системи и д.р.
- Във всеки един от екипите участва представител на бизнес организацията, която е възложила проекта и един или двама ментори от самия университет, които да подпомагат студентите по време на реализацията му.
- За да могат студентите практически да изпълнят задачите си те трябва да получат от университета, а и от компаниите, възложили им проекта познания как да го направят.
- Всеки един семестър студентите са длъжни да направят две презентации по проекта си:
- В средата на семестъра (дефинирани цели и прогрес по проекта)
- В края на семестъра (реализирани цели, отклонения от първоначално поставените цели, прогрес по проекта)
- Авторските права на конкретната разработка са на самите студенти, освен ако изрично не е упоменато друго (т.е компанията спонсор на проекта, може да наложи съответни ограничения под формата на предварително подписан NDA-Non Disclosure Agreement)
Основно изискване
- Студио проектите изискват време както от страна на студентите така и от страна на менторите и от представителите на бизнеса
- Очакванията ни са, че за успешната реализация на един студио проект ще бъдат необходими от:
- 6-8 ч на седмица от страна на всеки студент, участник по проекта
- 2 ч на седмица от страна на ментора
- 2 ч на седмица от страна на компанията
Ползи за студентите
- Студентите се научават, че работата в екип не имагинерен израз в обявите за работа. Напротив получават задача, която могат да реализират само и единствено като работят в екип.
- Студентите добиват реален опит в работата с реален клиент
- Студентите се научават как да извличат и комуникират изисквания, срокове и ограничения с реален клиент
- Студентите се научават как да презентират собствения си труд
- Студентите научават конкретен бизнес домейн и технологичната еко-система, в която той “вирее”
- Участието на студентите в проектите им носи дивиденти като кредити свързани със стаж по специалността, кредити от извънаудиторни упражнения по различни предмети, а направената от тях разработка може да бъде използвана за дипломна работа
- Проекта си е ред в CVто (кат има много неща вътре не е важен, ама като няма и трябва да се търси работа си е нещо)
Студио проекти vs директно започване на работа или постъпване на стаж
Възниква въпроса “Защо да изберем участието в студио проект вместо да се хванем на работа някъде или да започнем стаж?”. Отговорът е, че зависи какво целите. Ако искате да се хванете на работа и имате нужда от пари за да се прехранвате най-добре се хванете на работа. Ако търсите стаж най-добре се запишете в някой проект като питате предварително ментора си дали компанията, която го е обявила случайно не търси и стажанти през летния период. Вероятността да си намерите стаж в случая е клони около 100 %. Разликата е, че вместо стаж в който само ще висите и ще лапате мухи ще попаднете на стаж, в който вече познавате компанията, знаете какво ще правите, знаете кой да питате как да го направите. С две думи стажа ви ще премине доста по-ползотворно, отколкото, ако просто се изтърсите някъде…
Важно е да се уточни какво е предимството на участието в студио проект и стаж пред директното започване на работа на пълен работен ден. Принципно компаниите са създадени да оперират, т.е да печелят пари. Когато започнете работа няма да сте особено квалифициран, ще започнете от най-ниското ниво и ще бъдете поставен в среда на доста ограничения. Вие ще искате да се развивате и да учите нови и интересни неща, но реално ще се случва обратното ще научите нещо конкретно, което ще носи пари на вашата компания и няма да имате време почти за нищо друго. Постепенно ще решите, че тази компания е “гадна” и ви ограничава. Ще си смените работата и ще идете при по-добра компания. Там ще се случи същото. Е ще научите още нещо, но пак ще бъдете поставен в доста ограничена среда. Постепенно ще свикнете, ще поостареете, ще дойдат и децата :) … и накрая никога няма да ви остане време да направите нещо интересно като студио проект….
Ползи за компаниите
Участието на дадена компания в студио проекти й дава възможност да планират и подготви от доста по издалеч така наречения процес по подбор на персонала. Всички знаем, че процеса по подбор отнема време и като цяло е доста “скъп”. Скъп е поради факта, че цифрата на добрите свободни ИТ хора, които мигом да наемем клони към минус безкрайност. Тези които са свободни обикновено не са особено “добри”, а пък тези дето са добри не са свободни. Химера е и факта, че има много свободни завършващи студенти, които знаят много и са жадни за работа. Първо тия които завършват вече работят, а тия които пък знаят задоволително много далеч не са много. Та да се върнем на процеса по подбор на персонал и внедряване на нов човек в дадена фирма. Които се е занимавал с това знае, че дори и да изберем нови хора, на тях им трябва време да станат ефективни. Това време си е чиста загуба на пари за компанията. Парите са свързани с разходи за заплати на новия човек, разходи за заплати на другите хора дето вместо да работят трябва ударно да го учат и като цяло наемането на нов човек си е един хазарт, при който далеч не винаги работодателя е печеливш. Студио проектите променят коефициентите в подобен тип уравнение. Участниците от страна на компанията инвестират известно време (2ч на седмица, 8 ч на месец, 12 човеко-дни на година). На пръв поглед изглежда много, но като се има предвид, че това е време разхвърляно между всичко останало, далеч не тежи като това да губиш по-половин ден за няколко месеца в разяснения и обучение на нов човек. Освен това времето е отделено в нещо приятно, което така или иначе е интересно на ментора. В процеса на реализация на студио проекта ментора и компанията се запознават със студентите и имат достатъчно време да преценят техните умения, да доразвият тези които ще са им необходими за вбъдеще и да подготвят почвата, така че като студента завърши мигом да отиде на работа при тях, вместо някъде другаде.
Другият съществен плюс за всяка компания е самата разработка, която студентите, под ръководството на техните ментори развиват. Самите компании са бизнес организации, направени и да оперират, а не да иновират. Доказано е, че един от добрите начини да бъдат разработвани нови прототипи е именно в формата на малки откъснати от останалата част на компанията групи, които работейки в относителна изолация, успяват да постигнат доста повече от големи развойни екипи, които разработват в среди с много съображения и ограничения. Студио проектите подкрепят първия начин на работа и дават осовата за развитието на подобни иновации.
Партньори
До момента НБУ е подписало рамково споразумение с няколко водещи IT компании като: Sap Labs Bulgaria, Microsoft Bulgaria, Test Solutions Ltd и др. За момента Sap Labs води с едни гърди на останалите компании като с тях вече сме дефинирали следните теми на проекти.
Cloud & SDN
Облаците и Софтуерно-дефинираните мрежи са две преливащи една в друга технологии от значение както за САП Лабс така и за НБУ.Целта на този проект е да бъде изградена IAAS&PAAS облачна инфраструктура върху SDN базирана мрежа с технологии като:
Automatic traffic optimization
Cloud & BIG data изискват и “BIG” network. Понякога голямата мрежа просто липсва.
В този проект ще студентите ще трябва да разработят решение за само-оптимизация на компресията трафик в контекста на предоставяне на бизнес услуги на отдалечени потребители от платформата SAP Hana Cloud.
Internet of Things
Под общото наименование Internet of Things са обединени няколко решения свързани с теми като:
Smart Home
Smart Mall
Smart People
За “smart people” ще си позволя да напиша малко повече. Идеята идва от проекта за “Измерване на Електромагнитното поле” реализиран от НБУ и финансиран от Фонд научни изследвания. В процеса на работа по този проект стана ясно, че системите за измерване на ЕМП се състоят от стационарни станции разположени на покриви. Реално те мерят сигнал, но трудно могат да ми кажат като потребител на какви радио-магнитни лъчения съм изложен на работното ми място, в трамвая, в къщи или в личния ми автомобил. Идеята на този проект е да бъде изработена система за измерването на подобни външни влияния върху нас, там където сме.
Записване
За момента всеки един студент, желаещ да участва в някои от проектите може да се запише на следния като попълни следната форма http://goo.gl/forms/zyqcUz2Lrh.
Източници
- James Tomayko. Teaching Software Development in a Studio Environment, Association for Computing Machinery, ACM 0-89791-377-9/91/0002-03000, September, 1991.
- Garlan, David; Gluch, P. David; Tomayko, James E.: Agents of Change: Educating Software Engineering Leaders of Tomorrow, page 59-65. IEEE Software, November 1997.
- Root, D.; Rosso-Llopart, M.; Taran, G., Proposal Based Studio Projects: How to Avoid Producing “Cookie Cutter” Software Engineers, Software Engineering Education and Training, 2008. CSEET ’08. IEEE 21st Conference on , vol., no., pp.145-151, 14–17 April 2008
- Damasceno A., MSE studio project: The viewpoint of a UC student, .1109/CSEET.2011.5876133 Conference: Software Engineering Education and Training (CSEE&T), 2011 24th IEEE-CS Conference
- Милованов Н., Велев Ст., Студио проекти НБУ-САП ЛАБС България, Семинар по повод 20годишнината на деп. Телекомуникации, НБУ, 2014