2. 2
■ О безнадёжных проектах
■ Как от заказчика добиться приоритетов
■ Почему разработчики тоже не любят
приоритеты
■ Что плохого в «структуре работ»
■ Проблема первой итерации
■ Как хранить требования
Что сегодня будет
10. 10
Эксперты говорят
■ Эдвард Йордон
Приоритеты!
■ Джоэл Спольски
Excel 5
«...Процесс исключения свойств в
целях подгонки плана был самым
лучшим делом, которое мы могли
сделать...»
15. 15
Проблемы с заказчиком
■ Этапы создания требований
Реальная потребность
«А почему бы не добавить ещё и вот это?»
Мега-идеи
16. 16
Проблемы с заказчиком
■ Этапы создания требований
Реальная потребность
«А почему бы не добавить ещё и вот это?»
Мега-идеи
■ Ему жаль отказываться от любых требований
(особенно, от мега-идей)
■ Сравнивает разработку ПО со строительством
дома
■ Не понимает, что можно и нужно менять
порядок работ
17. 17
Список требований
■ Даём список требований с указанными
примерными оценками и просим упорядочить
1 ч
5 ч
2 ч
4 ч
2 ч
3 ч
1 ч
18. 18
Mind Maps
■ Даём список требований с указанными
оценками и просим упорядочить
■ Или показываем mind map с выделенными
цветом приоритетами
20. 20
Переговоры
■ Главное — понимать самому!
■ Показать график «выгоды/затраты»
Выделив главное и реализовав это, начинаем
получать выгоду раньше
Совокупная прибыль больше
Profit
Time
21. 21
Переговоры
■ Главное — понимать самому!
■ Показать график «выгоды/затраты»
■ «Сделаем попозже?» вместо «давайте
уберём!»
■ «А если бы вы могли получать по очереди?»
■ «Что если случится катастрофа? Как
минимизировать ущерб?»
22. 22
Резюме
■ Всё равно будет интуитивно ставить всем
требованиям высший приоритет :-(
■ Поэтому очередь рулит
■ Грубых оценок достаточно
■ Но не дайте заказчику заиграться! =)
24. 24
Проблемы с разработчиками
■ Понимают структуру работ, и не понимают
требования
■ Любят интересности
■ Не любят переделывать
■ «Абстрактные классы — наше всё!»
25. 25
Иерархическая структура работ
■ Рисование линии
■ Рисование овала
■ Изменение толщины
линий
■ Операции
копирования/вставки
■ Модель редактора
■ Контроллер редактора
■ Вид редактора
■ Модель линии
■ Контроллер линии
■ Вид линии
■ Панель стилей
■ Изменение толщины
линий
■ Панель операций
■ Выделение фигур
■ Операции
копирования/вставки
Требования («фичи») Структура работ
26. 26
Иерархическая структура работ
■ Рисование линии
■ Рисование овала
■ Изменение толщины
линий
■ Операции
копирования/вставки
■ Модель редактора
■ Контроллер редактора
■ Вид редактора
■ Модель линии
■ Контроллер линии
■ Вид линии
■ Панель стилей
■ Изменение толщины
линий
■ Панель операций
■ Выделение фигур
■ Операции
копирования/вставки
Требования («фичи») Структура работ
Для заказчика Для разработчика
27. 27
Культура разработки
■ Рассказываем про риски
■ Работаем строго в порядке приоритетов
■ Объясняем про кривую стоимости изменений и
хорошие инженерные штучки
OOD
keep it simple
Refactoring
unit-tests
...
$ of changes
Time
28. 28
Проблема первой итерации
■ Сложно войти в новый слой требований
■ Заказчик долгое время не видит результат
Редактор
векторной графики
Рисование
линий
Перетаскивание Рисование овалов
Стрелочки Толщина Стыковка
Графический
редактор
29. 29
Решение
■ Использовать готовые каркасы: фреймворки,
CMS и т.д.
■ keep it simple & refactoring и другие средства
■ Другие средства снижения вариабельности
Profit
Time
31. 31
Как раздавать задачи
■ Не раздать, а показать на список =)
■ Использовать выравнивание из Lean
■ Загружать народ улучшениями и багами
■ Фичи должны быть большими и важными
■ Каждый разработчик на паре технологий
32. 32
Что в итоге?
■ Даём список требований с оценками заказчику
■ Пытаемся понять, что наиболее критично
■ В первой итерации пилим самое ценное
■ Повышаем культуру разработки
■ Переговоры, переговоры, переговоры!
33. 33
Спасибо за внимание!
■ Антон Непомнящих
anepomnyaschih@gmail.com
Skype, Yahoo, Twitter: anton_nix
anton-nix.livejournal.com
Старший менеджер проектов
Компания «ИСС Арт»