Подводя итоги рассмотрения вклада, различных фаз
жизненного цикла в экономику программного проекта
в кризис, необходимо сделать несколько финальных
замечаний и привести небольшой практический пример.
Прежде всего, отметит, что вклад различных стадий
жизненного цикла в экономику проекта различен и
принципиально, что цена ошибки растет
экспоненциально при продвижении к более поздним
стадиям разработки. То есть если мы сделали
ошибку на достаточно ранних стадиях, скажем,
концептуальную ошибку при анализе требований,
выявлении требований, спецификации требований
или архитектурном проектировании, нам придется
повторить или существенно переработать все
предыдущие стадии, прежде чем наш продукт можно
будет предъявлять заказчику. То есть
переанализировать требования, перепроектировать,
перетестировать, переинтегрировать и т.д. И только
после этого, после разработки документации
сквозной трассировки всех артефактов можно будет
передать продукт заказчику. Поэтому ошибки
необходимо выявлять, как можно раньше, для этого
существуют специальные методы и отдельные модели
жизненного цикла, мы их рассмотрим в дальнейшем
специально направлены на то что бы такие ошибки
обнаруживать, как можно раньше и по возможности
исправлять. И если говорить о цене этой ошибки,
на слайде приведен небольшой пример, разработка
интернет-магазина, это можно сравнивать, скажем,
с небольшой частью достаточно крупного модуля,
корпоративные системы, предположим, учета,
планирования, управления людских ресурсов. Здесь
нужно сказать, что это примерно от 1% до, может быть
5% по затратам на такой модуль, то что приведено,
те цифры, которые приведены на слайде. То есть
на пару порядков, на самом деле затраты будут выше,
если нам придется их повторно произвести.
Ну, относительно небольшой проект интерент-магазин,
это далеко не только код, а множество других
артефактов. Ну, скажем, сценарий использования,
то есть основные функции, описание основных
функций в формальном виде, порядка тысячи строк.
Код порядка двух тысяч строк, то есть на самом деле
вполне сравнимо по объему со сценариями, диаграммы
включают порядка ста атрибутов сущности, то есть те
характеристики основных классов, скажем, фамилия
сотрудника или адрес сотрудника, которые нам нужно
будет учесть. Схема базы данных для такой
небольшой системы, порядка 50 полей и
пользовательская документация, минимальная, это
порядка 30 страниц, самые основные операции,
которые пользователь должен производить в системе,
с небольшим количеством скриншотов, снимков экрана,
то есть на самом деле, очень компактно, так сказать,
по минимуму, описания этой системы.
Если мы придем к тому, что скажем, это пересчитать
в корпоративную систему по затратам, то значит
даже не большая относительно, необходимость
корректировки потребует доработки или переработки,
в объеме, примерно, одного человека года, если
говорить о том, что общий объем работ составляет
порядка сотни человека лет. Вот примерно такая
экономика жизненного цикла и ее естественно нужно
учитывать при антикризисной разработке программных систем.