SlideShare a Scribd company logo
Продуктовая компания


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



              Автор: Кирилл Лебедев
              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/

More Related Content

PDF
Design Course 3 process
PPT
КРИ 2010. Разработка технологической платформы в условиях временного прессинга
PPT
КРИ 2008. Проектирование игр: функциональный подход
PPT
KirillLebedev @ CodeCamp2011
PDF
Иду по приборам… Практические советы по визуализации работ. Москва
KEY
Иду по приборам. Львов, 2011
PDF
Designlecture 091008072837-phpapp01
PDF
Дизайн решает!
Design Course 3 process
КРИ 2010. Разработка технологической платформы в условиях временного прессинга
КРИ 2008. Проектирование игр: функциональный подход
KirillLebedev @ CodeCamp2011
Иду по приборам… Практические советы по визуализации работ. Москва
Иду по приборам. Львов, 2011
Designlecture 091008072837-phpapp01
Дизайн решает!

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

PPTX
Путь Product Owner`s. От факапов до успешного продукта
PPTX
как создавать прототипы
PDF
Дизайнер, разработчик, нет конфликта, нет драмы — Евгения Малкова
PDF
Архитектура для мобильных игр - с чего начать и популярные решения / Евгений ...
PPTX
Lviv PMDay 2016 S Андрій Мандріка: "Шлях Product Owner`a. Від факапів до успі...
PPTX
расчетная работа(исправлен)
PDF
Cl cup russia_guide_final_v1
PPSX
Эволюция интерфейса. Без магии и читерства
PPTX
Описание полного цикла разработки интернет-продукта
PDF
Pitch Deck - презентация стартапа, рецепт Farminers
PDF
Организация эффективных процессов
PDF
Гадания на тайлах
PPS
ПВПС
PPT
Дизайн мышление или почему так важно знать про правило 7 плюс/минус 2
PPTX
Проектирование плеера 3D панорам. Процесс
PPT
Проектирование админок для #uidesignersmeetup
PDF
Анимации в iOS
PDF
"Анимации в iOS" - Юрий Подорожный, Any Void
PPT
The Zen of Scrum - Russian
PPT
Генерация программы поведения игрового персонажа по естественно-языковой спец...
Путь Product Owner`s. От факапов до успешного продукта
как создавать прототипы
Дизайнер, разработчик, нет конфликта, нет драмы — Евгения Малкова
Архитектура для мобильных игр - с чего начать и популярные решения / Евгений ...
Lviv PMDay 2016 S Андрій Мандріка: "Шлях Product Owner`a. Від факапів до успі...
расчетная работа(исправлен)
Cl cup russia_guide_final_v1
Эволюция интерфейса. Без магии и читерства
Описание полного цикла разработки интернет-продукта
Pitch Deck - презентация стартапа, рецепт Farminers
Организация эффективных процессов
Гадания на тайлах
ПВПС
Дизайн мышление или почему так важно знать про правило 7 плюс/минус 2
Проектирование плеера 3D панорам. Процесс
Проектирование админок для #uidesignersmeetup
Анимации в iOS
"Анимации в iOS" - Юрий Подорожный, Any Void
The Zen of Scrum - Russian
Генерация программы поведения игрового персонажа по естественно-языковой спец...
Ad

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

  • 1. Продуктовая компания Постановка процесса разработки Автор: Кирилл Лебедев E-mail: askofen@mail.ru
  • 2. О себе • Разработчик ПО • Стаж 15 лет • 30 завершённых проектов • > 20 выпущенных продуктов • E-mail: askofen@mail.ru • Blog: http://askofen.blogspot.com
  • 3. Разработка продукта - сквозной процесс, который затрагивает:  Маркетинг  Дизайн  Инженерию
  • 5. Рынок Для какого рынка разрабатывается продукт? 1. Россия 2. СНГ 3. Восточная Европа 4. Западная Европа 5. США и Канада 6. Азия 7. Южная Америка
  • 6. Целевые группы  Не возраст  Общие проблемы  Общие интересы  Одинаковый контекст
  • 7. Примеры целевых групп Антипример: Мужчины от 16 до 45 лет Примеры: 1. Любители футбола 2. Едут в общественном транспорте 3. Постоянно теряют стилус от коммуникатора
  • 8. Источники http://www.triz-chance.ru/ http://www.triz-ri.ru/
  • 9. Расширение функциональности  Сочетание функций  Удобство использования  Объём работы  Размер команды
  • 10. Типовые проблемы  С какими проблемами сталкивается Клиент при работе с продуктами- аналогами?  Как эти проблемы можно решить?
  • 11. Система голосовых указаний для GPS-навигатора Обычное указание: "Через 200 метров поверните направо" Проблема: 200 метров – это сколько? Решение: "На 2-ом перекрёстке поверните направо" Модель: Использование зрительных ориентиров
  • 12. Модели потребления Согласование продукта с механизмом его использования Желание Игровой режим "Хочу поиграть сейчас" Play Now "Хочу засесть за игру Карьера надолго" "Хочу поиграть с Мультиплеер другом"
  • 13. Визуальный ряд 1. Среда и локации 2. Персонаж 3. Одежда 4. Визуальные эффекты 5. Камера
  • 14. Музыка и звук  Музыка  Звуковые эффекты  Голоса
  • 15. Управление Можно ли описать игру нажатиями на кнопки джойстика?
  • 17. Технологическое проектирование  Как программа реализует запланированные возможности?  Как программа работает изнутри?
  • 18. Задачи 1. Устранение латентности 2. Равномерное распределение нагрузок 3. Устранение сложной логики
  • 19. Устранение латентности  Вынесение длительных операций во вспомогательный поток
  • 20. Пример - Игра При загрузке и сохранении теряется интерактивность Загрузка Игра Сохранение
  • 21. Пример - Игра Выносим загрузку и сохранение во вспомогательный поток Главный поток Вспомогательный поток Экран Загрузка загрузки Игра Экран Сохранение сохранения
  • 22. Устранение сложной логики Группируем не операции под условия, а условия по операции Условие 1 Условие 2 Условие 3 Действие 1 Да Действие 2 Да Да Действие 3 Нет Да
  • 23. Было Если А Если Б Действие 1 Если В Действие 2 Иначе Если Г Действие 3
  • 24. Стало Если А и Б Действие 1 Если А и В Действие 2 Если не-А и Г Действие 3
  • 25. В виде таблицы Действие А Б В Г Действие 1 Да Да Действие 2 Да Да Действие 3 Нет Да
  • 26. Компонентное проектирование 1. Выявление обязанностей 2. Делегирование их отдельным компонентам
  • 27. Экстремальное правило 1 компонент – 1 обязанность
  • 28. Принципы группировки  похожесть операций;  противоположность операций;  операции являются смежными;  проще реализовать
  • 29. Функциональное моделирование 1. Какие обязанности выполняет компонент? 2. Какие функции нужны для выполнения этих обязанностей? 3. Как компонент используется другими компонентами?
  • 30. Пример функциональной модели 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. Склеить соседние сегмент и кривую.
  • 31. Проектирование структуры 1. Какие данные передаются между компонентами? 2. Можно ли их структурировать? 3. Какие структуры данных целесообразно использовать для реализации компонента?
  • 32. Резюме: Марктеинг и Дизайн Целевая Группа Проблемы Модель Потребления Управление Визуальный Музыка и Звук ряд Дизайн
  • 33. Резюме: Проектирование Дизайн Технологическая Модель Компонентная Модель Функциональная Модель Структурная Модель
  • 34. Ссылки http://askofen.blogspot.com/