Този сайт използва бисквитки (cookies). Ако желаете можете да научите повече тук. Разбрах

Новини Технологии и концепции

Какво представлява agile методологията за създаване на софтуер? (Част 3)

За разлика от от последователния модел, този подход осигурява значително по-голяма гъвкавост при реализацията на проекти

от , 29 март 2018 0 13141 прочитания,

Agile методологията се налага с всеки изминал ден и причините за това са много. След като в предните две части разгледахме процесът по замяна на последователния подход с по-гъвкави решения, в тази ще обърнем внимание на още малко специфики на agile концепцията и на преимуществата, които я превръщат в предпочитана стратегия за разработчиците на софтуер.

Прочетете още: Какво представлява agile методологията за създаване на софтуер? (Част 2)

Agile-рамката Scrum

Към момента вече съществуват много agile рамки, които предоставят специфични за процеса инструменти и практики за развитие, съобразени с жизнения цикъл на разработката на софтуер. Най-популярната от тези рамки е Scrum. Тя се фокусира върху ритъма на работа, наричан sprint, и определено структуриране на работните срещи, което включва:

- планиране (идентифициране на приоритети на всеки sprint)

 - ангажимент (преглеждане на запаса от потребителски сюжети и взимане на решения колко работа може да бъде извършена по време на определен sprint)

- ежедневни срещи (екипите актуализират информацията за развитието на проекта и стратегията)

Всеки sprint завършва с демонстрация, по време на която продуктовият отговорник се запознава с функционалностите на продукта, последвана от ретроспективна среща, в която екипът обсъжда кои дейности са преминали добре и къде има нужда от оптимизация на процеса (много организации използват Scrum-експерти, които превеждат екипите по разработката през целия този процес).

Защо agile методологията е по-добра

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

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

Agile процесът дава и отговор на много от съвременните предизвикателства пред разработчиците на софтуер, защото неговите принципи, рамки и практики са насочени именно към модерните условия на работа.

Едновременно с това, продуктовите отговорници често си мислят, че знаят точно как искат да изглежда дадено приложение, но рядко се отказват от открила се възможност за подобряване на проекта. Agile методологията дава тази възможност, тъй като при нея те са в постоянен контакт с потребителите и виждат в реално време как работи приложението и какво трябва да се подобри. Разработчиците също смятат, че знаят как да проектират перфектния продукт. Последователният подход обаче им отнема възможността да демонстрират резултатите от своята работа, докато цялото приложение не бъде интегрирано, което, както казахме в началото, може да отнеме наистина много време.

Agile разработките също така насърчават непрекъснатия процес на подобрения. Представете си, че Microsoft бяха приключили с разработката на Windows след версия 3.1 или Google бяха спрели да подобрява своите алгоритми за търсене през 2002 г. Картинката нямаше да има нищо общо с тази в момента, нали? Така или иначе софтуерът непрекъснато се нуждае от актуализиране, поддръжка и подобряване и agile методологията осигурява инструментите за това.

И накрая, но не по значение, agile процесът е по-добър, защото хората, които участват в него, са по-продуктивни и щастливи. Инженерите имат думата за това колко работа в какъв период от време ще поемат и се чувстват добре като през известен период от време демонстрират резултатите от положените усилия. Продуктовите отговорници искат да видят възможно най-скоро своята визия претворена в реален продукт и да могат да внасят постоянни промени, които да оптимизират проекта. Потребителите пък искат да получат софтуер, който прави точно това, от което се нуждаят, по начин, който отговаря на техните променящи се желания и нужди, като подобрява работните им процеси.

Е, agile методология отговаря на всички тези изисквания. 

КОМЕНТАРИ ОТ  

Полезни страници
    За нас | Аудитория | Реклама | Контакти | Общи условия | Декларация за поверителност | Политика за бисквитки |
    Действителни собственици на настоящото издание са Иво Георгиев Прокопиев и Теодор Иванов Захов