Трудозатраты и планирование тестирования QA Club Сергей Поволяшко Давайте познакомимся 14 лет стажа в IT. Работал по нескольким IT специальностям (разработчик, системный администратор, тестировщик). С 2001 года управляю проектами и IT подразделениями. Место работы – Team ODC (TODC), LLC. www.teaminternational.com. • Сергей Поволяшко Образование, сертификации: • ХГТУРЭ, 1996. Сертификация Project Management Professional (PMP), Project Management Institute (PMI). 2007 Сертификация ITIL Foundation V3. 2009 • Менеджер IT отдела, менеджер проектов, менеджер IT инфраструктуры. Около 100 человек в подчинении. Принимал лидирующее участие во внедрении CMMI Level 3: разработка и внедрение системы управления качеством и процессного подхода, обучение и аттестация сотрудников, участие в сертификации. Инициировал и принимал участие в создании Project Management Office (PMO) 1 Трудозатраты и планирование тестирования О чем мы поговорим: • Правда жизни о разработке ПО • Что нам нужно на входе? • Зачем нам знать перечень работ? • Как оценить перечень работ? • Зачем нам оценивать трудозатраты? • Как оценивать трудозатраты? • Зачем нам планировать свою работу? • Как спланировать работу? • Типичные ошибки/проблемы Трудозатраты и планирование тестирования То, о чем мы сегодня поговорим это НЕ только инструментарий менеджера проектов. Это ИНЖЕНЕРНЫЕ ПРАКТИКИ, которые должен знать и ПРИМЕНЯТЬ КАЖДЫЙ 2 Трудозатраты и планирование тестирования Правда жизни о разработке ПО Исследования показывают частоту возникновения наиболее классических ошибок: • Оптимистичные сроки – 60-70% • Нереалистичные ожидания (сроки, качество, объем работ) – 60-70% • Недооцененная роль управления качеством – 60-70% • Многостаночность персонала – 55-65% • Разрастание объема работ – 55-65% • Планирование на желаниях, а не на действительности – 55-65% • Забывчивость запланировать и сделать нужные задачи – 50-60% Трудозатраты и планирование тестирования Правда жизни о разработке ПО Что и как мы делаем? Кто и как понимает эти «что и как»? Последствия 3 Трудозатраты и планирование тестирования Требования Архитектура Разработка Планирование тестирования Документация Тестирование Расписание (Schedule) Когда делаем, и кто? Входная информация План действий Перечень работ (WBS) Что делаем? Процесс, стратегия Как делаем? Трудозатраты и планирование тестирования Что нам нужно на входе? Планирование тестирования Входная информация План действий Что же нам нужно и зачем? • Спецификации • Методология разработки • Контрактные условия (сроки, уровень качества) • Предполагаемые доступные ресурсы • Шаблоны, процессы • Участники проекта • Требования к программно-аппаратной среде продукта • Инструментарий (багтрекеры, автоматизация, репозитории) 4 Трудозатраты и планирование тестирования Зачем нам знать перечень работ? План действий Перечень работ (WBS) Одна из существенных составляющих Плана действий это перечень работ (Scope или Work Breakdown Structure - WBS), который во многом определяется стратегией тестирования. Перечень работ нам нужен чтобы понимать, оценить: • 100% перечень работ • Какие ресурсы (люди, бюджет, оборудование) нужны • Наличие ресурсов (назначить, нанять, купить, забрать ☺) • Кто что делает • Трудозатраты и сроки • Взаимодействие со «смежниками» • Необходимость уточнения требований • Необходимость образовательных мероприятий • Потенциальные взаимосвязи между работами Трудозатраты и планирование тестирования Как оценить перечень работ? План действий Перечень работ (WBS) Правила, методики, рекомендации: • Правило 100% • Декомпозиция • Адекватная детализация • Методологии тестирования • Шаблоны с ориентацией на: продукт; процесс • Исторические данные подобных проектов • Общепроектные элементы (совещания, управление) • Регламентирующие процессы, политики (если есть ☺) • Развитие персонала! • Поделитесь вашими планами с другими! 5 Перечень работ (WBS) Трудозатраты и планирование тестирования Зачем нам оценивать трудозатраты? Перечень работ (WBS) Оценка трудозатрат (Effort Estimate) Оценка трудозатрат это следующий шаг планирования. Это нам нужно чтобы понимать, оценить: • Сроки работ • Как опыт исполнителей влияет на сроки работ • Потенциальные отклонения по срокам • Необходимость уточнения требований • Влияние на расписание работ • Как наши трудозатраты и сроки влияют на «смежников» • А что мы не можем оценить 6 Трудозатраты и планирование тестирования Как оценивать трудозатраты? Перечень работ (WBS) Оценка трудозатрат (Effort Estimate) Правила, методики, рекомендации: • Наличие правильного WBS • Предполагаемые ресурсы • Наличие «правильных» оценщиков • Исторические данные подобных проектов • Методики (см.далее) • «Политические» факторы • Резервы • Поделитесь вашими планами с другими! Трудозатраты и планирование тестирования Как оценивать трудозатраты? По аналогам Экспертная оценка Методики записи экспертной оценки: • По трем точкам • По диапазону Параметрическая оценка, модели размера 7 Трудозатраты и планирование тестирования Как оценивать трудозатраты? Методики записи оценки: • По трем точкам – P – пессимистичная (pessimistic) – M – наиболее вероятная (most likely) – O – оптимистичная (optimistic) E = (P + 4*M + O) / 6 • Используется в методике PERT • PERT – методика анализа расписания проекта Трудозатраты и планирование тестирования Как оценивать трудозатраты? Методики записи оценки: • По диапазону • Для грубых оценок EД = E (-25% / +75%), или EД = E (-25% / +50%) • Для уточненных оценок EД = E (-10% / +15%) 8 Трудозатраты и планирование тестирования Зачем нам планировать свою работу? Перечень работ (WBS) Оценка трудозатрат (Effort Estimate) Расписание (Schedule) Когда делаем, и кто? Расписание это финальная часть планирования. Это нам нужно чтобы понимать, оценить: • Кто, что делает и когда • Сроки работ, фаз, проекта • Соответствие контрактным условиям • Взаимозависимости работ, своих и «смежников» • Необходимость сжатия сроков и методы сжатия • Какие ресурсы и когда нам нужны (или не нужны) • Контролировать прогресс • И когда наконец-то можно пойти в отпуск ☺ Трудозатраты и планирование тестирования Как спланировать работу? Перечень работ (WBS) Оценка трудозатрат (Effort Estimate) Расписание (Schedule) Когда делаем, и кто? Общая методика: A: «Подогнать» расписание к контрактным условиям B: Определить назначение и доступность ресурсов C: Определить длительности задач D: Ввести взаимозависимости работ: своих и «смежников» E: Добавить реагирование на риски F: Применить/пересмотреть оценку трудозатрат G: Взять правильный WBS Расписание Поделитесь вашими планами с другими! Примечание: повторить процедуру при необходимости 9 Трудозатраты и планирование тестирования Типичные ошибки/проблемы • Позднее вовлечение тестирования • Неадекватная оценка списка работ • Неадекватная оценка трудозатрат и сроков на тестирование • Неадекватное планирование • Невовлечение в обсуждение: контрактных условий по качеству, требований, архитектуры, сроков и т.п. • Некачественные требования • Отсутствие прослеживаемости (traceability) требований • Недооценка рисков • Некачественное управление конфигурациями • Проблемы с коммуникациями Трудозатраты и планирование тестирования Раздаточные материалы Шаблон оценки трудозатрат «По диапазону» •Для грубых оценок (EД = E (-25% / +75%), или EД = E (-25% / +50%)) •Для уточненных оценок (EД = E (-10% / +15%)) № Task Est. m/h -25% +75% 24 6 8 18 4,5 6 42 10,5 14 38 28,5 66,5 Comment Project ABC Deliverables (Products) Test Suite Test Suite #1 Create Test Suite #1 Draft Review Test Suite #1 Correct and Approve Test Suite #1 ......... Total: 10 Трудозатраты и планирование тестирования Раздаточные материалы Шаблон оценки трудозатрат «По трем точкам» •E = (P + 4*M + O) / 6 № Task Most likely Pessimistic Optimistic 24 6 8 48 12 12 20 4 4 Est. m/h Comment Project ABC Deliverables (Products) Test Suite Test Suite #1 Create Test Suite #1 Draft Review Test Suite #1 Correct and Approve Test Suite #1 27,3 6,7 8 ......... Total: 42 Трудозатраты и планирование тестирования Раздаточные материалы Шаблон оценки трудозатрат «По историческим данным» № Project/ Task Planned efforts Actual efforts Variance Create Test Suites (EFG) 120 150 30 (1,25) Perform Testing (EFG) 250 400 150 (1,6) Create Test Suites (CDE) 80 110 30 (1,2) Perform Testing (CDE) 190 330 140 (1,73) Comment Project EFG Project CDE ......... Project ABC Create Test Suites (ABC) Perform Testing (ABC) 11 Трудозатраты и планирование тестирования Раздаточные материалы Шаблон оценки трудозатрат «Параметрическая оценка» •Должно быть соотношение размера и трудозатрат, например 1 Size = 4 man/hour •Это соотношение должно быть установлено для специалиста определенного уровня, например Senior •Для планирования трудозатрат должны использоваться коэффициенты производительности (performance), например Middle – 2, Junior – 5. № Project/Task 1 Project ABC 1.1 ## Factor Size Level (S,M,J) Comment Create Test Suites (ABC) 1.1.1 Test Suites (Simple Complexity) 3 1 3 1.1.2 Test Suites (Medium Complexity) 8 3 24 1.1.3 Test Suites (High Complexity) 2 5 10 Junior Примечание: для 1.1.1: 3(Size) * 4 (man/hour) * 5 (performance) = 60 man/hours Трудозатраты и планирование тестирования Раздаточные материалы Шаблон чеклиста проверки перечня работ (WBS) Проверка № Примечание 1 Правило 100%, все работы включены 2 Все конечные и промежуточные результаты/продукты включены 3 Логичная декомпозиция, древовидная структура 4 Каждый конечный элемент WBS четко представляет конкретную (независимую) работу и исполнителя 5 Соответствующие участники проекта принимали участие в создании WBS 6 Адекватная детализация работ (например не более 4-8 ч-часов) 7 Исторические данные подобных проектов были рассмотрены 8 Общепроектные элементы включены (совещания, управление) 9 Регламентирующий шаблон(ы) WBS использован 12 Трудозатраты и планирование тестирования Раздаточные материалы Шаблон чеклиста проверки проверки правильности плана работ Проверка № Примечание 1 Используется корректный перечень работ (WBS) 2 Предполагаемые исполнители и их график доступности известны 3 Оценка трудозатрат сделана или предполагаемыми исполнителями или «правильными» оценщиками 4 Исторические данные подобных проектов были рассмотрены 5 Корректные методики оценки или их комбинации были применены 6 Контрактные условия (сроки, качество и т.п.) известны 7 Последовательность выполнения работ и взаимозависимости известны и включены в план 8 По каждой работе известно кто что делает и когда 9 10 Сжатие сроков (при необходимости) произведено Резервы добавлены (при необходимости) Трудозатраты и планирование тестирования • Контакт: promengine@yahoo.com • Тренинги: – Risk Management (Управление Рисками). Оказывается ими можно управлять – Scheduling (Планирование, Разработка расписания работ). Не так просто как кажется, структурируем очевидные вещи – Software Measurements (Измерения в разработке ПО). Как, что и зачем измерять 13 Трудозатраты и планирование тестирования Спасибо за внимание! Полезные ссылки: • www.asq.org • www.wikipedia.org (WBS, PERT, Effort estimate) • www.sei.cmu.edu/cmmi/ • www.pmi.org 14