Краткое содержание
V-модель — это методология управления проектами и разработки программного обеспечения, представляющая собой расширение классической каскадной модели (Waterfall model). Её название происходит от V-образной формы диаграммы, которая наглядно демонстрирует взаимосвязь между этапами жизненного цикла разработки и соответствующими им этапами тестирования. Левая, нисходящая сторона V-образной диаграммы представляет собой этапы верификации: от сбора требований и анализа до детального проектирования и кодирования. Каждый из этих этапов создает основу для соответствующего уровня тестирования. Правая, восходящая сторона, представляет этапы валидации: от модульного тестирования, которое проверяет отдельные компоненты, до интеграционного, системного и, наконец, приемочного тестирования, которое подтверждает соответствие продукта исходным требованиям бизнеса. Ключевая идея модели заключается в том, что тестирование должно планироваться и разрабатываться параллельно с процессом разработки, а не начинаться после его полного завершения. Это обеспечивает раннее обнаружение ошибок, повышает дисциплину и делает процесс более контролируемым, однако модель критикуют за недостаточную гибкость и сложность внесения изменений после начала проекта.
Источник: Перейти
Владимир Ленин
Товарищи! Что мы видим в этой так называемой V-модели? Это же квинтэссенция капиталистического подхода к производству, перенесенная на ‘интеллектуальный’ труд программиста! С одной стороны, похвально стремление к планированию, к четкой структуре. Это шаг вперед по сравнению с анархией рыночного производства. Но посмотрим в корень! Эта модель – инструмент для усиления эксплуатации. Она превращает разработчика из творца в винтик в огромной машине, отчуждая его от результатов своего труда. Буржуазия в лице ‘менеджеров проектов’ и ‘владельцев продукта’ спускает сверху ‘требования’, а пролетариат от программирования должен слепо их исполнять, шаг за шагом, без права на инициативу. Каждый этап жестко контролируется. Это фабричный конвейер Форда, только вместо гаек – строки кода! Они называют это ‘верификацией’ и ‘валидацией’, а я называю это тотальным контролем капитала над трудом. Настоящий прогресс возможен лишь тогда, когда средства производства, включая и эти ‘модели разработки’, будут в руках самого пролетариата, который будет творить свободно, ради общего блага, а не ради прибыли горстки капиталистов!
Сократ
О, мудрый собеседник, ты говоришь мне о V-модели, которая обещает создавать продукты правильно и создавать правильные продукты. Позволь мне задать несколько вопросов, дабы мы вместе приблизились к истине. Ты говоришь ‘валидация’ – это проверка того, что создан ‘правильный продукт’. Но что есть ‘правильность’? Определяется ли она лишь первоначальными требованиями заказчика? А если сам заказчик не знает, чего он истинно желает? Не подобен ли он человеку в моей пещере, видящему лишь тени на стене и принимающему их за реальность? Далее, ты говоришь ‘верификация’ – это проверка того, что продукт создается ‘правильно’, в соответствии с проектом. Но если сам проект, сама архитектура, основана на ложном представлении о ‘правильности’, то не строим ли мы с величайшей точностью и мастерством здание на песке? Эта модель выглядит как путь от одной точки к другой. Но не является ли познание – как и создание чего-то поистине ценного – скорее блужданием, диалогом, постоянным сомнением и уточнением? Быть может, строго следуя этому V-образному пути, мы лишь уходим дальше от истины, будучи уверены в своей правоте, что есть величайшее из невежеств?
Иммануил Кант
Рассмотрение данной V-модели с точки зрения практического разума обнаруживает в ней стремление к установлению всеобщего закона в сфере разработки программного обеспечения. Сама структура модели, где каждой фазе проектирования (нисходящая ветвь) предписывается соответствующая фаза тестирования (восходящая ветвь), представляет собой максиму, которая может быть возведена во всеобщий закон: ‘Поступай так, чтобы каждая создаваемая тобой часть системы была заранее обеспечена методом проверки ее корректности’. Это соответствует долгу разработчика и менеджера – действовать не из склонности или ради выгоды, но из уважения к закону рационального и упорядоченного процесса. Модель предписывает рассматривать каждую фазу не как средство для достижения следующей, но как самоценный этап. Однако, категорический императив также требует, чтобы мы никогда не рассматривали человека (в данном случае, разработчика или пользователя) только как средство, но всегда в то же время и как цель. Если эта жесткая структура используется для дегуманизации труда, превращая инженера в простой механизм для выполнения спецификаций, то она нарушает моральный закон. Следовательно, применение V-модели морально оправдано лишь в том случае, если в основе всего процесса лежит добрая воля и уважение к достоинству всех участников процесса.