Sef.by'2011 Минное поле требований

24
Минное поле требований в fixed-price проекте Калугин Александр, PhD, PMP http://pmarcor.com/

Transcript of Sef.by'2011 Минное поле требований

Page 1: Sef.by'2011 Минное поле требований

Минное поле требований

в fixed-price проектеКалугин Александр, PhD, PMP

http://pmarcor.com/

Page 2: Sef.by'2011 Минное поле требований

Калугин Александр 2

Disclaimer Заказная разработка Новый продукт,

а не внедрение/доработка Fixed-Price/Fixed-Scope Waterfall/Single Iteration

Проблемы с процессомне рассматриваются

Page 3: Sef.by'2011 Минное поле требований

Калугин Александр 3

Суть проблемы:Заказчик: Не реализован определенный функционал,

который мы считаем в scope проекта.Подрядчик: Требуемое изменение рассматривается

outside the scope, но явных подтверждений этой точки зрения нет

Page 4: Sef.by'2011 Минное поле требований

Калугин Александр 4

Bona fide

Page 5: Sef.by'2011 Минное поле требований

Калугин Александр 5

Распространенные виды

Негативные тесты (включая работув некорректном окружении)

Проблемы совместимости Performance/Security issues Наработки на отказ под нагрузкой Обработка полукорректного ввода «Не так как у аналогов» Не понимание ограничений технологиии т п.

Претензии по основным workflows – редко. Даже без модификаций продукт достигает

основной бизнес-цели

Page 6: Sef.by'2011 Минное поле требований

Калугин Александр 6

Page 7: Sef.by'2011 Минное поле требований

Калугин Александр 7

Почему проблема? Конфликт. Не в пользу

заказчика – «портит карму». В пользу заказчика – down

the rabbit hole.

Сложно сделать, так как такие запросы приходят поздно

Часто запросы идут поперек архитектуры. Может быть очень важным для успеха продукта

Не имеет хорошего решения. Лучше не доводить до такой проблемы.

Page 8: Sef.by'2011 Минное поле требований

Калугин Александр 8

Суть проблемы: Требования и коммуникация

Спецификация

Что хотел заказчик

Какой должен быть продукт

Что понял разработчик

Как понято и реализовано

Page 9: Sef.by'2011 Минное поле требований

Калугин Александр 9

Суть проблемы: Минные поля

Common Vision

Минное поле требований

•всё спросить нельзя•необходимы правила игры/принципы •говорить на языке заказчика

Минное поле архитектуры

объяснять заказчику чтобы он мог говорить на одном языке

Page 10: Sef.by'2011 Минное поле требований

Калугин Александр 10

Как быть с минным полем?Профилактика: До начала проекта

(Pre-sale) По ходу проекта

(manufacturing)

Лечение: Коммуникация по

проблеме, completion

Page 11: Sef.by'2011 Минное поле требований

Калугин Александр 11

Профилактика в Pre-Sale

+-

Требования

СН

АР

УЖ

И

ВН

УТР

ИЧто? Как?

ГраницыПриоритеты

ЧЕГО НЕТДО НАЧАЛА

АрхитектураWorkflows

ЧТО ЕСТЬВ ПРОЦЕССЕ

Page 12: Sef.by'2011 Минное поле требований

Калугин Александр 12

До начала: Детали Отказ от требований Приоритеты Границы Дихотомии

Page 13: Sef.by'2011 Минное поле требований

Калугин Александр 13

До начала: Отказ от требованийЦель: Избежать превращения пожеланий в ограничения.

Коммуницируем с заказчиком предположения в виде:

1. Нет других требований к шифрованию/дешифрованию пользовательских данных

2. Нет явных требований к поведению UI контролов – при портировании

3. Нет явных требований по количеству обрабатываемых запросов/объеме пользовательских данных. Система должна обеспечивать корректную стабильную работу без потерь пользовательских данных.

Page 14: Sef.by'2011 Минное поле требований

Калугин Александр 14

До начала: Приоритезация

Цель: выяснить относительные приоритеты

различных аспектов работы системы.Критерий Рейтинг

Удобный, интуитивно понятный пользовательский интерфейс, время отклика.

Защищенность пользовательских данных

Дизайн/Красивый пользовательский интерфейс

Расширяемость

Отказоустойчивость

Сохранность пользовательских данных

Сохранение общей базы кода (при портировании)и т.д.

Page 15: Sef.by'2011 Минное поле требований

Калугин Александр 15

В производстве. Цели

_• Доспечить. Область ‘+’• Найти минное поле как можно раньше• «Разминировать» архитектуру• Уменьшить желание заказчика вносить

изменения

Page 16: Sef.by'2011 Минное поле требований

Калугин Александр 16

В производстве. ДоспекНаписание спецификации подрядчиком – это не доп. затраты, а

контратака и страх полис рассказать всё своими словами

– меньше возможность поняли неправильно – если заказчик утверждает

есть возможность «разминировать архитектуру» -- рассказать о «ребрах жесткости»

возможно ограничить негативные тесты, сформулировав acceptance tests.

выставить ожидания о неинтуитивных видах функционала

Page 17: Sef.by'2011 Минное поле требований

Калугин Александр 17

Об архитектуре:

Архитектура всегда влияет на продукт. Если заказчик не готов понимать саму архитектуру, он в состоянии понять ее последствия

Примеры: AJAX или перезагрузка страницы Синхронная или асинхронная обработка Реализация конкретного требования или

создания framework-а для серии аналогичных?

Page 18: Sef.by'2011 Минное поле требований

Калугин Александр 18

Сжатие времени Участие в review Внести изменения по

ходу – без изменения Видеть прогресс –

лучше продукт В случае если нет спеки

или Review – не продолжать

Ядро Спека

Feature #1

Feature #2

Feature #3

Feature #4

Debug

Review #1

Review #2

Review #3

Review #4

БЛАГОПРИЯТНО

Page 19: Sef.by'2011 Минное поле требований

Калугин Александр 19

Уменьшение желания. Gold-PlatingЧасто у заказчика небольшое количество

хотелок. Если эти желания удовлетворяются – настроение улучшается.

Если потребности выявлены достаточно рано – не обязательно следует увеличение стоимости.

Page 20: Sef.by'2011 Минное поле требований

Калугин Александр 20

Если ситуация возникла Общего решения – нет Баги надо признавать Детальная разборка –

билет в один конец Если изменение критично

для бизнес-цели, то – конструктивногодиалога не получится.

Page 21: Sef.by'2011 Минное поле требований

Калугин Александр 21

По-хорошему Попытаться понять суть и истоки запроса,

выяснить не достигается ли цель в рамках существующей функциональности.

Предложить альтернативу менеесложную в реализации

Объяснить негативные последствия реализации -- несоответствие выявленным правилам.

Page 22: Sef.by'2011 Минное поле требований

Калугин Александр 22

Прочие доводы При реализации запроса – может быть

покрыт corner case, но может быть стать хуже для проекта в целом.

Реализация запроса может требовать удаления из проекта других изменений к оригинальному scope, реализованных запрошенных на более

ранних этапах.

Page 23: Sef.by'2011 Минное поле требований

Калугин Александр 23

Прочие доводы Реализация запроса может

усложнить basic workflow. Изменение может быть

вне запросов других представителей заказчика.

Page 24: Sef.by'2011 Минное поле требований

24

Спасибо за внимание!

Калугин Александр[email protected]