34
Продуктовая компания Постановка процесса разработки Автор: Кирилл Лебедев E-mail: [email protected]

Code Camp 2011 - Продуктовая копания: Постановка процесса разработки

Embed Size (px)

Citation preview

Page 1: Code Camp 2011 - Продуктовая копания: Постановка процесса разработки

Продуктовая компания

Постановка процесса разработки

Автор: Кирилл ЛебедевE-mail: [email protected]

Page 2: Code Camp 2011 - Продуктовая копания: Постановка процесса разработки

О себе

• Разработчик ПО• Стаж 15 лет• 30 завершённых проектов • > 20 выпущенных продуктов• E-mail: [email protected]• Blog: http://askofen.blogspot.com

Page 3: Code Camp 2011 - Продуктовая копания: Постановка процесса разработки

Разработка продукта

- сквозной процесс, который затрагивает:

Маркетинг Дизайн Инженерию

Page 4: Code Camp 2011 - Продуктовая копания: Постановка процесса разработки

Часть 1. Маркетинг и дизайн

Page 5: Code Camp 2011 - Продуктовая копания: Постановка процесса разработки

Рынок

Для какого рынка разрабатывается продукт?

1. Россия2. СНГ3. Восточная Европа4. Западная Европа5. США и Канада6. Азия7. Южная Америка

Page 6: Code Camp 2011 - Продуктовая копания: Постановка процесса разработки

Целевые группы

Не возраст Общие проблемы Общие интересы Одинаковый

контекст

Page 7: Code Camp 2011 - Продуктовая копания: Постановка процесса разработки

Примеры целевых групп

Антипример:

Мужчины от 16 до 45 лет

Примеры:

1. Любители футбола2. Едут в общественном транспорте3. Постоянно теряют стилус от коммуникатора

Page 8: Code Camp 2011 - Продуктовая копания: Постановка процесса разработки

Источники

http://www.triz-chance.ru/

http://www.triz-ri.ru/

Page 9: Code Camp 2011 - Продуктовая копания: Постановка процесса разработки

Расширение функциональности

Сочетание функций Удобство

использования Объём работы Размер команды

Page 10: Code Camp 2011 - Продуктовая копания: Постановка процесса разработки

Типовые проблемы

С какими проблемами сталкивается Клиент при работе с продуктами-аналогами?

Как эти проблемы можно решить?

Page 11: Code Camp 2011 - Продуктовая копания: Постановка процесса разработки

Система голосовых указаний

для GPS-навигатора

"Через 200 метров поверните направо"

200 метров – это сколько?

"На 2-ом перекрёстке поверните направо"

Использование зрительных ориентиров

Проблема:

Решение:

Модель:

Обычное указание:

Page 12: Code Camp 2011 - Продуктовая копания: Постановка процесса разработки

Модели потребления

Согласование продукта с механизмом его использования

Желание Игровой режим

"Хочу поиграть сейчас" Play Now

"Хочу засесть за игру надолго"

Карьера

"Хочу поиграть с другом"

Мультиплеер

Page 13: Code Camp 2011 - Продуктовая копания: Постановка процесса разработки

Визуальный ряд

1. Среда и локации2. Персонаж3. Одежда4. Визуальные

эффекты5. Камера

Page 14: Code Camp 2011 - Продуктовая копания: Постановка процесса разработки

Музыка и звук

Музыка Звуковые эффекты Голоса

Page 15: Code Camp 2011 - Продуктовая копания: Постановка процесса разработки

Управление

Можно ли описать игру нажатиями на кнопки джойстика?

Page 16: Code Camp 2011 - Продуктовая копания: Постановка процесса разработки

Часть 2. Проектирование

Page 17: Code Camp 2011 - Продуктовая копания: Постановка процесса разработки

Технологическое проектирование

Как программа реализует запланированные возможности?

Как программа работает изнутри?

Page 18: Code Camp 2011 - Продуктовая копания: Постановка процесса разработки

Задачи

1. Устранение латентности

2. Равномерное распределение нагрузок

3. Устранение сложной логики

Page 19: Code Camp 2011 - Продуктовая копания: Постановка процесса разработки

Устранение латентности

Вынесение длительных операций во вспомогательный поток

Page 20: Code Camp 2011 - Продуктовая копания: Постановка процесса разработки

Пример - Игра

При загрузке и сохранении теряется интерактивность

Загрузка

Игра

Сохранение

Page 21: Code Camp 2011 - Продуктовая копания: Постановка процесса разработки

Пример - Игра

Выносим загрузку и сохранение во вспомогательный поток

Вспомогательный поток

Экран загрузки

Игра

Экран сохранения

Загрузка

Сохранение

Главный поток

Page 22: Code Camp 2011 - Продуктовая копания: Постановка процесса разработки

Устранение сложной логики

Группируем не операции под условия, а условия по операции

Условие 1 Условие 2 Условие 3

Действие 1 Да

Действие 2 Да Да

Действие 3 Нет Да

Page 23: Code Camp 2011 - Продуктовая копания: Постановка процесса разработки

Было

Если А

Если Б

Действие 1

Если В

Действие 2

Иначе

Если Г

Действие 3

Page 24: Code Camp 2011 - Продуктовая копания: Постановка процесса разработки

Стало

Если А и Б

Действие 1

Если А и В

Действие 2

Если не-А и Г

Действие 3

Page 25: Code Camp 2011 - Продуктовая копания: Постановка процесса разработки

В виде таблицы

Действие А Б В Г

Действие 1 Да Да

Действие 2 Да Да

Действие 3 Нет Да

Page 26: Code Camp 2011 - Продуктовая копания: Постановка процесса разработки

Компонентное проектирование

1. Выявление обязанностей

2. Делегирование их отдельным компонентам

Page 27: Code Camp 2011 - Продуктовая копания: Постановка процесса разработки

Экстремальное правило

1 компонент – 1 обязанность

Page 28: Code Camp 2011 - Продуктовая копания: Постановка процесса разработки

Принципы группировки

похожесть операций; противоположность операций; операции являются смежными; проще реализовать

Page 29: Code Camp 2011 - Продуктовая копания: Постановка процесса разработки

Функциональное моделирование

1. Какие обязанности выполняет компонент?

2. Какие функции нужны для выполнения этих обязанностей?

3. Как компонент используется другими компонентами?

Page 30: Code Camp 2011 - Продуктовая копания: Постановка процесса разработки

Пример функциональной модели7. Форма F7.1. Создать зеркальное отражение фигуры относительно вертикальной

оси.

F7.2. Создать зеркальное отражение фигуры относительно горизонтальной оси.

F7.3. Изогнуть фигуру.

F7.4. Преобразовать эллипс/окружность в сектор.

F7.5. Изменить угол сектора.

F7.6. Преобразовать пятиугольник в звезду.

F7.7. Преобразовать прямоугольник в многоугольник.

F7.8. Преобразовать сегмент в кривую Безье.

F7.9. Изменить форму кривой (изогнуть кривую, сделать кривую выпуклой или вогнутой).

F7.10. Создать общий контур для нескольких фигур.

F7.11. Найти отсечение контура одной фигуры контуром другой фигуры.

F7.12. Разбить сегмент на две стороны.

F7.13. Разбить кривую на две кривых.

F7.14. Склеить соседние сегменты.

F7.15. Склеить соседние кривые.

F7.16. Склеить соседние сегмент и кривую.

Page 31: Code Camp 2011 - Продуктовая копания: Постановка процесса разработки

Проектирование структуры

1. Какие данные передаются между компонентами?

2. Можно ли их структурировать?

3. Какие структуры данных целесообразно использовать для реализации компонента?

Page 32: Code Camp 2011 - Продуктовая копания: Постановка процесса разработки

Резюме: Марктеинг и Дизайн

Целевая Группа

Проблемы

Модель Потребления

Дизайн

Виз

уал

ь ны

й ря

д

Муз

ыка

и

Зву

к

Упр

авл

е ние

Page 33: Code Camp 2011 - Продуктовая копания: Постановка процесса разработки

Резюме: Проектирование

Дизайн

Технологическая Модель

Компонентная Модель

Структурная Модель

Функциональная Модель

Page 34: Code Camp 2011 - Продуктовая копания: Постановка процесса разработки

Ссылки

http://askofen.blogspot.com/