code camp 2011 - Продуктовая копания: Постановка процесса...

Post on 06-Aug-2015

1.250 Views

Category:

Career

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

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

Автор: Кирилл ЛебедевE-mail: askofen@mail.ru

О себе

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

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

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

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

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

Рынок

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

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

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

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

контекст

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

Антипример:

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

Примеры:

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

Источники

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Проблема:

Решение:

Модель:

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

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

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

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

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

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

Карьера

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

Мультиплеер

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

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

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

Музыка и звук

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

Управление

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

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

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

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

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

Задачи

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

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

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

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

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

Пример - Игра

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

Загрузка

Игра

Сохранение

Пример - Игра

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

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

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

Игра

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

Загрузка

Сохранение

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

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

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

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

Действие 1 Да

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

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

Было

Если А

Если Б

Действие 1

Если В

Действие 2

Иначе

Если Г

Действие 3

Стало

Если А и Б

Действие 1

Если А и В

Действие 2

Если не-А и Г

Действие 3

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Пример функциональной модели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. Склеить соседние сегмент и кривую.

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

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

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

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

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

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

Проблемы

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

Дизайн

Виз

уал

ь ны

й ря

д

Муз

ыка

и

Зву

к

Упр

авл

е ние

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

Дизайн

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

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

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

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

Ссылки

http://askofen.blogspot.com/

top related