John D. McGregor, “Qualitative SIMPLE”, Journal of Object Technology, Volume 7, no. 7 (September 2008), pp. 7-16, doi:10.5381/jot.2008.7.7.c1.
Изложение в pdf – Qualitative SIMPLE
В данной статье описывается SIMPLE, Structured Intuitive Model of Product Line Economics. Это метод для моделирования стоимости и прибыли от ПО в течении его времени жизни. Описываемый метод позволяет найти качественную оценку, а не количественную, т.е. быстро оценить затраты и прибыль.
Часто необходимо быстро оценить затраты и прибыль, не прибегая к сложным ресурсоемким вычислениям. Модель SIMPLE предоставляет множество функций, которые учитывают расходы и доходы построения продукта. Мы не ограничиваем функции расходов и доходов, предоставляя свободу выбора аналитику. Аналитик подбирает ее исходя из ситуации.
Базовая модель расходов состоит из четырех частей:
<latex>C_{org}(\square) + C_{cab}(\square) + \sum_{i=1}^{n}(C_{unique_i}(\square) + C_{reuse_i}(\square))</latex>
где <latex>n</latex> – число продуктов.
<latex>C_{org}</latex>: расходы на организацию продаж. Обычно эту стоимость можно разделить на две части: стоимость старта и стоимость поддержки производства.
<latex>C_{cab}</latex>: суммарная стоимость всех компонентов продукта в течение всего производства. Идет речь о компонентах, которые используются во многих продуктах в течение производства.
<latex>C_{unique_i}</latex>: это стоимость уникальных (свойственных только этому конкретному продукту <latex>i</latex>) компонентов.
<latex>C_{reuse_i}</latex>: это суммарная стоимость переиспользования компонентов в продукте <latex>i</latex>. Процесс стремится минимизировать эту стоимость путем предоставления инструкций для компонента.
Дополнительные обозначения:
<latex>Ben_j</latex>: это ожидаемые выгоды от использования подхода линейки продуктов.
<latex>C_{prod}</latex>: это стоимость построения продукта в среде без линейки продукта.
<latex>product_t</latex>: этот параметр отвечает за определение продукта. Это может быть набор требований к продукту или точное имя продукта.
<latex>t_i</latex>: время.
<latex>C_{unique_t}(product_t,t_i)</latex>: стоимость уникальной части i-ого продукта, спецификация которого дана как <latex>product_t</latex> и он будет готов к времени <latex>t_i</latex>.
Один из способов использовать SIMPLE – построить оценки стоимости, используя Framework for Product Line Practices. См Рис. 1. Для ранней оценки в начальном исследовании наличие этой таблицы может помочь менеджеру сосредоточиться на одной вещи в один момент времени. Для того, чтобы компенсировать качество оценок, предлагается использовать симуляцию Монте-Карло.
На начальных этапах исследования чтобы определить, следует ли запустить линейку продуктов, часто бывает достаточно рассмотреть относительные издержки, а не точные. Относительное сравнение затрат между сценариями позволяет читателям сосредоточиться на отношениях между затратами и что будет происходить с этими затратами, а также как происходят изменения в линейке продуктов.
Предлагается строить таблицу, в которой несколько вариантов может быть описано относительно друг друга.
Сценарии, как правило, более сложны на практике, и лучший выбор не всегда очевиден. Качественное моделирование представляет собой более формальный подход, который дает возможность оценить все более точно за счет большего количества времени и усилий. Фрагмент модели на рисунке ниже показывает коренные структурные отношения между продуктом и продуктовой линейкой: линейка продуктов содержит продукты. Другие фрагменты будут связывать основные активы и уникальные предметы с производственной линией.
На следующем рисунке, продукт и базовый актив ядра связаны через “положительную пропорциональность” (P+). Этот фрагмент моделирует тот факт, что, как правило, если количество продуктов увеличивается, то стоимость базы активов ядра также увеличивается. Стоимость моделируется с помощью количественного пространства (quantity space), в котором величина либо возрастает, либо убывает, либо постоянна. Количество продуктов моделируется как значение, которое является положительным с положительной производной.
Качественные рассуждения предоставляют технику для моделирования сущностей, количества и взаимодействия без числовых значений.
Многие решения линейки продуктов, в частности, первоначальное решение о заимствовании – инвестиционные. Многие инвестиционные решения оцениваются по сумме отдачи, которая будет получена в результате инвестиций. Стандартная формула для вычисления окупаемости инвестиций (ROI):
<latex>\frac{a}{b}</latex> где a – доходы, полученные от инвестиций; b – полная сумма затрат.
Один из способов смоделировать выгоду от заимствования продуктовой линейки является сравнение стоимости строительства системы текущим способом и построения системы в линейке продуктов. Функция <latex>Ben</latex> может быть использована, чтобы более точно отражать преимущества продуктовой линейки, но там должны быть только выгоды, непосредственно связанные с подходом линейки продуктов. См. [Böckle 04].
Контекст, в котором линия продуктов реализуется, меняется со временем. [Ganesan 06] обсуждает, как организация производственной линии должна периодически обновлять основные средства. По существу эти затраты рассматриваются в функциях <latex>C_{cab}</latex> и <latex>C_{unique}</latex>. Технологии, информация о рынке, а также знания о предметной области, учитывающиеся в основных активах, имеют конечный срок службы. В некоторых областях этот срок может быть очень маленьким - несколько месяцев, или медленнее - год или больше. Модель SIMPLE учитывает это время жизни путем вычисления модели в тех сегментах, где каждый сегмент примерно равен отрезку времени до обновления. Со временем некоторые из артефактов, которые первоначально рассматривались как уникальные, будут перемещены в базу активов. Это происходит, когда команда продукта признает необходимость в той же функциональности, которая была использована в другом продукте. В продвижении к основным активам, затраты, связанные с двумя вхождениями в <latex>C_{unique}</latex> перемещаются в <latex>C_{cab}</latex>. Чтобы обеспечить возможность многократного использования, <latex>C_{cab}</latex> также возрастает на величину, необходимую для обновления уникальной части. Идея состоит в том, что с течением времени уменьшение <latex>C_{unique}</latex> будет больше, чем увеличение <latex>C_{cab}</latex>.
Первичные оценки, полученные с помощью SIMPLE хоть и являются высокоуровневыми, но позволяют быстро принять решение по продуктовой линейке. SIMPLE можно использовать для того, чтобы понять, какие продукты следует включить в продуктовую линейку и как организовать процесс разработки.
SIMPLE помогает организации быстро и качественно принять правильную стратегию с обоснованием (с учетом затрат и выгод).