SlideShare a Scribd company logo
1 of 79
Оценка аутсорсинговых
проектов
Наталья Желнова
(nzhelnova@teamcit.ru)
В чем специфика?
АУТСОРСИНГ
Аутсорсинг: в чем специфика?
• Мы должны точно оценить проекты до их
начала
• Часто контракты заключаются на условиях
fixed time and budget
• Оценки должны быть реалистичными
Зачем, когда и как?
ОЦЕНКА ПРОЕКТА
Оценка проектов: когда и зачем?
Когда?
• Формирование предложения клиентам
• Оценка стоимости проекта для заказчика и для
себя
• Принятие решения для начала или
продолжения работы над проектами
• Начало планирования
Оценка проектов: когда и зачем?
Зачем?
• Принятие управленческих решений
• Формирование бюджета
• Оперативное управление
• Планирование проекта
• Контроль за ходом проекта
Оценка и контроль проекта
Оценка проектов тесно связана с процессами контроля и
планирования
Приоритезация, планирование, контроль – это
процессы, зависящие и зависимые от оценивания
На основании оценок мы принимаем обязательства о
поставке запланированной функциональности к
установленному сроку, обеспечивая оговоренное
качество
Оценка и контроль проекта
Контроль проекта:
• Удаление некритичной для достижения цели
функциональности
• Переопределение требований
• Замена неквалифицированного персонала более
квалифицированным
… и т.д.
Оценка и контроль проекта
Что такое «хорошо»?
Менеджер, хорошо оценивающий проект – это не тот, кто
хорошо угадывает, сколько времени займет проект и
какова будет его стоимость. Это человек, который
может привести проект к успеху в заданные сроки.
Какова настоящая цель оценки?
Предсказание
• Определить, насколько реалистичны цели проекта
• Определить, сможем ли мы достигнуть поставленных
целей
• Определить, сможем ли мы контролировать ход
проекта для достижения его целей
• Определить, как мы будем контролировать ход проекта
Рабочий критерий хорошей оценки
Хорошая оценка – это такая оценка, которая обеспечивает
достаточно ясное понимание ситуации в проекте, чтобы
руководство могло принимать правильные решения и
достичь целей проекта
Цена хорошей оценки
Недооценка и переоценка
ОЦЕНКА ПРОЕКТА
Цена хорошей оценки
Враги хороших оценок – нереалистичные цели проекта,
завышенные ожидания и слишком высокие
обязательства
Точные оценки требуют дополнительных затрат на:
• Регулярные пересмотры целей и рабочих планов
• Регулярное выполнение процедур проектного контроля
Недооценка или переоценка?
Аргументы против завышенной оценки:
• Давление со стороны топ-менеджмента и акционеров
• Люди привыкнут к такому темпу работы, и в следующем
проекте их будет трудно заставить повысить
производительность
• Прокрастинация команды, которой нечем занять свое
время
Недооценка или переоценка?
Аргументы против заниженной оценки:
• Проектные планы теряют точность и ценность
• Ошибки в планировании времени задач
• Ошибки в планировании размера команды
• Потеря координации между группами участников проекта
• Вероятность выполнить проект в срок без превышения
бюджета существенно снижается
• Экономия на проработке архитектуры и других
технических деталей
• Потеря качества
• Постоянные опоздания снижают мотивацию команды
Недооценка или переоценка?
Что ждет команду при заниженной оценке:
• Постоянные совещания с целью установить контрольь над
проектом и вернуть его в начальные временные рамки
• Постоянные корректировки планов, которые учитывают
опоздания
• Возможность подготовки промежуточных релизов (для демо-
версий и выставок, к которым мы не успеваем)
• Продолжительные дискуссии о том, какую функциональность
еще можно исключить из следующего релиза, чтобы успеть к
сроку
• Проблемы и ошибки, которые необходимо устранить из-за
непродуманных временных решений, которые были приняты
в условиях сжатых сроков (стоимость «костылей»)
Недооценка или переоценка?
Нелинейная зависимость при заниженной оценке:
• Затраты на перепланирование
• Увеличенное число ошибок и стоимость их исправлений
• Решения, которые повышают риски
Откуда берется ошибка оценки?
ОЦЕНКА ПРОЕКТА
Источники ошибок оценки
• Неточная информация об оцениваемом проекте
• Неточная информация об организации, которая будет
выполнять проект, и о проектной команде
• Слишком много усилий тратится на достижение как можно
более точной оценки (мы ловим ускользающую цель)
• Погрешности самой оценки
Примеры источников ошибок оценки
Система, автоматизирующая процесс приема заказов:
1. Ввод телефонного номера: нужна ли заказчику проверки правильности введенного
номера?
2. Если проверка нужна: какая именно проверка необходима? (Существующие стандартные
варианты: (1), (2), (3) , срок реализации: 2 человекочаса, 2 человекодня и 2
человеконедели)
3. Если заказчик определился с вариантом проверки телефонного номера, не передумает
ли он в дальнейшем?
4. Можно ли использовать стандартные готовые решения при реализации проверки
телефонного номера?
5. Каков будет дизайн функции проверки телефонного номера? (существует более 10
стандартных вариантов с разными уровнями сложности)
6. Сколько времени займет реализация проверки телефонного номера?
7. Нужна ли интеграция проверки телефонного номера и проверки адреса?
8. Каков необходимый уровень качества для проверки телефонного номера? (в
зависимости от реализации, число ошибок может различаться в 10 раз)
9. Сколько времени потребуется на отладку и исправление ошибок проверки телефонного
номера? (индивидуальные показатели у различных программистов отличаются в 10 раз)
Влияние источников ошибок оценки
Для одной функции: число источников неопределенности оценки –
порядка 10
Для 100 и более функций: в 100 раз больше
Даже если учесть все факторы, вносящие неопределенность, для
каждой функции, то не всегда можно учесть взаимное влияние
всех неопределенностей.
Чем больше проект, тем больше неопределенность
Конус неопределенности
Вертикальная ось: степень ошибки в оценке, сделанной опытными специалистами
Горизонтальная ось: время
Контрольные точки на графике: фазы проекта
Конус неопределенности
Сам по себе конус неопределенности не сужается: влияние
плохого контроля на оценки
Что увеличивает неопределенность?
ОЦЕНКА ПРОЕКТА
Хаотический процесс разработки
• Требования не были определены и проанализированы
• Плохая проработка архитектуры и дизайна,
приводящая к множеству ошибок
• Неквалифицированный персонал
• Неплоное и неточное планирование проекта
• Отказ от планирования проекта под давлением сжатых
сроков
• Отсутствие тестирования
Хаотический процесс разработки: что
делать?
• Прежде чем приступать к оценкам, необходимо устранить хаос
• Устранение наиболее дестабилизирующего фактора хаоса дает
больший результат, чем попытка борьбы на всех фронтах
одновременно
Изменение требований
• При нестабильных требованиях неопределенность не удается
уменьшить
• Изменения в требованиях не всегда достаточно точно
учитываются
• При изменении в требованиях не всегда выполняется анализ
влияния изменений
• Добавленные/удаленные требования влияют на время и
стоимость проекта
Изменение требований
Насколько может увеличиться объем требований? – оценки NASA's
Software Engineering Laboratory: 40%
Изменение требований: что делать?
• При нестабильных требованиях нужно уделять пристальное
внимание контролю хода проекта, а не только оценке
• Рекомендуется попробовать выбрать другую стратегию
контроля и оценки
«Забытые» задачи
Одна из самых частых причин ошибок оценки:
При оценке объема и времени работ, разработчики
пропускают 20%-30% задач, что приводит к ошибке 20-30%
«Забытые» задачи можно разделить на три категории:
• пропущенные требования
• пропущенные задачи, относящиеся к разработке ПО
• пропущенные задачи, не относящиеся к разработке ПО
Требования, которые часто не
учитываются при планировании
работ
Функциональные требования Нефункциональные требования
Автоматизация процесса установки/настройки Точность
Утилиты преобразования данных Совместимость
Справочная система/документация Модифицируемость
Автоматизация процесса развертывания Производительность
Интерфейсы взаимодейтсвия с внешними
системами
Переносимость
Надежность
Время отклика/Быстродействие
Возможность повторного использования
Расширяемость
Защищенность/Безопасность
Доступность
Требования к удобству использования
Пропущенные требования: что делать?
Резервируйте время, которое потребуется для реализации
пропущенных требований, и включайте его в оценку
Пропущенные задачи, относящиеся
к разработке ПО
Время, необходимое для «акклиматизации»
новичков
Техподдержка существующих систем во время
выполнения проекта
Обучение новичков Время недоступности систем, которые
используются в проекте / интегрируются с
разрабатываемым продуктом
Координация и встречи Время на устранение ошибок
Перенос/развертывание систем Улучшение производительности
Преобразование данных Изучение новых инструментов
Установка Административная работа в процессе
устранения ошибок
Кастомизация/Настройка Координация с тестировщиками (разработчики)
Уточнение требований Координация с разработчиками (тестировщики)
Администрирование ПО контроля изменений Ответы на вопросы тестировщиков и службы
качества
Поддержка и автоматизация процесса сборки Разработка и контроль качества документации
Поддержка кода автоматического теста перед
сборкой
Демонстрация рабработанного продукта
пользователям
Пропущенные задачи, относящиеся
к разработке ПО
Установка ПО на пользовательских рабочих
местах для пользовательского тестирования
Демонстрация ПО на выставках
Создание наборов данных для тестирования Демонстрация готовых прототипов
Менеджмент программы бета-тестирования Взаимодействие с пользователями
Участие в процедурах пересмотра и улучшения
кода, дизайна, архитектуры (reviews)
Поддержка бета-версий продукта на рабочих
местах пользователей
Работы, связанные с интеграцией Пересмотр планов проекта
Работа с запросами на изменение Пересмотр архитектуры
Время на митинги по утверждению
изменений/выпуску пробных версий продукта
Пересмотр и изменение тестовых сценариев
Координация с субподрядчиками Обновление документации
Пропущенные задачи, относящиеся к
разработке ПО: что делать?
Составляйте проверочные листы и исследуйте их на полноту
Включайте в оценку время, необходимое для всех работ,
связанных с разработкой ПО, а не только чистое время на
разработку и тестирование
Пропущенные задачи, не
относящиеся к разработке ПО
Время отпуска членов проектной команды Общие собрания компании
Выходные и праздничные дни Собрания отделов
Время болезни Установка нового ПО на рабочие станции,
замена рабочих станций
Обучение Устранение неисправностей в работе ПО и
аппаратуры
Пропущенные задачи, не относящиеся к
разработке ПО: что делать?
• Составляйте проверочные листы
• Если продолжительность проекта более месяца, включайте в
оценку время, необходимое для учета всех поправок во
времени, не связанных с разработкой ПО: отпуска, больничные,
обучение и т.д.
Необоснованный оптимизм
Van Genuchten, Michiel, 1991. "Why Is Software Late? An Empirical
Study of Reasons for Delay in Software Development." IEEE
Transactions on Software Engineering SE-17, no. 6 (June): при
оценке затрат, разработчики уменьшают оценку по
сравнению с реальным временем на 20-30% (по материалам
обзор более 300 проектов)
Обычные предпосылки для оптимизма:
• Производительность в этом проекте будет выше, чем в
предыдущем
• В предыдущем проекте мы допустили множество ошибок. В
этот раз все будет совсем не так!
• В прошоый раз у нас было меньше опыта, в этот раз мы мы
уже набили шишки и управимся значительно быстрее
Необоснованный оптимизм: что делать?
• Устраняйте ошибки в оценках, связанных с пропущенными
задачами
• Не уменьшайте оценки, которые дают разработчики: они и так
чересчур оптимистичны
Субъективизм и систематическая ошибка
оценки
• Субъективизм – следствие разного опыта (сознательного и
бессознательного)
• Методы борьбы с субъективизмом: предположение, что чем
сложнее техника оценки, чем больше параметров
учитывается, чем больше контрольных точек, тем точнее
оценка. Это в корне неверно: чем больше параметров в
оценке и больше контрольных точек, тем сильнее фактор
субъективной оценки
Cocomo II: 17 поправочных коэффициентов и 5 коэффициентов,
учитывающих масштаб. В каждом случае выбор цифр –
субъективное мнение выполняющего оценку.
Субъективизм и систематическая ошибка
оценки
 Оценка с множеством факторов, включающих субъективную
оценку
Субъективизм и систематическая ошибка
оценки
Оценка с одним фактором, включающим субъективную оценку
Другие источники ошибок
 Незнакомая предметная область
 Неосвоенная технология
 Некорректное преобразование из оценки времени на задачу в
продолжительность проекта (например, предположение, что
проектная команда будет работать в режиме 12x7)
 Неправильная интерпретация статистических результатов
(например, использование только «наилучших» и «наихудших»
значений)
 Ошибки планирования проекта при точной оценке
 Упрощение оценки и методов управления, связанных с ней
 Давление на команду в условиях сокращенных бюджетов
проекта
Что влияет на оценку?
ОЦЕНКА ПРОЕКТА
Факторы, влияющие на оценку
 Размер проекта
 Вид разрабатываемого ПО
 Человеческий фактор
 Используемые технологии (языки программирования)
 Другие факторы
Размер проекта: влияние на оценку
 Для стандартных бизнес-приложений
Размер проекта: влияние на оценку
 Для стандартных бизнес-приложений
Размер проекта: влияние на оценку
 Размер проекта – фактор, наиболее влияющий на стоимость
проекта
 Однако:
 К оценкам стоимости, трудозатрат и времени обычно приступают
раньше, чем будет известен размер проекта
 Стоимость, трудозатраты и время не увеличиваются с ростом
размера проекта
 Добавление строки кода в проект размером 100000 LOC и
10000000 LOC займет разное время
Человеческий фактор: влияние на
оценку
Производительность – не постоянная величина
• Разброс в значениях производительности может
достигать 10-22 раз
Влияние человеческого фактора связано с размером
проекта (большие проекты дают большую
неточность оценки)
Основные факторы, влияющие на
производительность:
• Наличие опыта
• Сплоченность команды
• Скорость ротации персонала
• Качество менеджмента
Человеческий фактор: влияние на
оценку
Другие факторы: влияние на
оценку
Поправочные коэффициенты Cocomo II
Диапазон коэффициентов
Фактор Очень
низ
кий
Низ-
кий
Номина
льный
Высо
кий
Очень
высо
кий
Сверх-
высо
кий
Влия
ние
Опыт в
определенной
предметной
области
1.22 1.10 1.00 0.88 0.81 1.51
Размер БД 0.90 1.00 1.14 1.28 1.42
Повторное
использование
компонентов
0.95 1.00 1.07 1.15 1.24 1.31
Другие факторы: влияние на
оценку
Поправочные коэффициенты Cocomo II
Диапазон коэффициентов
Фактор Очень
низ
кий
Низ
кий
Номина
льный
Высо
кий
Очень
высо
кий
Сверх-
высо
кий
Влия
ние
Ротация персонала 1.29 1.12 1.00 0.90 0.81 1.59
Объем
необходимой
документации
0.81 0.91 1.00 1.11 1.23 1.52
Техническая
компетенция
(языки,
инструменты)
1.20 1.09 1.00 0.91 0.84 1.43
Другие факторы: влияние на
оценку
Поправочные коэффициенты Cocomo II
Диапазон коэффициентов
Фактор Очень
низ
кий
Низ
кий
Номина
льный
Высо
кий
Очень
высо
кий
Сверх-
высо
кий
Влия
ние
Развертывание
разрабатываемого
ПО на нескольких
узлах
1.22 1.09 1.00 0.93 0.86 0.78 1.56
Опыт работы с
платформой
1.19 1.09 1.00 0.91 0.85 1.40
Изменения
платформы
0.87 1.00 1.15 1.30 1.49
Сложность
продукта
0.73 0.87 1.00 1.17 1.34 1.74 2.38
Другие факторы: влияние на
оценку
Поправочные коэффициенты Cocomo II
Диапазон коэффициентов оценки
Фактор Очень
низ
кий
Низ
кий
Номина
льный
Высо
кий
Очень
высо
кий
Сверх-
высо
кий
Влия
ние
Надежность
разрабатываемого
ПО
0.82 0.92 1.00 1.10 1.26 1.54
Производитель
ность группы
аналитиков
1.42 1.19 1.00 0.85 0.71 2.00
Ограничения
хранилища
1.00 1.05 1.17 1.46 1.46
Другие факторы: влияние на
оценку
Поправочные коэффициенты Cocomo II
Диапазон коэффициентов оценки
Фактор Очень
низ
кий
Низ
кий
Номина
льный
Высо
кий
Очень
высо
кий
Сверх-
высо
кий
Влия
ние
Производитель
ность группы
разработки
1.34 1.15 1.00 0.88 0.76 2.00 1.76
Ограничения по
времени
1.00 1.11 1.29 1.63 1.63
Использование
специализированн
ого ПО
(инструменты)
1.17 1.09 1.00 0.90 0.78 1.50
Влияние различных факторов на
оценку
Поправочные коэффициенты
(COCOMO II)
Фактор Коэф-
фици-
ент
Критерий
Опыт в
предметной
области
1.51 Отсутствие/наличие опыта в предметной области
Снижение
архитектурных
рисков
1.38 Управление архитектурными рисками/пренебрежение
архитектурными рисками
Размер БД 1.42 Размер и сложность БД
Повторное
использование
компонентов
1.31 Возможность повторного использования
Поправочные коэффициенты
(COCOMO II)
Фактор Коэф-
фици-
ент
Критерий
Разработка
документации
1.52 Объем необходимой документации
Техническая
компетенция
(языки,
инструменты)
1.43 Отсутствие/наличие опыта
Развертывание
разрабатываемого
ПО на нескольких
узлах
1.56 Число узлов, на которых нужно развернуть ПО
Ротация
персонала
1.59 Частота ротации
Поправочные коэффициенты
(COCOMO II)
Фактор Коэф-
фици-
ент
Критерий
Опыт работы с
платформой
1.40 Отсутствие/наличие опыта
Изменения
платформы
1.49 Стабильность платформы;
Число изменений и их влияние на проект
Наличие
прецедентов
1.33 Число прецедентов
Зрелость процесса 1.43 Уровень зрелости
Сложность
продукта
2.38 Тип разрабатываемого продукта
Уровень сложности продукта
Производитель-
ность группы
разработчиков
1.76 Скорость разработки
Поправочные коэффициенты
(COCOMO II)
Фактор Коэф-
фици-
ент
Критерий
Опыт работы с
платформой
1.40 Отсутствие/наличие опыта
Изменения
платформы
1.49 Стабильность платформы;
Число изменений и их влияние на проект
Наличие
прецедентов
1.33 Число прецедентов
Зрелость процесса 1.43 Уровень зрелости
Сложность
продукта
2.38 Тип разрабатываемого продукта
Уровень сложности продукта
Производитель-
ность группы
разработчиков
1.76 Скорость разработки кода
Поправочные коэффициенты
(COCOMO II)
Фактор Коэф-
фици-
ент
Критерий
Надежность
разрабатываемого
ПО
1.54 Степень надежности разрабатываемого ПО
Производитель-
ность группы
аналитиков
2.00 Скорость разработки требований
Гибкость
разработки
требований
1.26 Жесткость требований, наличие разных вариантов
реализации трбований
Ограничения
хранилища
1.46 Наличие ограничений по размеру хранилища данных
Поправочные коэффициенты
(COCOMO II)
Фактор Коэф-
фици-
ент
Критерий
Сплоченность
команды
1.29 Степень сплоченности команды;
качество коммуникаций
Ограничения по
времени
1.63 Наличие и степень ограничений по времени
Использование
специализирован
ного ПО
1.50 Применение ПО, повышающего эффективность работы
Как мы оцениваем проект?
ТЕХНИКА ОЦЕНКИ
Применимость разных методов
оценки
Применимость методов оценки:
Групповые оценки и
пересмотр
Калибровка и данные,
относящиеся к
конкретному проекту
Параметры оценки Размер, трудозатраты,
план проекта, свойства
продукта
Размер, трудозатраты,
план проекта, свойства
продукта
Размер проекта Средний, большой Маленький, средний,
большой
Стадии проекта Ранние - средние Средние – поздние
Итеративная /
Последовательная
разработка
Итеративная и
последовательная
Итеративная и
последовательная
Точность оценки Средняя - высокая Высокая
На чем базируется оценка
Оценки по аналогии
Предположения
Подсчеты (и источники цифр)
Чем точнее источник, тем вернее оценка?
Задача на оценку - офис
Оценить: сколько
человек работает
в офисе?
Задача на оценку - офис
• 5 помещений
• 8 столов в каждом
помещении
• 4 места за столом
Задача на оценку – офис
160 человек?
От 140 до 180 человек?
От 140 до 160 человек?
Другие цифры?
Задача на оценку – офис
162 человека
Задача на оценку – офис
165 человек
Какие параметры брать в основу
оценки?
• Те,которыепозволяютоценитьразмер
создаваемогопродукта
• Те,которыедоступнынараннихстадиях
разработкиибудутуточненынаболее
позднихстадиях
• Те,которыебудутдаватьвам
достовернуюинформацию
• Те,которыедадутвамответнавопросыо
прогрессепроектаиокачествепродукта
Параметры, используемые для
оценки
Параметр Данные, которые собираются для оценки
Бизнес-требования:
трудоемкость
Среднее число человеко-часов, необходимое для
реализации бизнес-требования
Среднее число человеко-часов, необходимое для
независимого тестирования реализованного бизнес-
требования
Среднее число человеко-часов, необходимое для
разработки и документирования бизнес-требования
Среднее число человеко-часов, необходимое для
разработки системных требований, связанных с
бизнес-требованием
Ключевые свойства
продукта (featires):
трудоемкость
Среднее число человеко-часов, необходимое для
реализации ключевого свойства продукта
Параметры, используемые для
оценки
Параметр Данные, которые собираются для оценки
Функциональные точки
(function points)
Среднее число человеко-часов, необходимое для
реализации/тестирования/документирования на
одну функциональную точку
Среднее число функциональных точек, которые
возможно реализовать за неделю/месяц
Запросы на изменения
(change requests)
Среднее число человеко-часов, необходимое для
реализации/тестирования/документирования
одного запроса на изменение (в зависимости от этой
величины, запросы на измнение можно разделить
на мелкие, средние, крупные)
Web-страницы / формы Среднее число человеко-часов, необходимое для
верстки одной страницы
Среднее число человеко-часов в объеме всего
проекта, необходимое для разработки 1 страницы
Параметры, используемые для
оценки
Параметр Данные, которые собираются для оценки
Отчеты Среднее число человеко-часов, необходимое для
реализации/тестирования/документирования на
один отчет
Таблицы БД Среднее число человеко-часов, необходимое для
создания, изменения, заполнения данными 1
таблицы
Среднее число человеко-часов в объеме всего
проекта, необходимое для создания, изменения,
заполнения данными 1 таблицы
Параметры, используемые для
оценки
Параметр Данные, которые собираются для оценки
Классы Среднее число человеко-часов, необходимое для
реализации, на один класс
Среднее число человеко-часов, необходимое для
тестирования, на один класс
Среднее число человеко-часов, необходимое для
инспекции кода, на один класс
Затраты на
конфигурационное
управление
Среднее число часов, необходимое для реализации
одного конфигурационного изменения
Параметры, используемые для
оценки
Параметр Данные, которые собираются для оценки
Число строк кода (LOC) Среднее число дефектов на строку кода
Среднее число человеко-часов, необходимое для
инспекции одной строки кода
Среднее число строк кода, добавленное в проект
между двумя релизами
Затраты на
конфигурационное
управление
Среднее число часов, необходимое для реализации
одного конфигурационного изменения
Сценарии тестирования Среднее число человеко-часов, необходимое для
реализации одного сценария тестирования
Покрытие кода тестами
Итоги
• Устранение хаоса
• Регулярный пересмотр оценок
• Планирование и контроль
• Использование измеряемых показателей
для оценки и планирования
Спасибо за внимание
Наталья Желнова
nzhelnova@teamcit.ru

More Related Content

What's hot

Mva stf module 3 - rus
Mva stf module 3 - rusMva stf module 3 - rus
Mva stf module 3 - rusMaxim Shaptala
 
РИТ-2008: Взаимодействие отдела проектирования интерфейсов и разработчиков в ...
РИТ-2008: Взаимодействие отдела проектирования интерфейсов и разработчиков в ...РИТ-2008: Взаимодействие отдела проектирования интерфейсов и разработчиков в ...
РИТ-2008: Взаимодействие отдела проектирования интерфейсов и разработчиков в ...Yury Vetrov
 
Waterfall revisited: практические метрики тестирования
Waterfall revisited: практические метрики тестированияWaterfall revisited: практические метрики тестирования
Waterfall revisited: практические метрики тестированияSQALab
 
Управляемое внедрение. Основы управления распределенными программными проекта...
Управляемое внедрение. Основы управления распределенными программными проекта...Управляемое внедрение. Основы управления распределенными программными проекта...
Управляемое внедрение. Основы управления распределенными программными проекта...Cергей Мартынов
 
Crystal Agile, или как мы приспособили процесс разработки для обеспечения мак...
Crystal Agile, или как мы приспособили процесс разработки для обеспечения мак...Crystal Agile, или как мы приспособили процесс разработки для обеспечения мак...
Crystal Agile, или как мы приспособили процесс разработки для обеспечения мак...SQALab
 
Как оценить проект, чтобы не было мучительно больно...потом
Как оценить проект, чтобы не было мучительно больно...потомКак оценить проект, чтобы не было мучительно больно...потом
Как оценить проект, чтобы не было мучительно больно...потомVladymyr Rudenko
 
Путь тестировщика: Расту или деградирую?
Путь тестировщика: Расту или деградирую?Путь тестировщика: Расту или деградирую?
Путь тестировщика: Расту или деградирую?SQALab
 
Модуль 2: Лекция 7-8. Обзор моделей, методологий и фреймворков
Модуль 2: Лекция 7-8. Обзор моделей, методологий и фреймворковМодуль 2: Лекция 7-8. Обзор моделей, методологий и фреймворков
Модуль 2: Лекция 7-8. Обзор моделей, методологий и фреймворковYana Brodetski
 
Ответственность за качество в разных ИТ-проектах
Ответственность за качество в разных ИТ-проектахОтветственность за качество в разных ИТ-проектах
Ответственность за качество в разных ИТ-проектахSQALab
 
Модуль 3. Лекция 15-16. Устав проекта
Модуль 3. Лекция 15-16. Устав проектаМодуль 3. Лекция 15-16. Устав проекта
Модуль 3. Лекция 15-16. Устав проектаYana Brodetski
 
Варианты использования (use cases) для быстрой оценки проектов
Варианты использования (use cases) для быстрой оценки проектовВарианты использования (use cases) для быстрой оценки проектов
Варианты использования (use cases) для быстрой оценки проектовSQALab
 
Mva stf module 1 - rus
Mva stf module 1 - rusMva stf module 1 - rus
Mva stf module 1 - rusMaxim Shaptala
 
О чем молчит Scrum. Whalerider 2010
О чем молчит Scrum. Whalerider 2010О чем молчит Scrum. Whalerider 2010
О чем молчит Scrum. Whalerider 2010Artem Volftrub
 
Continious integration-Automated Testing-Solid-Agile
Continious integration-Automated Testing-Solid-AgileContinious integration-Automated Testing-Solid-Agile
Continious integration-Automated Testing-Solid-AgileKairat Yussupov
 
Модуль 2: Лекция 11-12: Scrum - обзор фреймворка
Модуль 2: Лекция 11-12: Scrum  - обзор фреймворкаМодуль 2: Лекция 11-12: Scrum  - обзор фреймворка
Модуль 2: Лекция 11-12: Scrum - обзор фреймворкаYana Brodetski
 
от каждого по потребностям, каждому — по Agile
от каждого по потребностям, каждому — по Agileот каждого по потребностям, каждому — по Agile
от каждого по потребностям, каждому — по AgileAlexey Deryushkin
 
DUMP-2013 Управление разработкой - Метрики в проектах по разработке нового пр...
DUMP-2013 Управление разработкой - Метрики в проектах по разработке нового пр...DUMP-2013 Управление разработкой - Метрики в проектах по разработке нового пр...
DUMP-2013 Управление разработкой - Метрики в проектах по разработке нового пр...it-people
 
Модуль 6. Лекция 29-30. Управление сроками проекта
Модуль 6. Лекция 29-30. Управление сроками проектаМодуль 6. Лекция 29-30. Управление сроками проекта
Модуль 6. Лекция 29-30. Управление сроками проектаYana Brodetski
 

What's hot (20)

Mva stf module 3 - rus
Mva stf module 3 - rusMva stf module 3 - rus
Mva stf module 3 - rus
 
РИТ-2008: Взаимодействие отдела проектирования интерфейсов и разработчиков в ...
РИТ-2008: Взаимодействие отдела проектирования интерфейсов и разработчиков в ...РИТ-2008: Взаимодействие отдела проектирования интерфейсов и разработчиков в ...
РИТ-2008: Взаимодействие отдела проектирования интерфейсов и разработчиков в ...
 
Waterfall revisited: практические метрики тестирования
Waterfall revisited: практические метрики тестированияWaterfall revisited: практические метрики тестирования
Waterfall revisited: практические метрики тестирования
 
Управляемое внедрение. Основы управления распределенными программными проекта...
Управляемое внедрение. Основы управления распределенными программными проекта...Управляемое внедрение. Основы управления распределенными программными проекта...
Управляемое внедрение. Основы управления распределенными программными проекта...
 
Crystal Agile, или как мы приспособили процесс разработки для обеспечения мак...
Crystal Agile, или как мы приспособили процесс разработки для обеспечения мак...Crystal Agile, или как мы приспособили процесс разработки для обеспечения мак...
Crystal Agile, или как мы приспособили процесс разработки для обеспечения мак...
 
Как оценить проект, чтобы не было мучительно больно...потом
Как оценить проект, чтобы не было мучительно больно...потомКак оценить проект, чтобы не было мучительно больно...потом
Как оценить проект, чтобы не было мучительно больно...потом
 
Путь тестировщика: Расту или деградирую?
Путь тестировщика: Расту или деградирую?Путь тестировщика: Расту или деградирую?
Путь тестировщика: Расту или деградирую?
 
Модуль 2: Лекция 7-8. Обзор моделей, методологий и фреймворков
Модуль 2: Лекция 7-8. Обзор моделей, методологий и фреймворковМодуль 2: Лекция 7-8. Обзор моделей, методологий и фреймворков
Модуль 2: Лекция 7-8. Обзор моделей, методологий и фреймворков
 
Ответственность за качество в разных ИТ-проектах
Ответственность за качество в разных ИТ-проектахОтветственность за качество в разных ИТ-проектах
Ответственность за качество в разных ИТ-проектах
 
Lection 1 2_pm
Lection 1 2_pmLection 1 2_pm
Lection 1 2_pm
 
Модуль 3. Лекция 15-16. Устав проекта
Модуль 3. Лекция 15-16. Устав проектаМодуль 3. Лекция 15-16. Устав проекта
Модуль 3. Лекция 15-16. Устав проекта
 
MS ALM 2013 Review
MS ALM 2013 ReviewMS ALM 2013 Review
MS ALM 2013 Review
 
Варианты использования (use cases) для быстрой оценки проектов
Варианты использования (use cases) для быстрой оценки проектовВарианты использования (use cases) для быстрой оценки проектов
Варианты использования (use cases) для быстрой оценки проектов
 
Mva stf module 1 - rus
Mva stf module 1 - rusMva stf module 1 - rus
Mva stf module 1 - rus
 
О чем молчит Scrum. Whalerider 2010
О чем молчит Scrum. Whalerider 2010О чем молчит Scrum. Whalerider 2010
О чем молчит Scrum. Whalerider 2010
 
Continious integration-Automated Testing-Solid-Agile
Continious integration-Automated Testing-Solid-AgileContinious integration-Automated Testing-Solid-Agile
Continious integration-Automated Testing-Solid-Agile
 
Модуль 2: Лекция 11-12: Scrum - обзор фреймворка
Модуль 2: Лекция 11-12: Scrum  - обзор фреймворкаМодуль 2: Лекция 11-12: Scrum  - обзор фреймворка
Модуль 2: Лекция 11-12: Scrum - обзор фреймворка
 
от каждого по потребностям, каждому — по Agile
от каждого по потребностям, каждому — по Agileот каждого по потребностям, каждому — по Agile
от каждого по потребностям, каждому — по Agile
 
DUMP-2013 Управление разработкой - Метрики в проектах по разработке нового пр...
DUMP-2013 Управление разработкой - Метрики в проектах по разработке нового пр...DUMP-2013 Управление разработкой - Метрики в проектах по разработке нового пр...
DUMP-2013 Управление разработкой - Метрики в проектах по разработке нового пр...
 
Модуль 6. Лекция 29-30. Управление сроками проекта
Модуль 6. Лекция 29-30. Управление сроками проектаМодуль 6. Лекция 29-30. Управление сроками проекта
Модуль 6. Лекция 29-30. Управление сроками проекта
 

Similar to Оценка аутсорсинговых проектов

Разработка веб-сервисов осень 2013 лекция 3
Разработка веб-сервисов осень 2013 лекция 3Разработка веб-сервисов осень 2013 лекция 3
Разработка веб-сервисов осень 2013 лекция 3Technopark
 
Пример внедрения Agile в крупном проекте. Как не следует внедрять Agile
Пример внедрения Agile в крупном проекте. Как не следует внедрять AgileПример внедрения Agile в крупном проекте. Как не следует внедрять Agile
Пример внедрения Agile в крупном проекте. Как не следует внедрять AgileAlexey Krivitsky
 
Trpo 9 управление проектами
Trpo 9 управление проектамиTrpo 9 управление проектами
Trpo 9 управление проектамиpogromskaya
 
Разработка качественного ПО
Разработка качественного ПОРазработка качественного ПО
Разработка качественного ПОAnton Rusanov
 
Оценка эффективности от внедрения и использования методологии и инструменталь...
Оценка эффективности от внедрения и использования методологии и инструменталь...Оценка эффективности от внедрения и использования методологии и инструменталь...
Оценка эффективности от внедрения и использования методологии и инструменталь...Александр Шамрай
 
Завершение проектов
Завершение проектовЗавершение проектов
Завершение проектовTimofei Tatarinov
 
Метрики процесса бизнес-анализа. Стадии проекта и состав технической документ...
Метрики процесса бизнес-анализа. Стадии проекта и состав технической документ...Метрики процесса бизнес-анализа. Стадии проекта и состав технической документ...
Метрики процесса бизнес-анализа. Стадии проекта и состав технической документ...SPbCoA
 
IT-шная история игрушек или feature-driven тестирование в действии
IT-шная история игрушек или feature-driven тестирование в действииIT-шная история игрушек или feature-driven тестирование в действии
IT-шная история игрушек или feature-driven тестирование в действииGleb Rybalko
 
Как принести пользу разработке и упростить себе жизнь?
Как принести пользу разработке и упростить себе жизнь?Как принести пользу разработке и упростить себе жизнь?
Как принести пользу разработке и упростить себе жизнь?SQALab
 
Управление и координирование ИТ проектами
Управление и координирование ИТ проектамиУправление и координирование ИТ проектами
Управление и координирование ИТ проектамиJana Pavlenkova
 
Система управления требованиями Devprom
Система управления требованиями DevpromСистема управления требованиями Devprom
Система управления требованиями DevpromEvgeny Savitsky
 
Основные ошибки менеджеров при планировании проектов
Основные ошибки менеджеров при планировании проектовОсновные ошибки менеджеров при планировании проектов
Основные ошибки менеджеров при планировании проектовNatalia Zhelnova
 
Основные ошибки менеджеров при планировании проектов
Основные ошибки менеджеров при планировании проектовОсновные ошибки менеджеров при планировании проектов
Основные ошибки менеджеров при планировании проектовSQALab
 
некоторые правила управления проектами. часть I
некоторые правила управления проектами. часть Iнекоторые правила управления проектами. часть I
некоторые правила управления проектами. часть Iprigarov
 

Similar to Оценка аутсорсинговых проектов (20)

Разработка веб-сервисов осень 2013 лекция 3
Разработка веб-сервисов осень 2013 лекция 3Разработка веб-сервисов осень 2013 лекция 3
Разработка веб-сервисов осень 2013 лекция 3
 
Пример внедрения Agile в крупном проекте. Как не следует внедрять Agile
Пример внедрения Agile в крупном проекте. Как не следует внедрять AgileПример внедрения Agile в крупном проекте. Как не следует внедрять Agile
Пример внедрения Agile в крупном проекте. Как не следует внедрять Agile
 
Trpo 9 управление проектами
Trpo 9 управление проектамиTrpo 9 управление проектами
Trpo 9 управление проектами
 
Разработка качественного ПО
Разработка качественного ПОРазработка качественного ПО
Разработка качественного ПО
 
01ka-nov
01ka-nov01ka-nov
01ka-nov
 
Оценка эффективности от внедрения и использования методологии и инструменталь...
Оценка эффективности от внедрения и использования методологии и инструменталь...Оценка эффективности от внедрения и использования методологии и инструменталь...
Оценка эффективности от внедрения и использования методологии и инструменталь...
 
Завершение проектов
Завершение проектовЗавершение проектов
Завершение проектов
 
Метрики процесса бизнес-анализа. Стадии проекта и состав технической документ...
Метрики процесса бизнес-анализа. Стадии проекта и состав технической документ...Метрики процесса бизнес-анализа. Стадии проекта и состав технической документ...
Метрики процесса бизнес-анализа. Стадии проекта и состав технической документ...
 
IT-шная история игрушек или feature-driven тестирование в действии
IT-шная история игрушек или feature-driven тестирование в действииIT-шная история игрушек или feature-driven тестирование в действии
IT-шная история игрушек или feature-driven тестирование в действии
 
Как принести пользу разработке и упростить себе жизнь?
Как принести пользу разработке и упростить себе жизнь?Как принести пользу разработке и упростить себе жизнь?
Как принести пользу разработке и упростить себе жизнь?
 
Управление и координирование ИТ проектами
Управление и координирование ИТ проектамиУправление и координирование ИТ проектами
Управление и координирование ИТ проектами
 
It global meetup_01
It global meetup_01It global meetup_01
It global meetup_01
 
Система управления требованиями Devprom
Система управления требованиями DevpromСистема управления требованиями Devprom
Система управления требованиями Devprom
 
Sep reqm-lec1
Sep reqm-lec1Sep reqm-lec1
Sep reqm-lec1
 
Основные ошибки менеджеров при планировании проектов
Основные ошибки менеджеров при планировании проектовОсновные ошибки менеджеров при планировании проектов
Основные ошибки менеджеров при планировании проектов
 
Основные ошибки менеджеров при планировании проектов
Основные ошибки менеджеров при планировании проектовОсновные ошибки менеджеров при планировании проектов
Основные ошибки менеджеров при планировании проектов
 
Критерии выбора системы электронного документооборота
Критерии выбора системы электронного документооборотаКритерии выбора системы электронного документооборота
Критерии выбора системы электронного документооборота
 
CCPM DBR Vebinar 28 01 2010
CCPM DBR Vebinar 28 01 2010CCPM DBR Vebinar 28 01 2010
CCPM DBR Vebinar 28 01 2010
 
ФТО
ФТОФТО
ФТО
 
некоторые правила управления проектами. часть I
некоторые правила управления проектами. часть Iнекоторые правила управления проектами. часть I
некоторые правила управления проектами. часть I
 

More from SQALab

Готовим стажировку
Готовим стажировкуГотовим стажировку
Готовим стажировкуSQALab
 
Куда приводят мечты? или Искусство развития тестировщика
Куда приводят мечты? или Искусство развития тестировщикаКуда приводят мечты? или Искусство развития тестировщика
Куда приводят мечты? или Искусство развития тестировщикаSQALab
 
Оптимизация Selenium тестов и ускорение их поддержки
Оптимизация Selenium тестов и ускорение их поддержкиОптимизация Selenium тестов и ускорение их поддержки
Оптимизация Selenium тестов и ускорение их поддержкиSQALab
 
Автоматизация 0.0: 0 - бюджет, 0 - опыт программирования
Автоматизация 0.0: 0 - бюджет, 0 - опыт программированияАвтоматизация 0.0: 0 - бюджет, 0 - опыт программирования
Автоматизация 0.0: 0 - бюджет, 0 - опыт программированияSQALab
 
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...SQALab
 
Continuous performance testing
Continuous performance testingContinuous performance testing
Continuous performance testingSQALab
 
Конфиги вместо костылей. Pytestconfig и зачем он нужен
Конфиги вместо костылей. Pytestconfig и зачем он нуженКонфиги вместо костылей. Pytestconfig и зачем он нужен
Конфиги вместо костылей. Pytestconfig и зачем он нуженSQALab
 
Команда чемпионов в ИТ стихии
Команда чемпионов в ИТ стихииКоманда чемпионов в ИТ стихии
Команда чемпионов в ИТ стихииSQALab
 
API. Серебряная пуля в магазине советов
API. Серебряная пуля в магазине советовAPI. Серебряная пуля в магазине советов
API. Серебряная пуля в магазине советовSQALab
 
Добиваемся эффективности каждого из 9000+ UI-тестов
Добиваемся эффективности каждого из 9000+ UI-тестовДобиваемся эффективности каждого из 9000+ UI-тестов
Добиваемся эффективности каждого из 9000+ UI-тестовSQALab
 
Делаем автоматизацию проектных KPIs
Делаем автоматизацию проектных KPIsДелаем автоматизацию проектных KPIs
Делаем автоматизацию проектных KPIsSQALab
 
Вредные привычки в тест-менеджменте
Вредные привычки в тест-менеджментеВредные привычки в тест-менеджменте
Вредные привычки в тест-менеджментеSQALab
 
Мощь переполняет с JDI 2.0 - новая эра UI автоматизации
Мощь переполняет с JDI 2.0 - новая эра UI автоматизацииМощь переполняет с JDI 2.0 - новая эра UI автоматизации
Мощь переполняет с JDI 2.0 - новая эра UI автоматизацииSQALab
 
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качествеКак hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качествеSQALab
 
Стили лидерства и тестирование
Стили лидерства и тестированиеСтили лидерства и тестирование
Стили лидерства и тестированиеSQALab
 
"Давайте не будем про качество"
"Давайте не будем про качество""Давайте не будем про качество"
"Давайте не будем про качество"SQALab
 
Apache.JMeter для .NET-проектов
Apache.JMeter для .NET-проектовApache.JMeter для .NET-проектов
Apache.JMeter для .NET-проектовSQALab
 
Тестирование геолокационных систем
Тестирование геолокационных системТестирование геолокационных систем
Тестирование геолокационных системSQALab
 
Лидер или босс? Вот в чем вопрос
Лидер или босс? Вот в чем вопросЛидер или босс? Вот в чем вопрос
Лидер или босс? Вот в чем вопросSQALab
 
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...SQALab
 

More from SQALab (20)

Готовим стажировку
Готовим стажировкуГотовим стажировку
Готовим стажировку
 
Куда приводят мечты? или Искусство развития тестировщика
Куда приводят мечты? или Искусство развития тестировщикаКуда приводят мечты? или Искусство развития тестировщика
Куда приводят мечты? или Искусство развития тестировщика
 
Оптимизация Selenium тестов и ускорение их поддержки
Оптимизация Selenium тестов и ускорение их поддержкиОптимизация Selenium тестов и ускорение их поддержки
Оптимизация Selenium тестов и ускорение их поддержки
 
Автоматизация 0.0: 0 - бюджет, 0 - опыт программирования
Автоматизация 0.0: 0 - бюджет, 0 - опыт программированияАвтоматизация 0.0: 0 - бюджет, 0 - опыт программирования
Автоматизация 0.0: 0 - бюджет, 0 - опыт программирования
 
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
 
Continuous performance testing
Continuous performance testingContinuous performance testing
Continuous performance testing
 
Конфиги вместо костылей. Pytestconfig и зачем он нужен
Конфиги вместо костылей. Pytestconfig и зачем он нуженКонфиги вместо костылей. Pytestconfig и зачем он нужен
Конфиги вместо костылей. Pytestconfig и зачем он нужен
 
Команда чемпионов в ИТ стихии
Команда чемпионов в ИТ стихииКоманда чемпионов в ИТ стихии
Команда чемпионов в ИТ стихии
 
API. Серебряная пуля в магазине советов
API. Серебряная пуля в магазине советовAPI. Серебряная пуля в магазине советов
API. Серебряная пуля в магазине советов
 
Добиваемся эффективности каждого из 9000+ UI-тестов
Добиваемся эффективности каждого из 9000+ UI-тестовДобиваемся эффективности каждого из 9000+ UI-тестов
Добиваемся эффективности каждого из 9000+ UI-тестов
 
Делаем автоматизацию проектных KPIs
Делаем автоматизацию проектных KPIsДелаем автоматизацию проектных KPIs
Делаем автоматизацию проектных KPIs
 
Вредные привычки в тест-менеджменте
Вредные привычки в тест-менеджментеВредные привычки в тест-менеджменте
Вредные привычки в тест-менеджменте
 
Мощь переполняет с JDI 2.0 - новая эра UI автоматизации
Мощь переполняет с JDI 2.0 - новая эра UI автоматизацииМощь переполняет с JDI 2.0 - новая эра UI автоматизации
Мощь переполняет с JDI 2.0 - новая эра UI автоматизации
 
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качествеКак hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
 
Стили лидерства и тестирование
Стили лидерства и тестированиеСтили лидерства и тестирование
Стили лидерства и тестирование
 
"Давайте не будем про качество"
"Давайте не будем про качество""Давайте не будем про качество"
"Давайте не будем про качество"
 
Apache.JMeter для .NET-проектов
Apache.JMeter для .NET-проектовApache.JMeter для .NET-проектов
Apache.JMeter для .NET-проектов
 
Тестирование геолокационных систем
Тестирование геолокационных системТестирование геолокационных систем
Тестирование геолокационных систем
 
Лидер или босс? Вот в чем вопрос
Лидер или босс? Вот в чем вопросЛидер или босс? Вот в чем вопрос
Лидер или босс? Вот в чем вопрос
 
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
 

Оценка аутсорсинговых проектов

  • 3. Аутсорсинг: в чем специфика? • Мы должны точно оценить проекты до их начала • Часто контракты заключаются на условиях fixed time and budget • Оценки должны быть реалистичными
  • 4. Зачем, когда и как? ОЦЕНКА ПРОЕКТА
  • 5. Оценка проектов: когда и зачем? Когда? • Формирование предложения клиентам • Оценка стоимости проекта для заказчика и для себя • Принятие решения для начала или продолжения работы над проектами • Начало планирования
  • 6. Оценка проектов: когда и зачем? Зачем? • Принятие управленческих решений • Формирование бюджета • Оперативное управление • Планирование проекта • Контроль за ходом проекта
  • 7. Оценка и контроль проекта Оценка проектов тесно связана с процессами контроля и планирования Приоритезация, планирование, контроль – это процессы, зависящие и зависимые от оценивания На основании оценок мы принимаем обязательства о поставке запланированной функциональности к установленному сроку, обеспечивая оговоренное качество
  • 8. Оценка и контроль проекта Контроль проекта: • Удаление некритичной для достижения цели функциональности • Переопределение требований • Замена неквалифицированного персонала более квалифицированным … и т.д.
  • 10. Что такое «хорошо»? Менеджер, хорошо оценивающий проект – это не тот, кто хорошо угадывает, сколько времени займет проект и какова будет его стоимость. Это человек, который может привести проект к успеху в заданные сроки.
  • 11. Какова настоящая цель оценки? Предсказание • Определить, насколько реалистичны цели проекта • Определить, сможем ли мы достигнуть поставленных целей • Определить, сможем ли мы контролировать ход проекта для достижения его целей • Определить, как мы будем контролировать ход проекта
  • 12. Рабочий критерий хорошей оценки Хорошая оценка – это такая оценка, которая обеспечивает достаточно ясное понимание ситуации в проекте, чтобы руководство могло принимать правильные решения и достичь целей проекта
  • 13. Цена хорошей оценки Недооценка и переоценка ОЦЕНКА ПРОЕКТА
  • 14. Цена хорошей оценки Враги хороших оценок – нереалистичные цели проекта, завышенные ожидания и слишком высокие обязательства Точные оценки требуют дополнительных затрат на: • Регулярные пересмотры целей и рабочих планов • Регулярное выполнение процедур проектного контроля
  • 15. Недооценка или переоценка? Аргументы против завышенной оценки: • Давление со стороны топ-менеджмента и акционеров • Люди привыкнут к такому темпу работы, и в следующем проекте их будет трудно заставить повысить производительность • Прокрастинация команды, которой нечем занять свое время
  • 16. Недооценка или переоценка? Аргументы против заниженной оценки: • Проектные планы теряют точность и ценность • Ошибки в планировании времени задач • Ошибки в планировании размера команды • Потеря координации между группами участников проекта • Вероятность выполнить проект в срок без превышения бюджета существенно снижается • Экономия на проработке архитектуры и других технических деталей • Потеря качества • Постоянные опоздания снижают мотивацию команды
  • 17. Недооценка или переоценка? Что ждет команду при заниженной оценке: • Постоянные совещания с целью установить контрольь над проектом и вернуть его в начальные временные рамки • Постоянные корректировки планов, которые учитывают опоздания • Возможность подготовки промежуточных релизов (для демо- версий и выставок, к которым мы не успеваем) • Продолжительные дискуссии о том, какую функциональность еще можно исключить из следующего релиза, чтобы успеть к сроку • Проблемы и ошибки, которые необходимо устранить из-за непродуманных временных решений, которые были приняты в условиях сжатых сроков (стоимость «костылей»)
  • 18. Недооценка или переоценка? Нелинейная зависимость при заниженной оценке: • Затраты на перепланирование • Увеличенное число ошибок и стоимость их исправлений • Решения, которые повышают риски
  • 19. Откуда берется ошибка оценки? ОЦЕНКА ПРОЕКТА
  • 20. Источники ошибок оценки • Неточная информация об оцениваемом проекте • Неточная информация об организации, которая будет выполнять проект, и о проектной команде • Слишком много усилий тратится на достижение как можно более точной оценки (мы ловим ускользающую цель) • Погрешности самой оценки
  • 21. Примеры источников ошибок оценки Система, автоматизирующая процесс приема заказов: 1. Ввод телефонного номера: нужна ли заказчику проверки правильности введенного номера? 2. Если проверка нужна: какая именно проверка необходима? (Существующие стандартные варианты: (1), (2), (3) , срок реализации: 2 человекочаса, 2 человекодня и 2 человеконедели) 3. Если заказчик определился с вариантом проверки телефонного номера, не передумает ли он в дальнейшем? 4. Можно ли использовать стандартные готовые решения при реализации проверки телефонного номера? 5. Каков будет дизайн функции проверки телефонного номера? (существует более 10 стандартных вариантов с разными уровнями сложности) 6. Сколько времени займет реализация проверки телефонного номера? 7. Нужна ли интеграция проверки телефонного номера и проверки адреса? 8. Каков необходимый уровень качества для проверки телефонного номера? (в зависимости от реализации, число ошибок может различаться в 10 раз) 9. Сколько времени потребуется на отладку и исправление ошибок проверки телефонного номера? (индивидуальные показатели у различных программистов отличаются в 10 раз)
  • 22. Влияние источников ошибок оценки Для одной функции: число источников неопределенности оценки – порядка 10 Для 100 и более функций: в 100 раз больше Даже если учесть все факторы, вносящие неопределенность, для каждой функции, то не всегда можно учесть взаимное влияние всех неопределенностей. Чем больше проект, тем больше неопределенность
  • 23. Конус неопределенности Вертикальная ось: степень ошибки в оценке, сделанной опытными специалистами Горизонтальная ось: время Контрольные точки на графике: фазы проекта
  • 24. Конус неопределенности Сам по себе конус неопределенности не сужается: влияние плохого контроля на оценки
  • 26. Хаотический процесс разработки • Требования не были определены и проанализированы • Плохая проработка архитектуры и дизайна, приводящая к множеству ошибок • Неквалифицированный персонал • Неплоное и неточное планирование проекта • Отказ от планирования проекта под давлением сжатых сроков • Отсутствие тестирования
  • 27. Хаотический процесс разработки: что делать? • Прежде чем приступать к оценкам, необходимо устранить хаос • Устранение наиболее дестабилизирующего фактора хаоса дает больший результат, чем попытка борьбы на всех фронтах одновременно
  • 28. Изменение требований • При нестабильных требованиях неопределенность не удается уменьшить • Изменения в требованиях не всегда достаточно точно учитываются • При изменении в требованиях не всегда выполняется анализ влияния изменений • Добавленные/удаленные требования влияют на время и стоимость проекта
  • 29. Изменение требований Насколько может увеличиться объем требований? – оценки NASA's Software Engineering Laboratory: 40%
  • 30. Изменение требований: что делать? • При нестабильных требованиях нужно уделять пристальное внимание контролю хода проекта, а не только оценке • Рекомендуется попробовать выбрать другую стратегию контроля и оценки
  • 31. «Забытые» задачи Одна из самых частых причин ошибок оценки: При оценке объема и времени работ, разработчики пропускают 20%-30% задач, что приводит к ошибке 20-30% «Забытые» задачи можно разделить на три категории: • пропущенные требования • пропущенные задачи, относящиеся к разработке ПО • пропущенные задачи, не относящиеся к разработке ПО
  • 32. Требования, которые часто не учитываются при планировании работ Функциональные требования Нефункциональные требования Автоматизация процесса установки/настройки Точность Утилиты преобразования данных Совместимость Справочная система/документация Модифицируемость Автоматизация процесса развертывания Производительность Интерфейсы взаимодейтсвия с внешними системами Переносимость Надежность Время отклика/Быстродействие Возможность повторного использования Расширяемость Защищенность/Безопасность Доступность Требования к удобству использования
  • 33. Пропущенные требования: что делать? Резервируйте время, которое потребуется для реализации пропущенных требований, и включайте его в оценку
  • 34. Пропущенные задачи, относящиеся к разработке ПО Время, необходимое для «акклиматизации» новичков Техподдержка существующих систем во время выполнения проекта Обучение новичков Время недоступности систем, которые используются в проекте / интегрируются с разрабатываемым продуктом Координация и встречи Время на устранение ошибок Перенос/развертывание систем Улучшение производительности Преобразование данных Изучение новых инструментов Установка Административная работа в процессе устранения ошибок Кастомизация/Настройка Координация с тестировщиками (разработчики) Уточнение требований Координация с разработчиками (тестировщики) Администрирование ПО контроля изменений Ответы на вопросы тестировщиков и службы качества Поддержка и автоматизация процесса сборки Разработка и контроль качества документации Поддержка кода автоматического теста перед сборкой Демонстрация рабработанного продукта пользователям
  • 35. Пропущенные задачи, относящиеся к разработке ПО Установка ПО на пользовательских рабочих местах для пользовательского тестирования Демонстрация ПО на выставках Создание наборов данных для тестирования Демонстрация готовых прототипов Менеджмент программы бета-тестирования Взаимодействие с пользователями Участие в процедурах пересмотра и улучшения кода, дизайна, архитектуры (reviews) Поддержка бета-версий продукта на рабочих местах пользователей Работы, связанные с интеграцией Пересмотр планов проекта Работа с запросами на изменение Пересмотр архитектуры Время на митинги по утверждению изменений/выпуску пробных версий продукта Пересмотр и изменение тестовых сценариев Координация с субподрядчиками Обновление документации
  • 36. Пропущенные задачи, относящиеся к разработке ПО: что делать? Составляйте проверочные листы и исследуйте их на полноту Включайте в оценку время, необходимое для всех работ, связанных с разработкой ПО, а не только чистое время на разработку и тестирование
  • 37. Пропущенные задачи, не относящиеся к разработке ПО Время отпуска членов проектной команды Общие собрания компании Выходные и праздничные дни Собрания отделов Время болезни Установка нового ПО на рабочие станции, замена рабочих станций Обучение Устранение неисправностей в работе ПО и аппаратуры
  • 38. Пропущенные задачи, не относящиеся к разработке ПО: что делать? • Составляйте проверочные листы • Если продолжительность проекта более месяца, включайте в оценку время, необходимое для учета всех поправок во времени, не связанных с разработкой ПО: отпуска, больничные, обучение и т.д.
  • 39. Необоснованный оптимизм Van Genuchten, Michiel, 1991. "Why Is Software Late? An Empirical Study of Reasons for Delay in Software Development." IEEE Transactions on Software Engineering SE-17, no. 6 (June): при оценке затрат, разработчики уменьшают оценку по сравнению с реальным временем на 20-30% (по материалам обзор более 300 проектов) Обычные предпосылки для оптимизма: • Производительность в этом проекте будет выше, чем в предыдущем • В предыдущем проекте мы допустили множество ошибок. В этот раз все будет совсем не так! • В прошоый раз у нас было меньше опыта, в этот раз мы мы уже набили шишки и управимся значительно быстрее
  • 40. Необоснованный оптимизм: что делать? • Устраняйте ошибки в оценках, связанных с пропущенными задачами • Не уменьшайте оценки, которые дают разработчики: они и так чересчур оптимистичны
  • 41. Субъективизм и систематическая ошибка оценки • Субъективизм – следствие разного опыта (сознательного и бессознательного) • Методы борьбы с субъективизмом: предположение, что чем сложнее техника оценки, чем больше параметров учитывается, чем больше контрольных точек, тем точнее оценка. Это в корне неверно: чем больше параметров в оценке и больше контрольных точек, тем сильнее фактор субъективной оценки Cocomo II: 17 поправочных коэффициентов и 5 коэффициентов, учитывающих масштаб. В каждом случае выбор цифр – субъективное мнение выполняющего оценку.
  • 42. Субъективизм и систематическая ошибка оценки  Оценка с множеством факторов, включающих субъективную оценку
  • 43. Субъективизм и систематическая ошибка оценки Оценка с одним фактором, включающим субъективную оценку
  • 44. Другие источники ошибок  Незнакомая предметная область  Неосвоенная технология  Некорректное преобразование из оценки времени на задачу в продолжительность проекта (например, предположение, что проектная команда будет работать в режиме 12x7)  Неправильная интерпретация статистических результатов (например, использование только «наилучших» и «наихудших» значений)  Ошибки планирования проекта при точной оценке  Упрощение оценки и методов управления, связанных с ней  Давление на команду в условиях сокращенных бюджетов проекта
  • 45. Что влияет на оценку? ОЦЕНКА ПРОЕКТА
  • 46. Факторы, влияющие на оценку  Размер проекта  Вид разрабатываемого ПО  Человеческий фактор  Используемые технологии (языки программирования)  Другие факторы
  • 47. Размер проекта: влияние на оценку  Для стандартных бизнес-приложений
  • 48. Размер проекта: влияние на оценку  Для стандартных бизнес-приложений
  • 49. Размер проекта: влияние на оценку  Размер проекта – фактор, наиболее влияющий на стоимость проекта  Однако:  К оценкам стоимости, трудозатрат и времени обычно приступают раньше, чем будет известен размер проекта  Стоимость, трудозатраты и время не увеличиваются с ростом размера проекта  Добавление строки кода в проект размером 100000 LOC и 10000000 LOC займет разное время
  • 50. Человеческий фактор: влияние на оценку Производительность – не постоянная величина • Разброс в значениях производительности может достигать 10-22 раз Влияние человеческого фактора связано с размером проекта (большие проекты дают большую неточность оценки) Основные факторы, влияющие на производительность: • Наличие опыта • Сплоченность команды • Скорость ротации персонала • Качество менеджмента
  • 52. Другие факторы: влияние на оценку Поправочные коэффициенты Cocomo II Диапазон коэффициентов Фактор Очень низ кий Низ- кий Номина льный Высо кий Очень высо кий Сверх- высо кий Влия ние Опыт в определенной предметной области 1.22 1.10 1.00 0.88 0.81 1.51 Размер БД 0.90 1.00 1.14 1.28 1.42 Повторное использование компонентов 0.95 1.00 1.07 1.15 1.24 1.31
  • 53. Другие факторы: влияние на оценку Поправочные коэффициенты Cocomo II Диапазон коэффициентов Фактор Очень низ кий Низ кий Номина льный Высо кий Очень высо кий Сверх- высо кий Влия ние Ротация персонала 1.29 1.12 1.00 0.90 0.81 1.59 Объем необходимой документации 0.81 0.91 1.00 1.11 1.23 1.52 Техническая компетенция (языки, инструменты) 1.20 1.09 1.00 0.91 0.84 1.43
  • 54. Другие факторы: влияние на оценку Поправочные коэффициенты Cocomo II Диапазон коэффициентов Фактор Очень низ кий Низ кий Номина льный Высо кий Очень высо кий Сверх- высо кий Влия ние Развертывание разрабатываемого ПО на нескольких узлах 1.22 1.09 1.00 0.93 0.86 0.78 1.56 Опыт работы с платформой 1.19 1.09 1.00 0.91 0.85 1.40 Изменения платформы 0.87 1.00 1.15 1.30 1.49 Сложность продукта 0.73 0.87 1.00 1.17 1.34 1.74 2.38
  • 55. Другие факторы: влияние на оценку Поправочные коэффициенты Cocomo II Диапазон коэффициентов оценки Фактор Очень низ кий Низ кий Номина льный Высо кий Очень высо кий Сверх- высо кий Влия ние Надежность разрабатываемого ПО 0.82 0.92 1.00 1.10 1.26 1.54 Производитель ность группы аналитиков 1.42 1.19 1.00 0.85 0.71 2.00 Ограничения хранилища 1.00 1.05 1.17 1.46 1.46
  • 56. Другие факторы: влияние на оценку Поправочные коэффициенты Cocomo II Диапазон коэффициентов оценки Фактор Очень низ кий Низ кий Номина льный Высо кий Очень высо кий Сверх- высо кий Влия ние Производитель ность группы разработки 1.34 1.15 1.00 0.88 0.76 2.00 1.76 Ограничения по времени 1.00 1.11 1.29 1.63 1.63 Использование специализированн ого ПО (инструменты) 1.17 1.09 1.00 0.90 0.78 1.50
  • 58. Поправочные коэффициенты (COCOMO II) Фактор Коэф- фици- ент Критерий Опыт в предметной области 1.51 Отсутствие/наличие опыта в предметной области Снижение архитектурных рисков 1.38 Управление архитектурными рисками/пренебрежение архитектурными рисками Размер БД 1.42 Размер и сложность БД Повторное использование компонентов 1.31 Возможность повторного использования
  • 59. Поправочные коэффициенты (COCOMO II) Фактор Коэф- фици- ент Критерий Разработка документации 1.52 Объем необходимой документации Техническая компетенция (языки, инструменты) 1.43 Отсутствие/наличие опыта Развертывание разрабатываемого ПО на нескольких узлах 1.56 Число узлов, на которых нужно развернуть ПО Ротация персонала 1.59 Частота ротации
  • 60. Поправочные коэффициенты (COCOMO II) Фактор Коэф- фици- ент Критерий Опыт работы с платформой 1.40 Отсутствие/наличие опыта Изменения платформы 1.49 Стабильность платформы; Число изменений и их влияние на проект Наличие прецедентов 1.33 Число прецедентов Зрелость процесса 1.43 Уровень зрелости Сложность продукта 2.38 Тип разрабатываемого продукта Уровень сложности продукта Производитель- ность группы разработчиков 1.76 Скорость разработки
  • 61. Поправочные коэффициенты (COCOMO II) Фактор Коэф- фици- ент Критерий Опыт работы с платформой 1.40 Отсутствие/наличие опыта Изменения платформы 1.49 Стабильность платформы; Число изменений и их влияние на проект Наличие прецедентов 1.33 Число прецедентов Зрелость процесса 1.43 Уровень зрелости Сложность продукта 2.38 Тип разрабатываемого продукта Уровень сложности продукта Производитель- ность группы разработчиков 1.76 Скорость разработки кода
  • 62. Поправочные коэффициенты (COCOMO II) Фактор Коэф- фици- ент Критерий Надежность разрабатываемого ПО 1.54 Степень надежности разрабатываемого ПО Производитель- ность группы аналитиков 2.00 Скорость разработки требований Гибкость разработки требований 1.26 Жесткость требований, наличие разных вариантов реализации трбований Ограничения хранилища 1.46 Наличие ограничений по размеру хранилища данных
  • 63. Поправочные коэффициенты (COCOMO II) Фактор Коэф- фици- ент Критерий Сплоченность команды 1.29 Степень сплоченности команды; качество коммуникаций Ограничения по времени 1.63 Наличие и степень ограничений по времени Использование специализирован ного ПО 1.50 Применение ПО, повышающего эффективность работы
  • 64. Как мы оцениваем проект? ТЕХНИКА ОЦЕНКИ
  • 65. Применимость разных методов оценки Применимость методов оценки: Групповые оценки и пересмотр Калибровка и данные, относящиеся к конкретному проекту Параметры оценки Размер, трудозатраты, план проекта, свойства продукта Размер, трудозатраты, план проекта, свойства продукта Размер проекта Средний, большой Маленький, средний, большой Стадии проекта Ранние - средние Средние – поздние Итеративная / Последовательная разработка Итеративная и последовательная Итеративная и последовательная Точность оценки Средняя - высокая Высокая
  • 66. На чем базируется оценка Оценки по аналогии Предположения Подсчеты (и источники цифр) Чем точнее источник, тем вернее оценка?
  • 67. Задача на оценку - офис Оценить: сколько человек работает в офисе?
  • 68. Задача на оценку - офис • 5 помещений • 8 столов в каждом помещении • 4 места за столом
  • 69. Задача на оценку – офис 160 человек? От 140 до 180 человек? От 140 до 160 человек? Другие цифры?
  • 70. Задача на оценку – офис 162 человека
  • 71. Задача на оценку – офис 165 человек
  • 72. Какие параметры брать в основу оценки? • Те,которыепозволяютоценитьразмер создаваемогопродукта • Те,которыедоступнынараннихстадиях разработкиибудутуточненынаболее позднихстадиях • Те,которыебудутдаватьвам достовернуюинформацию • Те,которыедадутвамответнавопросыо прогрессепроектаиокачествепродукта
  • 73. Параметры, используемые для оценки Параметр Данные, которые собираются для оценки Бизнес-требования: трудоемкость Среднее число человеко-часов, необходимое для реализации бизнес-требования Среднее число человеко-часов, необходимое для независимого тестирования реализованного бизнес- требования Среднее число человеко-часов, необходимое для разработки и документирования бизнес-требования Среднее число человеко-часов, необходимое для разработки системных требований, связанных с бизнес-требованием Ключевые свойства продукта (featires): трудоемкость Среднее число человеко-часов, необходимое для реализации ключевого свойства продукта
  • 74. Параметры, используемые для оценки Параметр Данные, которые собираются для оценки Функциональные точки (function points) Среднее число человеко-часов, необходимое для реализации/тестирования/документирования на одну функциональную точку Среднее число функциональных точек, которые возможно реализовать за неделю/месяц Запросы на изменения (change requests) Среднее число человеко-часов, необходимое для реализации/тестирования/документирования одного запроса на изменение (в зависимости от этой величины, запросы на измнение можно разделить на мелкие, средние, крупные) Web-страницы / формы Среднее число человеко-часов, необходимое для верстки одной страницы Среднее число человеко-часов в объеме всего проекта, необходимое для разработки 1 страницы
  • 75. Параметры, используемые для оценки Параметр Данные, которые собираются для оценки Отчеты Среднее число человеко-часов, необходимое для реализации/тестирования/документирования на один отчет Таблицы БД Среднее число человеко-часов, необходимое для создания, изменения, заполнения данными 1 таблицы Среднее число человеко-часов в объеме всего проекта, необходимое для создания, изменения, заполнения данными 1 таблицы
  • 76. Параметры, используемые для оценки Параметр Данные, которые собираются для оценки Классы Среднее число человеко-часов, необходимое для реализации, на один класс Среднее число человеко-часов, необходимое для тестирования, на один класс Среднее число человеко-часов, необходимое для инспекции кода, на один класс Затраты на конфигурационное управление Среднее число часов, необходимое для реализации одного конфигурационного изменения
  • 77. Параметры, используемые для оценки Параметр Данные, которые собираются для оценки Число строк кода (LOC) Среднее число дефектов на строку кода Среднее число человеко-часов, необходимое для инспекции одной строки кода Среднее число строк кода, добавленное в проект между двумя релизами Затраты на конфигурационное управление Среднее число часов, необходимое для реализации одного конфигурационного изменения Сценарии тестирования Среднее число человеко-часов, необходимое для реализации одного сценария тестирования Покрытие кода тестами
  • 78. Итоги • Устранение хаоса • Регулярный пересмотр оценок • Планирование и контроль • Использование измеряемых показателей для оценки и планирования
  • 79. Спасибо за внимание Наталья Желнова nzhelnova@teamcit.ru