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-модела в момента.