Software Estimation

Содержание

Слайд 2

О себе

О себе

Слайд 3

КО

КО

Слайд 4

Зачем?

Зачем?

Слайд 5

Давайте на чистоту

Давайте на чистоту

Слайд 6

Слайд 7

Слайд 8

Слайд 9

Слайд 10

“Estimation is not Exactimation!” S. McConnell

“Estimation is not Exactimation!” S. McConnell

Слайд 11

Слайд 12

Проблемы оценок: Погрешность Разные люди Предубеждение Вариация производительности Риски Очень мало времени на оценку

Проблемы оценок:

Погрешность
Разные люди
Предубеждение
Вариация производительности
Риски
Очень мало времени на оценку

Слайд 13

А есть ли выход?

А есть ли выход?

Слайд 14

Оцениваем непрерывно Ретроспектива

Оцениваем непрерывно Ретроспектива

Слайд 15

Как оценивать?

Как оценивать?

Слайд 16

Уменьшаем неопределённость

Уменьшаем неопределённость

Слайд 17

Слайд 18

Ищем, что посчитать Количество бизнес-процессов Количество строк кода Количество входов-выходов Количество ХП Количество подсистем Количество модулей

Ищем, что посчитать

Количество бизнес-процессов
Количество строк кода
Количество входов-выходов
Количество ХП
Количество подсистем
Количество модулей

Слайд 19

Если считать нечего, то см. методы «Локтём по карте» и «Вилами по воде»

Если считать нечего, то см. методы «Локтём по карте» и «Вилами по воде»

Слайд 20

Этапы оценки

Этапы оценки

Слайд 21

1 этап Знаем «о чём»

1 этап

Знаем «о чём»

Слайд 22

Методы на 1-ом этапе «Локтём по карте» Метод аналогий

Методы на 1-ом этапе

«Локтём по карте»
Метод аналогий

Слайд 23

2 этап Знаем, «что»

2 этап

Знаем, «что»

Слайд 24

Методы на 2-ом этапе Экспертные оценки WBS Use Case Points Формула

Методы на 2-ом этапе

Экспертные оценки
WBS
Use Case Points
Формула Боэма
Классификация
Story Points
Planning Poker
Wideband Delphi

Слайд 25

3 этап Знаем, «как»

3 этап

Знаем, «как»

Слайд 26

Методы на 3-ем этапе WBS PERT CLOC Functional Points

Методы на 3-ем этапе

WBS
PERT
CLOC
Functional Points

Слайд 27

4 этап Знаем, «что получилось»

4 этап

Знаем, «что получилось»

Слайд 28

Методы на 4-ом этапе Ретроспектива

Методы на 4-ом этапе

Ретроспектива

Слайд 29

Примеры

Примеры

Слайд 30

Слайд 31

Исходные данные Чужой незнакомый код на Power Builder Ограниченная экспертиза в Power Builder

Исходные данные

Чужой незнакомый код на Power Builder
Ограниченная экспертиза в Power Builder

Слайд 32

Требуется Оценить миграцию кода на Java Минимизировать затраты на оценку

Требуется

Оценить миграцию кода на Java
Минимизировать затраты на оценку

Слайд 33

Что можем посчитать Количество файлов Объём кода в Мб Количество ХП

Что можем посчитать

Количество файлов
Объём кода в Мб
Количество ХП
Количество пунктов меню (вариантов

использования)
Количество экранных форм
Количество печатных форм
Слайд 34

Что можем вычислить Оценить среднее соотношение строк кода и объёма файлов (файлы содержат ещё и ресурсы)

Что можем вычислить

Оценить среднее соотношение строк кода и объёма файлов (файлы

содержат ещё и ресурсы)
Слайд 35

Что можем позаимствовать Статистику перевода строк кода Power Builder в Java

Что можем позаимствовать

Статистику перевода строк кода Power Builder в Java

Слайд 36

Как можем уточнить Анализ наиболее рискованных вариантов использования (экспертный анализ)

Как можем уточнить

Анализ наиболее рискованных вариантов использования (экспертный анализ)

Слайд 37

Что оцениваем Аналитика Разработка Тестирование Управление

Что оцениваем

Аналитика
Разработка
Тестирование
Управление

Слайд 38

Вводим поправки Ищем повторяющиеся действия – сокращаем оценки Не забываем про фреймворк – базовая архитектура

Вводим поправки

Ищем повторяющиеся действия – сокращаем оценки
Не забываем про фреймворк –

базовая архитектура
Слайд 39

Слайд 40

Исходные данные Длительность предыдущей фазы: 15 мес. Количество старых требований: 502

Исходные данные

Длительность предыдущей фазы: 15 мес.
Количество старых требований: 502
Команда уменьшилась в

2 раза
Количество новых требований: 250
Время на оценку – 2 дня
Задача – определить стоимость всех работ
Слайд 41

Грубая интегральная оценка 1 требование разрабатывалось: 15 мес. / 502 треб.

Грубая интегральная оценка

1 требование разрабатывалось: 15 мес. / 502 треб. =

0,62 дня
1 требование новой командой:
0,62 дня * 2 = 1,24 дня
Новый scope:
1,24 дня * 250 = 308 дней ~ 15 мес.
Слайд 42

Грубая интегральная оценка Корректировка на проблемы внедрения (эмпирически) 308 дней *

Грубая интегральная оценка

Корректировка на проблемы внедрения (эмпирически)
308 дней * 1,2 =

370 дней ~ 17,5 мес.
Общая трудоёмкость:
17,5 мес * 54 чел = 945 чел*мес
Слайд 43

Уточнение оценки На самом деле детализация требований изменилась На сколько?

Уточнение оценки

На самом деле детализация требований изменилась
На сколько?

Слайд 44

Ранжирование требований

Ранжирование требований

Слайд 45

Уточнённая оценка 250 новых требования соответствуют 74-ём старым требованиям 945 чел*мес

Уточнённая оценка

250 новых требования соответствуют 74-ём старым требованиям
945 чел*мес * (74

/ 250) = 280 чел*мес
Слайд 46

Описание результата Без технического и функционального анализа задач Без учёта проектных

Описание результата

Без технического и функционального анализа задач
Без учёта проектных факторов (команда,

баги, регрессии)
Без учёта внепроектных факторов (болезни, отпуска и пр.)
Только на основе предыдущего опыта!
Но закон больших чисел на нашей стороне. ☺
Слайд 47

Повышение атомарности задач Предыдущий этап: Не позволял манипулировать задачами Не учитывал

Повышение атомарности задач

Предыдущий этап:
Не позволял манипулировать задачами
Не учитывал специфику «несредних задач»
Был

слишком непрозрачен для Заказчика
Слайд 48

Оценка индивидуальных задач Разбиваем на аналитику, разработку, тестирование Ранжируем на уровни

Оценка индивидуальных задач

Разбиваем на аналитику, разработку, тестирование
Ранжируем на уровни сложности:
элементарный
лёгкий
средний
тяжёлый
очень тяжёлый

Слайд 49

Оценка индивидуальных задач * То же для аналитики и тестирования

Оценка индивидуальных задач

* То же для аналитики и тестирования

Слайд 50

Оценка задач

Оценка задач

Слайд 51

Индивидуальный анализ Индивидуальное ревью оценок на предмет явно завышенных или заниженных оценок

Индивидуальный анализ

Индивидуальное ревью оценок на предмет явно завышенных или заниженных оценок

Слайд 52

Результаты Проведена обоснованная оценка Применена комбинация методов Точность попадания по ряду задач 10-20 %

Результаты

Проведена обоснованная оценка
Применена комбинация методов
Точность попадания по ряду задач 10-20 %

Слайд 53

Вопросы Какие методы были применены в примере? Какие недостатки у методов? Какие преимущества у методов?

Вопросы

Какие методы были применены в примере?
Какие недостатки у методов?
Какие преимущества у

методов?