Какви са ползите от Agile и какво е бъдещето на Agile практиките?
За да бъде успешна една компания в днешно време, тя трябва да използва някакви гъвкави методологии, казва Мартин Кулов, председател на Асоциация на софтуерните инженери (АСИ)
На 29 март 2017 в София ще се проведе конференцията 2doIT AGILE DECODED. Фокус на конференцията са Agile практиките и приложението им в България.
Agile е практика за управление на проекти в динамична среда, каквато е софтуерното производство. Тя е необходима поради динамиката на бизнеса и пазара и динамиката на технологиите, които се променят през няколко години. Agile се разделя на различни процеси и методологии – Scrum, TDD, SAFe и др.
Разговаряхме с Мартин Кулов, председател на Асоциация на софтуерните инженери (АСИ), която организира 2doIT AGILE DECODED, за ползите от прилагането на Agile в компаниите, следващото поколение Agile практики и намират ли те реално приложение в България.
Защо компаниите прилагат Agile практики и какви са ползите от това? За да бъде успешна една компания в днешно време, тя трябва да използва някакви гъвкави методологии. Първо, защото много бързо се променят изискванията на пазара и второ, чисто технологично нещата могат рязко да се сменят, когато стигнем до някаква хипотеза, която може да не работи. Тогава трябва да имаме механизъм за бърза промяна на изискванията и бързо да се нагодим.
И точно тази динамика е в конфликт с мисленето на повечето мениджъри в момента. Те искат на тази дата, с толкова пари и толкова хора да дадем това, което сме обещали на клиента. Но най-големият сблъсък, който се получава, е, че екипът се стреми да отговори на това изискване на тази дата и в този екип, но с лошо качество. Просто защото това е единственият компонент, който те могат да променят и регулират. И нашата цел е да успеем да променим това мислене, за да можем да правим по-добро качество и за да не излезе лошо име на индустрията като такава. За да не излезем като „България - аутсорсинг дестинация с ниско качество“, а като: „България, която развива качествени продукти на добра цена и в която модерните практики се прилагат успешно.“. Доказано е на световно ниво, че тези модерни практики работят.
От тази гледна точка дори Agile вече не толкова модерна. Има следващо поколение Agile практики, които се използват от 5-6 години. Така че е време и ние да започнем да ги прилагаме, и то успешно. А не просто да казваме, че ги прилагаме, за да изглеждаме добре пред света. Прилагайки ги успешно, ние ще бъдем успешни и като компания и ще успяваме да правим по-хубави неща.
За новото поколеине Agile практики
Кои са тези нови Agile практики? Новите са следващото поколение, които се назовават с общия термин DevOps. DevOps е култура и начин на мислене. Затова ми е много странно, когато прочета някакъв пост за търсене на DevOps специалист. DevOps не е специалист, а начин на мислене в организацията за това как те трябва бързо да предават софтуера.
Например имаме един Agile екип, който е започнал да работи добре и бързо да се адаптира към променящите се условия. Но в момента имаме една стена. Този екип разработва софтуера и го дава на QA екипа. Той тества една седмица и го дава на Операции, за да го внедрят. Така имаме един екип, който разработва Agile продукта по гъвкава методология и след това удря една стена. След теста удря втора стена. И DevOps практиките всъщност дават възможност да се завърти целият този цикъл, да се изглади, така че бързо да успяваме да предаваме софтуера, без да се получават тези стени. Това става като тест процесите се изместят повече към дивелъпмънт екипа, т.е. т.нар. Shift Left тенденция. А пък дивелъпърите се изместят повече към операциите (от там идва и името DevOps) с т.нар. Shift Right тенденция. Т.е. получава се миксиране на отговорностите, без да има разделение между различните екипи и се мисли като един екип, който прави всичко.
Това е следващото и това е най-актуалното в момента. Което, колкото и да е актуално, на пазара съществува вече от 6-7 години. Ние тепърва започваме да мислим за това нещо.
Намират ли тези нови практики реално приложение в практика в България? Да, разбира се. Много компании го правят, макар все още да е трудно. Беше нужно много време, за да порасне инструментариумът. Самите технически инструменти, които използваме, за да се случи това нещо, имаше нужда да се изградят и да станат по-добри. Реално много колеги казват: „Е, какво е DevOps? Аз DevOps съм правил още преди 20 години.“. Така е, и аз съм правил.
Навремето работих в малък екип като СТО и целият процес – от дивелъпмънт до операции, е в твои ръце. Така че в един момент може да се каже, че си DevOps. Но въпросът е това да го направиш за целия екип. Не да бъде само за един човек, а екип от 20-30 души всички в синхрон да са в този процес. Така че в момента, в който дадена функционалност стане готова, да не се чака 2 седмици тя да бъде предадена, а примерно за 2 часа тя да стигне до клиента и той да даде обратна връзка. Тя може да не е публично видима, но клиентът да има възможност да даде обратна връзка.
Целта на една такава бърза реакция е, ако нещото, което сме направили, не е ОК, той да го върне и да каже коригирайте го. Всъщност това е най-големият плюс, който има една организация. Защото хората все още са много близо до функционалността, която са разработвали и всичко още им е в главата. Те могат да го пременят на момента. А не 2 седмици по-късно, когато вече са започнали пета функционалност и те да ги върнат. Тогава вече сорс кодът е тотално различен, няма нищо общо с това, което е било преди 2 седмици и ние тепърва да се връщаме и да оправяме нещо. Много по-скъпо излиза. И затова бързата реакция и бързата обратна връзка са нещо, което се търси в DevOps.
Най-трудните ми моменти ме научиха, че гъвкавостта и сътрудничеството са ключови и че успехът в бизнеса зависи от способността да се работи в екип, да се изслушват различни мнения и да се развиват иновации, споделя Невена