Преди броени дни в София се проведе първата Национална конференция за автоматизирано тестване на софтуер – Innovations in Software Тest Automation (ISTA) 2011. Събитието привлече интереса на повече от 220 софтуерни специалисти от цялата страна. Георги Гергинов, Development Manager в SAP Labs България, коментира пред TechNews.bg значението на автоматизираното тестване и най-новите технологии в тази специфична ИТ сфера.
Защо да бъде автоматизирано тестването ли? Представете си един голям продукт, какъвто е софтуерният – много е трудно и отнема доста ресурси и време подобен продукт да бъде тестван ръчно, от хора. Това генерира и съответния субективен елемент. Затова е наложително да има автоматизация на процесите, която да ускори тестването и да минимизира човешкия фактор.
Г-н Гергинов, защо е важно автоматизираното тестване на софтуера и какво е значението на тази специфична дейност в днешните условия?
За всички нас като потребители, независимо дали на софтуер или на друг продукт, е естествено да желаем да получаваме нещо качествено и работещо, което не показва дефекти или неочаквано поведение. За да се постигне това, трябва да се инвестира, и то много, в сериозно тестване на продуктите, за да не се допуска некачествени продукти да стигнат до клиента.
А защо в днешно време това е важно и популярно? Свидетели сме на трусове в световната икономиката, които се отразяват и на софтуерния бизнес. Крайният резултат е, че клиентите искат да са максимално гъвкави, тъй като постоянно променящите се условия и среда ги принуждават да търсят гъвкавост и да искат да получават колкото е възможно по-бързо нужните продукти за по-добра работа или по-добро качество на живота. Това означава, че доставчиците трябва да бъдат също толкова гъвкави, за да отговорят на очакванията.
Допреди няколко години беше нещо като стандарт жизненият цикъл на един голям софтуерен продукт да трае няколко години – т.е. проектирането, разработването, тестването и достигането до пазара отнемаше години, а в случаи на големи корпоративни системи ставаше дума за две, три до пет години дори. Днес клиентите искат да имат нещо, което да им върши работа веднага или колкото е възможно по-скоро.
Ето защо софтуерното производство се адаптира, а Lean-Agile практиките са толкова популярни, защото те илюстрират идеята да се дават малки, качествени добавки към продуктите на много по-кратки интервали от време. Т.е. вместо да чакаме 2-3 години пускането на напълно нов продукт, ние добавяме към съществуващите продукти нови функционалности. Акцентира се върху най-ценните качества на продуктите, които клиентите искат да получат в момента, било то в резултат на новите технологии или на новите практики и стандарти.
Това се благоприятства именно чрез Lean-Agile методологията. Ние работим в кратки, итеративни производствени цикли в рамките на месец, като целта е в края на всеки цикъл клиентите да получат работещ продукт и добавена стойност към него. Тук ключовият момент е, че не се жертва качеството. То не е под въпрос никога – свива се обемът на работата, но качеството не се жертва. Ако в една комплексна система се допусне компромис с качеството, това компрометира цялата система.
Има ли специфика на работа в SAP Labs България или и тук следвате общия корпоративен модел на компанията?
Компанията е огромна, с присъствие в над 50 страни. В България сме от над 10 години, като представителството тук е развоен център, който е част от мрежата центрове на компанията за разработвате и проучване на софтуер. Темата за Lean-Agile средата е много важна, но тя не е уникална за страната, това е политиката на компанията. SAP се опитва да прилага в цялостност този начин на мислене.
Въпреки това българското представителство има и някои отличителни черти – много често сме пилотите, които първи изпробват най-новите практики и технологии на компанията. Ние сме висококвалифицирани и доста гъвкави, което се доказва от фактите: големите компании в ИТ бранша продължават да инвестират въпреки икономическата криза. Това е доказателство, че те виждат тук голям потенциал по отношение на специалистите. Да, като пазар на продуктите не сме толкова интересни, тъй България е малка страна. Но като качество на специалистите сме много атрактивни.
А има ли достатъчно подготвени специалисти за тази професия?
В SAP не разглеждаме уменията в софтуерното разработване като някаква специфична професия. За нас професията е разработчик на софтуер, а отговорността да се получи качествен продукт пада върху целия екип. Да, в екипа един има повече умения в дадена област, друг в друга – но като цяло всеки един специалист трябва да има добри познания по ключовите области, включително по автоматизирано тестване.
Вярно ли е, че в България програмистите срещат следния проблем: тук на няколко разработчици се пада по един тестер, докато в другите страни, на Запад най-вече, всеки разполага поне с един тестер?
Този пример илюстрира другия принцип на работа – когато се разделят дейностите на отделни професии, на малки специалности, т.нар. силози. Това е моделът на работа, когато задачите се раздават отгоре-надолу; това се прави, когато се знае кой какви специфични умения има. Но подобен модел води до определени проблеми, няма гъвкавост в екипите. Какво се случва, ако някой е във ваканция или има промяна в работата, която изисква бързо адаптиране?
Именно затова ние инвестираме в Lean-Agile среда, при която екипът като цяло носи отговорност; в екипа се споделят знания и умения, за да се получи висока ефективност. Това е еволюцията в начина на мислене при всички компании, не само при нас в България. Смея да твърдя, че много скоро Lean-Agile технологиите ще доминират като начин на организиране на работата при компаниите, особено в ИТ сферата.
След като тези модели работят навсякъде по света, какво се случва с конкуренцията в сектора? Страни като Индия, например, ежегодно предлагат много и качествени специалисти. С какво ние тук можем да ги конкурираме?
Краткият отговор е с качество. Да, ние тук няма как да ги конкурираме като ресурс – те имат огромен ресурс, инвестират целево, дори там има държавна политика по изграждане на технологични градове. Такива политики има и в Европейския съюз, но държави като Китай и Индия разполагат с много по-голям ресурс.
Както при всяка една дейност обаче, спецификата на производство на софтуер се разделя на две части: едната са обичайните, повтарящи се дейности, които са по-голямата част от работата – но те не изискват висока квалификация, а се нуждаят по-голям ресурс. Другата част са дейностите, които са жизненоважни за всеки бизнес – иновативността, проучването и разработване на нови неща, движението напред към бъдещето.
Според мен, точно тук е предимството ни, ние сме добри в създаването на иновации, в проучването и внедряването; а широкото им използване – това пък може би е силата на страни като Китай и Индия. Ние имаме потенциал да сме на гребена на вълната в технологично-организационно отношение, а затова не се изисква огромен човешки ресурс. Иновациите се правят от малко хора, същото е и със софтуера. Силни сме в спецификата на генериране на нови идеи, а именно там е бъдещето.
Защо решихте да подкрепихте конференцията за автоматизирано тестване на софтуер?
Нашата цел, както и на съорганизаторите от другите компании, е да споделим и обменим опита и знанията си в сферата на автоматизираното тестване и да популяризираме една част от общия инструментариум за производство на софтуер. По този начин идеята е косвено да се постигне поддържане и повишаване на стандартите в софтуерното производство.
Процесът на разработка на качествени софтуерни продукти не е само писане на код, това е процес, който включва много и различни знания и умения, едно от които е тестването и автоматизирането на софтуера. Затова ние влагаме ресурси, за да развиваме това и всички останали умения.
Всички български ИТ специалисти, а и българите като цяло, трябва да се гордеем, че сме едно много добро място за развитие на бизнес от страна на големите компании, и по-конкретно в сферата на създаване на софтуерни продукти.
Въпросите зададе Рада Станева