Водопадният модел е най-ранната методология, разработена за менажиране на проекти за изграждане на софтуерни продукти.
Waterfall методологията се отличава с това, че дейностите протичар в процес, при който фазите на разработка на софтуера следват точно определен ред, който най-общо може да се опише по следния начин:
1. Спецификация на изискванията (Анализ на изискванията)
2. Софтуерен дизайн (Софтуерна архитектура)
3. Имплементация и интеграция
4. Тестване (Валидация)
5. Внедряване (Инсталация)
6. Поддръжка.
Процесите при водопадния модел протичат линейно и последователно. Напредъкът на софтуерния проект се разглежда като течащи постоянно надолу (като водопад) фази по внедряването на програмния продукт. Това означава, че всеки от етапите в процеса на разработка започва, само когато предишната фаза е напълно завършена. При стриктно спазване на методологията връщане към предишна фаза за преправяне на продукта поради промяна на изискванията, не се допуска.
Употреба
Най-често се употребява при разработка на софтуер, при който промяната на изискванията и обхвата е малко вероятна и не е критична.
Предимства
– принципите на действие на модела лесно могат да бъдат обяснени на потребителя;
– има добре структуриран подход към разработката;
– различните етапи и дейностите в тях са точно определени;
– планирането на проекта и изплнението му по график е по-лесно;
– тестването на всеки етап осигурява ранното откриване на грешки, ккато и избягване на отклонения от обхвата на проекта поради неразбиране на определена част от изискванията на клиента;
– във всяка фаза се виждат конкретни резултати.
Недостатъци
– изхожда се от презумпцията, че системата е “замразена” и изискванията и желанията на клиента няма да се променят, което е трудно постижимо в реалния свят;
– изключително трудно може да се върне екипа на предишен етап, който вече е завършил;
– има твърде малко гъвкавост по регулацията на обхвата на проекта и всяка промяна по него е трудоемка и скъпа.
Няколко думи в заключение
Водопадният модел е методология, при която разработката на софтуерен продукт е скъпа и времеемка. За сметка на това готовият софтуер има подробна документация и всеки елемент от него отговаря на заданието на клиента и е тестван подробно.
Може би едно от най-добрите приложения на този модел е разработката на софтуер за институции и организации, при които няма големи и важни промени в последната минута.