Software Estimation


The Presentation inside:

Slide 0

Software Estimation


Slide 1

О себе


Slide 2

КО


Slide 3

Зачем?


Slide 4

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


Slide 5


Slide 6


Slide 7


Slide 8


Slide 9

“Estimation is not Exactimation!” S. McConnell


Slide 10


Slide 11

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


Slide 12

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


Slide 13

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


Slide 14

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


Slide 15

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


Slide 16


Slide 17

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


Slide 18

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


Slide 19

Этапы оценки


Slide 20

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


Slide 21

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


Slide 22

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


Slide 23

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


Slide 24

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


Slide 25

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


Slide 26

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


Slide 27

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


Slide 28

Примеры


Slide 29


Slide 30

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


Slide 31

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


Slide 32

Что можем посчитать Количество файлов Объём кода в Мб Количество ХП Количество пунктов меню (вариантов использования) Количество экранных форм Количество печатных форм


Slide 33

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


Slide 34

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


Slide 35

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


Slide 36

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


Slide 37

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


Slide 38


Slide 39

Исходные данные Длительность предыдущей фазы: 15 мес. Количество старых требований: 502 Команда уменьшилась в 2 раза Количество новых требований: 250 Время на оценку – 2 дня Задача – определить стоимость всех работ


Slide 40

Грубая интегральная оценка 1 требование разрабатывалось: 15 мес. / 502 треб. = 0,62 дня 1 требование новой командой: 0,62 дня * 2 = 1,24 дня Новый scope: 1,24 дня * 250 = 308 дней ~ 15 мес.


Slide 41

Грубая интегральная оценка Корректировка на проблемы внедрения (эмпирически) 308 дней * 1,2 = 370 дней ~ 17,5 мес. Общая трудоёмкость: 17,5 мес * 54 чел = 945 чел*мес


Slide 42

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


Slide 43

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


Slide 44

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


Slide 45

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


Slide 46

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


Slide 47

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


Slide 48

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


Slide 49

Оценка задач


Slide 50

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


Slide 51

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


Slide 52

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


Slide 53

Заключение


×

HTML:





Ссылка: