SlideShare a Scribd company logo
1 of 23
Оценка трудозатрат
при разработке ПО
Оценка трудозатрат
Рассмотрим методы прогнозирования
трудозатрат, которые:
  Позволяют оценивать трудозатраты на ранних
  этапах, в условиях неопределенности.
  Позволяют учесть влияние рисков в сроках
  прогнозов.
  Снижают влияние тенденции экспертов к
  систематической недооценке сложности задач.
  Дают механизмы проверки достоверности
  сроков, основанные на метриках.
  При этом, практичны и просты в применении.
Оценка вариации
сроков
Как учесть неопределенность в прогнозе
Оценка вариации срока
Оценки сроков неточны:
  Эксперты часто имеют тенденцию к
  систематической недооценке сложности;
  Присутствие рисков не позволяет дать точных
  оценок;
  Имея единственную оценку нельзя понять, на
  что заложился эксперт, когда ее давал.

Выход – давать оценки оптимистичного и
пессимистичного сценариев.
  Critical Chain Project Management
  PERT
Метод PERT Estimation
Обрабатывает три экспертных оценки срока.
   L - «раньше не справлюсь точно, даже если
   повезет»;
   H - «успею гарантированно, даже если все риски
   сыграют»;
   M – «наиболее вероятно успею»

Формулы PERT:
PERT Estimation (μ) =( L + 4M + H ) / 6
PERT Deviation (σ) = ( H – L ) / 6

Задача уложится в срок μ+σ с вероятностью 72 %.
Основа PERT Estimation
Длительность задачи - случайная величина, имеющая бета-
распределение.

PERT Estimation и Deviation – матожидание и
среднеквадратичное отклонение

Между крайними оценками – 6 сигм
Свойства задач с
независимыми прогнозами
Для суммы независимых случайных
величин верно:
σ = √(σ12 + σ22 + … + σn2)
Сигма суммы независимых случайных
величин в процентах уменьшается при
увеличении их количества:
               n
                   0

Таким образом, чем больше в плане
«независимых» задач, тем точнее
суммарная оценка сроков. Погрешности
планирования разных задач компенсируют
друг друга.
Зависимость сигмы от
            количества задач
      Показана зависимость общей сигмы плана в
      процентах от количества независимых задач.

      Задачи имеют равные длительности и сигму 100%.
35%


30%


25%


20%

                                                                     σ/μ
15%


10%


5%


0%
      0   50   100   150   200   250   300   350   400   450   500
Какие задачи независимы?
Независимых задач в разработке много:
   Все задачи разработки, которые могут выполняться
   независимо друг от друга и впараллель;
   Все задачи, относящиеся к непересекающемуся
   функционалу;
   Большинство заданий, возникающих при
   поддержке ПО (исправление дефектов, реализация
   feature requests, и прочее).

Прогнозы задач зависимы, если их реальные
длительности зависят от одних и тех же факторов
   Зависимые задачи обычно связанны связью
   «окончание-начало». Например, фазы разработки
   зависимы по прогнозу между собой.
Оценки для группы задач
 Для суммы случайных величин верно:
 μ = μ1 + μ2 + ... + μn;
 Ожидаемое время выполнения задач просто
 суммируется.
 Сигма для группы задач:
    Суммируется для зависимых прогнозов;
    Может быть оценена как корень из суммы
    квадратов для независимых прогнозов.

 Распределение суммы случайных величин
 меняется, приближаясь к нормальному, при
 увеличении их количества.
 PERT: сумма задач уже не имеет бета-
 распределения.
Нормальное распределение
 «Не справлюсь точно» (вероятность <2%)
 = μ - 2σ

 «Успею с запасом» (вероятность 98%)
 = μ + 2σ

 Между крайними оценками 4 сигмы
PERT Estimation
PERT Deviation лишен внятного смысла для суммы
задач.
   «Задача уложится в μ+σ с вероятностью 72 %» - для
   суммы задач уже не верно.
   Сколько сигм надо добавить к прогнозу сроков всего
   проекта, чтобы успеть с вероятностью 85% («скорее
   всего»)?

PERT Estimation не лучше простой пары оценок
«оптимистичная – пессимистичная»
   Центральная оценка с весом 4 забивает крайние, и
   доминирует в прогнозе.

В результате, PERT на практике не позволяет работать
с большой неопределенностью в прогнозе.
Модифицируем формулу
       PERT
В предположении, что срок выполнения задачи
имеет нормальное распределение:
   «Не справлюсь точно» (вероятность <2%)
   = μ - 2σ
   «Успею с запасом» (вероятность 98%)
   = μ + 2σ

«Normal Estimation»:
   μ =( L + H ) / 2
   σ=(H–L)/4
   Распределение сохраняется при
   суммировании.
   Проект уложится в срок μ+σ c вероятностью ≈85%.
Применение метрик в
планировании
Практический подход
Основные метрики
Базовые метрики
  Время работы (дни, часы)
  Объем работы
    Строки кода (SLOC)
    Функциональные точки
    Количество классов, функций, и т. д.
  Количество ошибок

Производные метрики
  Продуктивность = Объем / Время
  Плотность ошибок = Количество / Объем
Свойства метрик
Базовые метрики дают корелляции
   Объем vs Время
   Объем vs количество ошибок

Производные метрики устойчивы и колеблются в
границах коридора.
Фактические значения метрик с завершенных
проектов могут быть измерены и использованы
при планировании.
PSP/TSP – пример методологии разработки
построенной на применении метрик.
Корелляция SLOC и времени работ




quot;Estimating With Objectsquot;, Watts S.
Humphrey, Carnegie-Mellon SEI
Метрика SLOC
Дает лучшие корелляции с временем и
количеством ошибок.
Учитываются только те строки, в которых можно
допустить ошибки.
   Не учитываются комментарии, пустые
   строки, и автоматически генерируемый код.
   Можно не учитывать операторные скобоки (begin-
   end, { }, прочее).

Может быть посчитана автоматически.
Может быть использована как промежуточная
метрика (proxy-based estimation), рассчитанная из
других метрик объема
(классы, функции, функциональные точки, и т.д.)
Время разработки
Время должно включать в себя все
основные активности разработки, на
которых вносятся ошибки:
  проектирование;
  кодирование;
  отладка;
  а, также, возможно, работу с требованиями.

Корелляции с объемом проявляются:
  На законченных проектах;
  На задачах, которые могут быть раздельно
  протестированы.
Метрика «продуктивности»
  Осмысленна при наличии корелляции время-объем.
  Более стабильна на больших отрезках времени, в том
  числе и для группы программистов.
  Колеблется в некотором коридоре, зависящем от:
     языка программирования;
     характера и сложности задачи;
     стиля программиста – разные люди решают
     одинаковые задачи с разным размером кода;
     качества результата – чем меньше в нем ошибок, тем
     меньше «продуктивность».

  Нельзя применять как показатель
  эффективности работы.
     Программист, тратящий меньше времени на
     проектирование, и пишущий больше кода для той же
     задачи – покажет высокую «продуктивность».
Применение в планировании
 Получение сроков от оценки объема:
    Выполнить прогноз объема в удобной метрике
    (например – количество модулей или классов)
    Перейти к SLOC (proxy-based estimation).
    Пользуясь корелляцией SLOC/time, выполнить прогноз
    времени.
    Недостатки
      Сложно учесть в прогнозе риски.
      Сложно учесть тенденцию экспертов к недооценке
      сложности.
      Требуется аккуратно подойти к выбору базы для снятия
      метрик.

 Альтернатива:
    Выполнить раздельный прогноз сроков и объема
    Использовать «продуктивность» как проверочный
    коэффициент
Правила проверки
Метрика «продуктивности» должна находится в
коридоре исторических колебаний по
аналогичным завершенным проектам.
   Вылет за коридор чаще всего означает грубую
   ошибку в прогнозе срока или объема.
«Продуктивность» должна отражать представление о
сложности задачи.
   Сложная задача не может иметь «продуктивность»
   у верхней границы коридора, и наоборот.

Для двух задач, одна из которых сложнее другой –
«продуктивность» более сложной должна быть
меньше.
   Невыполнение правила указывает на ошибку в
   оценках как минимум одной из задач.
Спасибо за внимание!
Владислав Балин, НТЦ «Модуль»
gaperton@gmail.com
gaperton.livejournal.com

More Related Content

What's hot

Автоматизированная мобильная система Агент+
Автоматизированная мобильная система Агент+Автоматизированная мобильная система Агент+
Автоматизированная мобильная система Агент+Agent Plus
 
стратегический план презентация
стратегический план презентациястратегический план презентация
стратегический план презентацияdacenkoff
 
WUD2008 - Михаил Матвеев, Данила Корнев - Использование контекстной информаци...
WUD2008 - Михаил Матвеев, Данила Корнев - Использование контекстной информаци...WUD2008 - Михаил Матвеев, Данила Корнев - Использование контекстной информаци...
WUD2008 - Михаил Матвеев, Данила Корнев - Использование контекстной информаци...wud
 
Beeline Brand Book
Beeline Brand BookBeeline Brand Book
Beeline Brand BookPetr Malukov
 
Программа лояльности
Программа лояльностиПрограмма лояльности
Программа лояльностиvseneshtiak
 
положение о пед совете гимназии
положение о пед совете гимназииположение о пед совете гимназии
положение о пед совете гимназииpkgpkg
 
как научить ребенка учится
как научить ребенка учитсякак научить ребенка учится
как научить ребенка учитсяАлина Ветрова
 
Аппаратные средства
Аппаратные средстваАппаратные средства
Аппаратные средстваtrenders
 
Виды декоративной штукатурки
Виды декоративной штукатуркиВиды декоративной штукатурки
Виды декоративной штукатуркиSergejnov
 
водні ресурси
водні ресурсиводні ресурси
водні ресурсиAlina Abramova
 
Monsana Goes Public Russian
Monsana Goes Public RussianMonsana Goes Public Russian
Monsana Goes Public Russiansimilei
 
Проект "Возвращение к истокам"
Проект "Возвращение к истокам"Проект "Возвращение к истокам"
Проект "Возвращение к истокам"lshevtcova
 
Турометр - социальная сеть
Турометр - социальная сетьТурометр - социальная сеть
Турометр - социальная сетьTurometr
 
Знания для бизнеса
Знания для бизнесаЗнания для бизнеса
Знания для бизнесаAlexander Babich
 
Процедура за подписване на Кодекса
Процедура за подписване на КодексаПроцедура за подписване на Кодекса
Процедура за подписване на КодексаKiril Raytchev
 

What's hot (20)

Автоматизированная мобильная система Агент+
Автоматизированная мобильная система Агент+Автоматизированная мобильная система Агент+
Автоматизированная мобильная система Агент+
 
стратегический план презентация
стратегический план презентациястратегический план презентация
стратегический план презентация
 
Openair Presentation
Openair PresentationOpenair Presentation
Openair Presentation
 
2
22
2
 
WUD2008 - Михаил Матвеев, Данила Корнев - Использование контекстной информаци...
WUD2008 - Михаил Матвеев, Данила Корнев - Использование контекстной информаци...WUD2008 - Михаил Матвеев, Данила Корнев - Использование контекстной информаци...
WUD2008 - Михаил Матвеев, Данила Корнев - Использование контекстной информаци...
 
Beeline Brand Book
Beeline Brand BookBeeline Brand Book
Beeline Brand Book
 
Программа лояльности
Программа лояльностиПрограмма лояльности
Программа лояльности
 
положение о пед совете гимназии
положение о пед совете гимназииположение о пед совете гимназии
положение о пед совете гимназии
 
как научить ребенка учится
как научить ребенка учитсякак научить ребенка учится
как научить ребенка учится
 
Аппаратные средства
Аппаратные средстваАппаратные средства
Аппаратные средства
 
Принц Растко Немањић
Принц Растко НемањићПринц Растко Немањић
Принц Растко Немањић
 
Виды декоративной штукатурки
Виды декоративной штукатуркиВиды декоративной штукатурки
Виды декоративной штукатурки
 
водні ресурси
водні ресурсиводні ресурси
водні ресурси
 
Monsana Goes Public Russian
Monsana Goes Public RussianMonsana Goes Public Russian
Monsana Goes Public Russian
 
Проект "Возвращение к истокам"
Проект "Возвращение к истокам"Проект "Возвращение к истокам"
Проект "Возвращение к истокам"
 
синюшкин
синюшкинсинюшкин
синюшкин
 
Турометр - социальная сеть
Турометр - социальная сетьТурометр - социальная сеть
Турометр - социальная сеть
 
Contact data
Contact dataContact data
Contact data
 
Знания для бизнеса
Знания для бизнесаЗнания для бизнеса
Знания для бизнеса
 
Процедура за подписване на Кодекса
Процедура за подписване на КодексаПроцедура за подписване на Кодекса
Процедура за подписване на Кодекса
 

Viewers also liked

креативное мышление
креативное мышлениекреативное мышление
креативное мышлениеJaneKozmina
 
Семинары и тренинги по делопроизводству, документообороту и архиву предприятия
Семинары и тренинги по делопроизводству, документообороту и архиву предприятияСеминары и тренинги по делопроизводству, документообороту и архиву предприятия
Семинары и тренинги по делопроизводству, документообороту и архиву предприятияProfi-Cariera
 
Cовременные командные принципы
Cовременные командные принципыCовременные командные принципы
Cовременные командные принципыgaperton
 
PMBOK Extension for Software Projects (in Russian)
PMBOK Extension for Software Projects (in Russian)PMBOK Extension for Software Projects (in Russian)
PMBOK Extension for Software Projects (in Russian)IAMCP MENTORING
 
Презентация семинаров по деловой переписке с клиентами
Презентация семинаров по деловой переписке с клиентамиПрезентация семинаров по деловой переписке с клиентами
Презентация семинаров по деловой переписке с клиентамиProfi-Cariera
 
Корпоративное обучение от "Профи-Карьера"
Корпоративное обучение от "Профи-Карьера"Корпоративное обучение от "Профи-Карьера"
Корпоративное обучение от "Профи-Карьера"Profi-Cariera
 
De Rol van de Registrar in het Museum
De Rol van de Registrar in het MuseumDe Rol van de Registrar in het Museum
De Rol van de Registrar in het Museumguestff8cab
 
Профессиональная разработка требований. Карта онлайн курса
Профессиональная разработка требований. Карта онлайн курсаПрофессиональная разработка требований. Карта онлайн курса
Профессиональная разработка требований. Карта онлайн курсаYulia Madorskaya
 
Промышленная разработка ПО. Лекция 3. Особенности работы программиста. Часть...
Промышленная разработка ПО. Лекция 3. Особенности работы программиста.  Часть...Промышленная разработка ПО. Лекция 3. Особенности работы программиста.  Часть...
Промышленная разработка ПО. Лекция 3. Особенности работы программиста. Часть...Mikhail Payson
 
Тимур Лукин - Архитектура и проектирование ПО
Тимур Лукин - Архитектура и проектирование ПОТимур Лукин - Архитектура и проектирование ПО
Тимур Лукин - Архитектура и проектирование ПОYandex
 
Плохой против хорошего консультанта
Плохой против хорошего консультантаПлохой против хорошего консультанта
Плохой против хорошего консультантаJaneKozmina
 
Системное мышление
Системное мышлениеСистемное мышление
Системное мышлениеJaneKozmina
 
Требования к по
Требования к поТребования к по
Требования к поJaneKozmina
 
Нотации оформления требований
Нотации оформления требованийНотации оформления требований
Нотации оформления требованийJaneKozmina
 
Промышленная разработка ПО. Лекция 8. Особенности работы руководителя проекто...
Промышленная разработка ПО. Лекция 8. Особенности работы руководителя проекто...Промышленная разработка ПО. Лекция 8. Особенности работы руководителя проекто...
Промышленная разработка ПО. Лекция 8. Особенности работы руководителя проекто...Mikhail Payson
 
Методологии разработки по
Методологии разработки поМетодологии разработки по
Методологии разработки поJaneKozmina
 
Организация работы с требованиями и документацией в TFS
Организация работы с требованиями и документацией в TFSОрганизация работы с требованиями и документацией в TFS
Организация работы с требованиями и документацией в TFSАлександр Шамрай
 

Viewers also liked (20)

креативное мышление
креативное мышлениекреативное мышление
креативное мышление
 
Семинары и тренинги по делопроизводству, документообороту и архиву предприятия
Семинары и тренинги по делопроизводству, документообороту и архиву предприятияСеминары и тренинги по делопроизводству, документообороту и архиву предприятия
Семинары и тренинги по делопроизводству, документообороту и архиву предприятия
 
Cовременные командные принципы
Cовременные командные принципыCовременные командные принципы
Cовременные командные принципы
 
PMBOK Extension for Software Projects (in Russian)
PMBOK Extension for Software Projects (in Russian)PMBOK Extension for Software Projects (in Russian)
PMBOK Extension for Software Projects (in Russian)
 
Презентация семинаров по деловой переписке с клиентами
Презентация семинаров по деловой переписке с клиентамиПрезентация семинаров по деловой переписке с клиентами
Презентация семинаров по деловой переписке с клиентами
 
Корпоративное обучение от "Профи-Карьера"
Корпоративное обучение от "Профи-Карьера"Корпоративное обучение от "Профи-Карьера"
Корпоративное обучение от "Профи-Карьера"
 
De Rol van de Registrar in het Museum
De Rol van de Registrar in het MuseumDe Rol van de Registrar in het Museum
De Rol van de Registrar in het Museum
 
Профессиональная разработка требований. Карта онлайн курса
Профессиональная разработка требований. Карта онлайн курсаПрофессиональная разработка требований. Карта онлайн курса
Профессиональная разработка требований. Карта онлайн курса
 
CDI and Weld
CDI and WeldCDI and Weld
CDI and Weld
 
Промышленная разработка ПО. Лекция 3. Особенности работы программиста. Часть...
Промышленная разработка ПО. Лекция 3. Особенности работы программиста.  Часть...Промышленная разработка ПО. Лекция 3. Особенности работы программиста.  Часть...
Промышленная разработка ПО. Лекция 3. Особенности работы программиста. Часть...
 
Yyyyyy yyyy 1-8
Yyyyyy yyyy 1-8Yyyyyy yyyy 1-8
Yyyyyy yyyy 1-8
 
Тимур Лукин - Архитектура и проектирование ПО
Тимур Лукин - Архитектура и проектирование ПОТимур Лукин - Архитектура и проектирование ПО
Тимур Лукин - Архитектура и проектирование ПО
 
Плохой против хорошего консультанта
Плохой против хорошего консультантаПлохой против хорошего консультанта
Плохой против хорошего консультанта
 
Системное мышление
Системное мышлениеСистемное мышление
Системное мышление
 
Требования к по
Требования к поТребования к по
Требования к по
 
Нотации оформления требований
Нотации оформления требованийНотации оформления требований
Нотации оформления требований
 
Промышленная разработка ПО. Лекция 8. Особенности работы руководителя проекто...
Промышленная разработка ПО. Лекция 8. Особенности работы руководителя проекто...Промышленная разработка ПО. Лекция 8. Особенности работы руководителя проекто...
Промышленная разработка ПО. Лекция 8. Особенности работы руководителя проекто...
 
Методологии разработки по
Методологии разработки поМетодологии разработки по
Методологии разработки по
 
Организация работы с требованиями и документацией в TFS
Организация работы с требованиями и документацией в TFSОрганизация работы с требованиями и документацией в TFS
Организация работы с требованиями и документацией в TFS
 
It-tuning itsm_pm
It-tuning itsm_pmIt-tuning itsm_pm
It-tuning itsm_pm
 

оценка трудозатрат

  • 2. Оценка трудозатрат Рассмотрим методы прогнозирования трудозатрат, которые: Позволяют оценивать трудозатраты на ранних этапах, в условиях неопределенности. Позволяют учесть влияние рисков в сроках прогнозов. Снижают влияние тенденции экспертов к систематической недооценке сложности задач. Дают механизмы проверки достоверности сроков, основанные на метриках. При этом, практичны и просты в применении.
  • 3. Оценка вариации сроков Как учесть неопределенность в прогнозе
  • 4. Оценка вариации срока Оценки сроков неточны: Эксперты часто имеют тенденцию к систематической недооценке сложности; Присутствие рисков не позволяет дать точных оценок; Имея единственную оценку нельзя понять, на что заложился эксперт, когда ее давал. Выход – давать оценки оптимистичного и пессимистичного сценариев. Critical Chain Project Management PERT
  • 5. Метод PERT Estimation Обрабатывает три экспертных оценки срока. L - «раньше не справлюсь точно, даже если повезет»; H - «успею гарантированно, даже если все риски сыграют»; M – «наиболее вероятно успею» Формулы PERT: PERT Estimation (μ) =( L + 4M + H ) / 6 PERT Deviation (σ) = ( H – L ) / 6 Задача уложится в срок μ+σ с вероятностью 72 %.
  • 6. Основа PERT Estimation Длительность задачи - случайная величина, имеющая бета- распределение. PERT Estimation и Deviation – матожидание и среднеквадратичное отклонение Между крайними оценками – 6 сигм
  • 7. Свойства задач с независимыми прогнозами Для суммы независимых случайных величин верно: σ = √(σ12 + σ22 + … + σn2) Сигма суммы независимых случайных величин в процентах уменьшается при увеличении их количества: n 0 Таким образом, чем больше в плане «независимых» задач, тем точнее суммарная оценка сроков. Погрешности планирования разных задач компенсируют друг друга.
  • 8. Зависимость сигмы от количества задач Показана зависимость общей сигмы плана в процентах от количества независимых задач. Задачи имеют равные длительности и сигму 100%. 35% 30% 25% 20% σ/μ 15% 10% 5% 0% 0 50 100 150 200 250 300 350 400 450 500
  • 9. Какие задачи независимы? Независимых задач в разработке много: Все задачи разработки, которые могут выполняться независимо друг от друга и впараллель; Все задачи, относящиеся к непересекающемуся функционалу; Большинство заданий, возникающих при поддержке ПО (исправление дефектов, реализация feature requests, и прочее). Прогнозы задач зависимы, если их реальные длительности зависят от одних и тех же факторов Зависимые задачи обычно связанны связью «окончание-начало». Например, фазы разработки зависимы по прогнозу между собой.
  • 10. Оценки для группы задач Для суммы случайных величин верно: μ = μ1 + μ2 + ... + μn; Ожидаемое время выполнения задач просто суммируется. Сигма для группы задач: Суммируется для зависимых прогнозов; Может быть оценена как корень из суммы квадратов для независимых прогнозов. Распределение суммы случайных величин меняется, приближаясь к нормальному, при увеличении их количества. PERT: сумма задач уже не имеет бета- распределения.
  • 11. Нормальное распределение «Не справлюсь точно» (вероятность <2%) = μ - 2σ «Успею с запасом» (вероятность 98%) = μ + 2σ Между крайними оценками 4 сигмы
  • 12. PERT Estimation PERT Deviation лишен внятного смысла для суммы задач. «Задача уложится в μ+σ с вероятностью 72 %» - для суммы задач уже не верно. Сколько сигм надо добавить к прогнозу сроков всего проекта, чтобы успеть с вероятностью 85% («скорее всего»)? PERT Estimation не лучше простой пары оценок «оптимистичная – пессимистичная» Центральная оценка с весом 4 забивает крайние, и доминирует в прогнозе. В результате, PERT на практике не позволяет работать с большой неопределенностью в прогнозе.
  • 13. Модифицируем формулу PERT В предположении, что срок выполнения задачи имеет нормальное распределение: «Не справлюсь точно» (вероятность <2%) = μ - 2σ «Успею с запасом» (вероятность 98%) = μ + 2σ «Normal Estimation»: μ =( L + H ) / 2 σ=(H–L)/4 Распределение сохраняется при суммировании. Проект уложится в срок μ+σ c вероятностью ≈85%.
  • 15. Основные метрики Базовые метрики Время работы (дни, часы) Объем работы Строки кода (SLOC) Функциональные точки Количество классов, функций, и т. д. Количество ошибок Производные метрики Продуктивность = Объем / Время Плотность ошибок = Количество / Объем
  • 16. Свойства метрик Базовые метрики дают корелляции Объем vs Время Объем vs количество ошибок Производные метрики устойчивы и колеблются в границах коридора. Фактические значения метрик с завершенных проектов могут быть измерены и использованы при планировании. PSP/TSP – пример методологии разработки построенной на применении метрик.
  • 17. Корелляция SLOC и времени работ quot;Estimating With Objectsquot;, Watts S. Humphrey, Carnegie-Mellon SEI
  • 18. Метрика SLOC Дает лучшие корелляции с временем и количеством ошибок. Учитываются только те строки, в которых можно допустить ошибки. Не учитываются комментарии, пустые строки, и автоматически генерируемый код. Можно не учитывать операторные скобоки (begin- end, { }, прочее). Может быть посчитана автоматически. Может быть использована как промежуточная метрика (proxy-based estimation), рассчитанная из других метрик объема (классы, функции, функциональные точки, и т.д.)
  • 19. Время разработки Время должно включать в себя все основные активности разработки, на которых вносятся ошибки: проектирование; кодирование; отладка; а, также, возможно, работу с требованиями. Корелляции с объемом проявляются: На законченных проектах; На задачах, которые могут быть раздельно протестированы.
  • 20. Метрика «продуктивности» Осмысленна при наличии корелляции время-объем. Более стабильна на больших отрезках времени, в том числе и для группы программистов. Колеблется в некотором коридоре, зависящем от: языка программирования; характера и сложности задачи; стиля программиста – разные люди решают одинаковые задачи с разным размером кода; качества результата – чем меньше в нем ошибок, тем меньше «продуктивность». Нельзя применять как показатель эффективности работы. Программист, тратящий меньше времени на проектирование, и пишущий больше кода для той же задачи – покажет высокую «продуктивность».
  • 21. Применение в планировании Получение сроков от оценки объема: Выполнить прогноз объема в удобной метрике (например – количество модулей или классов) Перейти к SLOC (proxy-based estimation). Пользуясь корелляцией SLOC/time, выполнить прогноз времени. Недостатки Сложно учесть в прогнозе риски. Сложно учесть тенденцию экспертов к недооценке сложности. Требуется аккуратно подойти к выбору базы для снятия метрик. Альтернатива: Выполнить раздельный прогноз сроков и объема Использовать «продуктивность» как проверочный коэффициент
  • 22. Правила проверки Метрика «продуктивности» должна находится в коридоре исторических колебаний по аналогичным завершенным проектам. Вылет за коридор чаще всего означает грубую ошибку в прогнозе срока или объема. «Продуктивность» должна отражать представление о сложности задачи. Сложная задача не может иметь «продуктивность» у верхней границы коридора, и наоборот. Для двух задач, одна из которых сложнее другой – «продуктивность» более сложной должна быть меньше. Невыполнение правила указывает на ошибку в оценках как минимум одной из задач.
  • 23. Спасибо за внимание! Владислав Балин, НТЦ «Модуль» gaperton@gmail.com gaperton.livejournal.com