SlideShare a Scribd company logo
1 of 34
Download to read offline
Продуктовая компания


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



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

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

Путь Product Owner`s. От факапов до успешного продукта
Путь Product Owner`s. От факапов до успешного продуктаПуть Product Owner`s. От факапов до успешного продукта
Путь Product Owner`s. От факапов до успешного продуктаAndrii Mandrika
 
как создавать прототипы
как создавать прототипыкак создавать прототипы
как создавать прототипыAlexey Korotkov
 
Дизайнер, разработчик, нет конфликта, нет драмы — Евгения Малкова
Дизайнер, разработчик, нет конфликта, нет драмы — Евгения МалковаДизайнер, разработчик, нет конфликта, нет драмы — Евгения Малкова
Дизайнер, разработчик, нет конфликта, нет драмы — Евгения МалковаCocoaHeads
 
Архитектура для мобильных игр - с чего начать и популярные решения / Евгений ...
Архитектура для мобильных игр - с чего начать и популярные решения / Евгений ...Архитектура для мобильных игр - с чего начать и популярные решения / Евгений ...
Архитектура для мобильных игр - с чего начать и популярные решения / Евгений ...DevGAMM Conference
 
Lviv PMDay 2016 S Андрій Мандріка: "Шлях Product Owner`a. Від факапів до успі...
Lviv PMDay 2016 S Андрій Мандріка: "Шлях Product Owner`a. Від факапів до успі...Lviv PMDay 2016 S Андрій Мандріка: "Шлях Product Owner`a. Від факапів до успі...
Lviv PMDay 2016 S Андрій Мандріка: "Шлях Product Owner`a. Від факапів до успі...Lviv Startup Club
 
расчетная работа(исправлен)
расчетная работа(исправлен)расчетная работа(исправлен)
расчетная работа(исправлен)Евгений Белов
 
Эволюция интерфейса. Без магии и читерства
Эволюция интерфейса. Без магии и читерстваЭволюция интерфейса. Без магии и читерства
Эволюция интерфейса. Без магии и читерстваZotov Andrey
 
Описание полного цикла разработки интернет-продукта
Описание полного цикла разработки интернет-продуктаОписание полного цикла разработки интернет-продукта
Описание полного цикла разработки интернет-продуктаDmitry Laier
 
Pitch Deck - презентация стартапа, рецепт Farminers
Pitch Deck -  презентация стартапа, рецепт FarminersPitch Deck -  презентация стартапа, рецепт Farminers
Pitch Deck - презентация стартапа, рецепт FarminersAlexander Borodich
 
Организация эффективных процессов
Организация эффективных процессовОрганизация эффективных процессов
Организация эффективных процессовVladimir Melnikov
 
Гадания на тайлах
Гадания на тайлахГадания на тайлах
Гадания на тайлахJulia Suvorova
 
Дизайн мышление или почему так важно знать про правило 7 плюс/минус 2
Дизайн мышление или почему так важно знать про правило 7 плюс/минус 2Дизайн мышление или почему так важно знать про правило 7 плюс/минус 2
Дизайн мышление или почему так важно знать про правило 7 плюс/минус 2Kamil Kalimullin
 
Проектирование плеера 3D панорам. Процесс
Проектирование плеера 3D панорам. ПроцессПроектирование плеера 3D панорам. Процесс
Проектирование плеера 3D панорам. ПроцессMargarita Titova
 
Проектирование админок для #uidesignersmeetup
Проектирование админок для  #uidesignersmeetupПроектирование админок для  #uidesignersmeetup
Проектирование админок для #uidesignersmeetupUIDesign Group
 
Анимации в iOS
Анимации в iOSАнимации в iOS
Анимации в iOSAny Void
 
"Анимации в iOS" - Юрий Подорожный, Any Void
"Анимации в iOS" - Юрий Подорожный, Any Void"Анимации в iOS" - Юрий Подорожный, Any Void
"Анимации в iOS" - Юрий Подорожный, Any VoidProcontent.Ru Magazine
 
The Zen of Scrum - Russian
The Zen of Scrum - RussianThe Zen of Scrum - Russian
The Zen of Scrum - RussianJurgen Appelo
 

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

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

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/