Agile vs V методологии (модел)

Днес в софтуерната индустрия се използват множество различни методологии за разработка на софтуер. V Методологиите (V-Model) е разширение към метода за развитие на водопада (който е един от най-ранните методи). Основният акцент на V-Model е даването на еднаква тежест на кодирането и тестването. Agile model е по-скорошен модел за разработка на софтуер, въведен за справяне с недостатъците, открити в съществуващите модели. Основният фокус на Agile е да включи тестването възможно най-рано и да пусне работеща версия на продукта много рано, като разгражда системата до много малки и управляеми части.

Какво е V методологии (модел)?

V Методологии (V-Model) е модел за разработка на софтуер. Той се разглежда като разширение на типичния модел за разработка на софтуер Waterfall. V-Model използва същите отношения между фазите, дефинирани в модела Водопад. Но вместо да се спуска линейно (подобно на модела Водопад), V-Model стъпва по диагонал и след това се придвижва обратно нагоре (след фазата на кодиране), оформяйки формата на буквата V. Тази V форма се формира, за да покаже връзката между всяка фаза на разработването / проектирането и съответната фаза на тестване. Времето и нивото на абстракция се представят съответно от хоризонтална и вертикална ос.

Изпитването (възходящият път, дясната страна на V) се извършва за проверка, докато съответните фази на проектиране (низходящия път, лявата страна на V) се използват за валидиране. Във V-Model се дава еднакво тегло на кодиране и тестване. V-Model препоръчва да създадете тестов документ заедно с проектните документи / код. Например документите за тестване на интеграцията трябва да се пишат, когато се проектира дизайн на високо ниво и да се документират единични тестове, докато се изработва подробният проектен план. Това означава, че план за внедряване на всеки тест трябва да бъде създаден предварително, като не се чака до приключване на разработката, за да може да бъде предаден на екипа за тестване.

Какво е Agile?

Agile е много скорошна методология за разработка на софтуер, основана на манифеста на пъргавия. Това е разработено, за да разреши някои недостатъци в традиционните методологии за разработка на софтуер V-Model и Waterfall. Agile методи се основават на отдаване на висок приоритет на участието на клиентите в началото на цикъла на развитие. Препоръчва да се включи тестване от клиента рано и често, колкото е възможно. Тестването се извършва във всяка точка, когато стане налична стабилна версия. Основата на Agile се основава на стартирането на тестовете от началото на проекта и продължаването му до края на проекта. Основните ценности на Agile е „качеството е отговорност на екипа“, което подчертава, че качеството на софтуера е отговорност на целия екип (не само на екипа за тестване). Друг важен аспект на Agile е разграждането на софтуера на по-малки управляеми части и доставянето им на клиента много бързо. Доставката на работещ продукт е от изключително значение. Тогава екипът продължава да усъвършенства софтуера и да предоставя постоянно при всяка основна стъпка. Това се постига чрез много кратки цикли на освобождаване, наречени спринти и получаване на обратна връзка за подобрение в края на всеки цикъл. Сътрудници без много взаимодействия на екипа, като разработчици и тестери в по-ранните методи, сега работят заедно в рамките на модела Agile.

Каква е разликата между Agile и V методологии (модел)?

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