+
Вход

Въведи своя e-mail и парола за вход, ако вече имаш създаден профил в DEV.BG/Jobs

Забравена парола?
+
Създай своя профил в DEV.BG/Jobs

За да потвърдите, че не сте робот, моля отговорете на въпроса, като попълните празното поле:

92-9 =
+
Забравена парола

Въведи своя e-mail и ще ти изпратим твоята парола

Бърз код или качествен код?

*Текстът е предоставен от партньор на DEV.BG

Цената на високата скорост

В света на разработките на софтуер винаги съществува натиск за бързина – скоростно планиране, разработване, тестове, внедряване, изобщо – бързи резултати. Но постигането на високи скорости в разработването по правило идва с някакъв компромис. Във всички случаи трябва да направите жертви, дали с качеството на крайния продукт или пък с някоя функционалност – изостанала в backlog-а, винаги е за сметка на нещо.

И все пак, каква е цената за тази бързина и може ли тя да компрометира качеството на продукта или темпа на работа? Специалисти в IT сектора и разработчици често се изправят пред този въпрос, но решението рядко е еднозначно.

Българският стартъп NEXT BASKET, който разработва иновативно решение за цялостно управление на е-бизнеси, е наясно с това и се стреми да постигне разумен баланс между двете, вземайки предвид всеки аспект на конкретното предизвикателство.

Бърза реакция, но и качество на изпълнението

В процеса на разработване на софтуерната платформа, на компанията неведнъж се налага да действа бързо. Освен към платформата, вниманието на програмистите и IT експертите е съсредоточено и върху куп странични неща, като интеграции с външни системи, миграции, скалиране и др. Това са съвсем нормални предизвикателства за компания в такъв етап от развитието си, но всяка организация си има индивидуален подход.

Бързият код често се свързва със занижено качество на крайния продукт. „Бързата работа – срам за майстора“ – е мотото на много хора, включително някои разработчици, но истината е, че в непрекъснато развиващия се технологичен свят, гъвкавостта и бързата реакция са от ключово значение за успеха на всяка компания. С други думи, често нямаме лукса „време“, за да постигнем „идеалния“ код.

От друга страна обаче, основният мотив зад целия този труд е създаването на качествен продукт. Именно завършеният продукт позволява по-бърза реализация на инвестицията и отваря вратите за скоростен растеж на компанията. А партньорите на NEXT BASKET очакват да получат целия пакет от функционалности веднага. И точно в такива моменти се налага нова приоритизация на задачите, вмъкване на едни изисквания за сметка на други и т.н.

Най-силният аргумент в полза на качествения код е, че той носи дългосрочна устойчивост и минимизира разходите по поддръжка на проекта. Когато нещата се правят детайлно и с нужното внимание, винаги се получават по-добре. Също така, висококачественият код води до по-малко грешки и проблеми, което спестява време и ресурси по тяхното отстраняване.

Каква е правилната приоритизация

Това, което NEXT BASKET успя да постигне за краткия срок от основаването си до момента, е наистина впечатляващо. В такива ситуации неминуемо се налагат компромиси. Амбициозните срокове често са постижими в идеален сценарий, но всяко забавяне или отклонение дава отражение и върху други елементи в спринта.

Младен Грозев, Главен технически директор в NEXT BASKET

“От решаващо значение за постигането на устойчивост и предвидимост на всеки един проект е подходът за оценка на заданието. От изключителна важност е да се минимизира субективният фактор и да имаме критерии, по които да оценяваме. След, като имаме налична обективна оценка и статистика за темпото ни на работа, резултатът става предвидим.“ споделя Младен Грозев, Главен технически директор в NEXT BASKET, ръководител с над 15 години опит в информационните системи и магистър по информатика от Софийски Университет „св. Климент Охридски“.

„Работейки с точки (story points), а не с часове ни помага да имаме общата стойност на завършената задача. От заданието до пускането на дадена функционалност или модул в действие “ допълва той. „Знаем във всеки един момент колко ефективен е всеки един екип и грешките се идентифицират рано. Приоритизацията ни е на базата на целите, които сме си поставили, като екип и компания. Имаме също така и достатъчна гъвкавост да включваме или изключваме в разработката определени задачи по време на спринтовете ни.“

Днес те питаме…

Kаква нетна месечна заплата получаваш в IT сектора?
Loading ... Loading …
Колаборация между екипите

Ролята на QA екипа е от голямо значение в целия процес. От една страна, звената по автоматизация също пишат код, който непрекъснато трябва да се адаптира към текущата система. Отделно, manual QA инженерите трябва да поемат щафетата след разработката, което прави тяхната заетост трудна за планиране в извънредни ситуации. Компромис с качеството може да има само в изключителни ситуации и е допустимо за много кратък срок. Именно затова трябва да се внимава да не се претоварват едни екипи за сметка на други.

Класически такъв пример е ситуация, в която дадена функционалност е готова в бекенда (backend), но я няма във фронтенда (frontend). Запознатите са наясно, че и обратното също е възможно. В подобни случаи трябва да се действа много бързо, тъй като е необходимо да се изравнят темповете на различните звена, но това да се случи по плавен начин, без излишен стрес. Изравняването не е обикновено стиковане, а често изисква сложно маневриране на няколко колеги към това да се напаснат ангажиментите по оптимален начин.

„Намирам за голямо предизвикателство екипите, съставени от изключително интелигентни и опитни млади колеги, да заработят, като едно. Общата визия, върху която работим, изиграва важна роля и за мен е изключително вълнуващо да работя по нещо толкова мащабно като NEXT BASKET.

Естествено, работата между екипите, винаги има своите трудности, но:


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


ни помагат да сме отбор, който доставя.“

Кой е най-правилният подход?

Това са примерни ситуации, които показват, че в края на краищата еднозначни отговори няма, но има константни величини, без които няма как да се приложи „правилният“ подход. Едната от тях е стиковането на екипите. Изключително важна е гъвкавостта, а също така и готовността да проявиш съпричастност. Но все пак, това трябва да става хармонично, така че да се осигури равномерна натовареност сред хората. И не на последно място, работният процес трябва да претърпява минимални корекции – именно това е целта на тези Planning сесии.

Младен Грозев споделя: „Правилният подход е всички от екипа да са отдадени. Не е задължително целият екип да е съгласен с дадено решение, важното е всички да са отдадени в реализирането му. Тук ще си позволя да цитирам изпълнителния директор на Intel Адрю Гроув – Agree and commit, disagree and commit, or get out of the way.”

В крайна сметка, и бързият, и качественият код имат своите предимства. Ключът е в това да се намери правилният подход спрямо ситуацията и когато сроковете са предизвикателни, си проличават мотивацията и приносът на всеки. Така се произвежда синергичен модел на колаборация. Всичко това създава един устойчив процес, в който всеки има глас и всяко мнение се изслушва. Защото успехът е добра идея, както гласи слоганът на компанията, а NEXT BASKET знае как да го превърне в реалност.