2010-11-12

Отличная статья о сборке продуктов промышленного уровня


Добрейшего.

В октябре в Москве проходила очередная конференция "Разработка ПО". Поехать не смог (да и узнал слишком поздно), однако почитать темы и тезисы докладов, послушать отзывы - такая возможность имелась. Я хоть и в берлоге на берегу моря живу, но инторнеты у нас тоже имеются, да.

Понятное дело, решил узнать, что нынче говорят про SCM в кругах разработчиков. Выяснилось, что почти ничего. Однако был на этом празднике жизни один доклад, который таки оправдывает существование конференции :) Более того, он сильно перекликается с одной из моих старых заметок.

Issues and Challenges with Industrial-Strength Product Composition (Проблемы и спорные вопросы сборки продуктов промышленного уровня). Докладчики - потомки суровых викингов, Лар Бендикс (Lars Bendix, адъюнкт-профессор из Lund University) и Андреас Горансон (Andreas Göransson, сотрудник Sony-Ericsson).


Что же так порадовало?

Перевод краткого обзора от авторов:
Одним из инструментов создания продуктовых линеек, а также продуктов, выпускаемых в различных конфигурациях, является компонентно-ориентированный подход. Данный подход, во-первых, допускает немалую степень гибкости процесса создания новых продуктов, а во-вторых, способен снизить временные и финансовые издержки. Однако у подобной гибкости, достигаемой путем сборки продуктов из набора базовых компонентов, существует и обратная сторона. Прежде всего, чрезвычайно сложным оказывается сам процесс построения крупной системы из множества мелких частей – в том числе из-за того, что каждый отдельный компонент может существовать в различных вариациях и исправлениях. Кроме того, в процесс разработки новых компонентов нередко вовлечен целый ряд различных заинтересованных лиц, каждое из которых работает в соответствии со своими потребностями и на своем уровне детализации. Анализируя ситуацию в промышленности, мы определили набор проблем и задач, требующих разрешения для эффективной сборки продукта. Фактологическим и информационным хранилищем может служить разделяемая база компонентов, а база правил (rule base) позволит пользователям принимать решения по конфигурации на более высоком уровне, оперируя понятиями завершенности и связности.

Нашлись и тезисы, а по сути полноценная статья: http://www.cs.lth.se/home/Lars_Bendix/Publications/BGSG10b/Moscow-camera-ready.pdf - там много несложного английского.


В одной старой публикации я упоминал про компоненты, их версии и продуктовые линейки. Поскольку материал писал на основе опыта работы интегратором в Мотороле, то и проблематика была взята оттуда - из инженерии продуктов промышленного уровня.

Докладчики также опирались на богатый работы ещё одного гиганта телекома - Sony-Ericsson и других похожих компаний. Для производителей сотовых телефонов очень важно уметь комбинировать различные фичи своих продуктов в зависимости от оператора, ценового сегмента, форм-фактора, страны продажи и многих других вещей. Отсюда давняя проблема - как обеспечить с наименьшими затратами наилучшую возможность адаптировать продукты под эти условия.


Код всех сложных систем так или иначе разбит на модули, т.е. компоненты. А значит, на уровне продукта логичнее оперировать компонентами и их вариациями - версиями и ответвлениями. В этом направлении работу и повели - разработали модель, учитывающую компоненты и правила, по которым компоненты компонуются. Вводится понятие базы компонентов, из которой с помощью конфигуратора получается всё разнообразие продуктов, нужных конечному потребителю. Разработанную модель они и описывают. Причем работа идет на стыке SCM, проектирования и управления проектами.


К сожалению, не указано, на какой стадии готовности и практического применения находится эта модель. Зная, что ей занимается человек из коммерческой компании, можно предположить, что работа ведется и в практическом ключе.




Отличная статья, прочитал с удовольствием.

5 комментариев:

  1. >Андреас Горансон (сотрудник Sony-Ericsson).

    Что ж вы ботик, потопили, гады (c), имею ввиду телефон SE P990i.

    С ним был просто анекдотичный случай. Out of the box он просто не работал, помню, в перезагрузку уходил буквально раз в несколько минут. SE довольно часто выпускала прошивки, и все коллективно обновлялись, но счастья долго не наступало, и вот наконец, в одно прекрасное утро, после новой прошивки, система перестала падать и телефон работал целый день без падений !

    Радость народа продилась ровно до следующего утра - из-за досадного бага перестал работать будильник :)

    Но это я так, к слову, у меня просто эта модель телефона на тумбочке рядом с рабочим столом лежит, глаза мозолит.

    Я тогда как раз внедрил в одном проекте интеграционное тестирование, несколько часов крутились тесты, и все недоумевал, почему же SE не сделает аналогично.

    ОтветитьУдалить
  2. Ну не знаю, мой СониЭрик Т610 до сих пор уже который год жив-здоров, я уже и на Мото перешел, пару инженерных нитов успел убить - а он работает досих пор в качестве резервного у родственников :)

    Но вообще, "кто видел как делают колбасу - никогда её не ест" :))) В том смысле что разработка сотовых - такая же разработка софта, как и вся остальная - багов везде хватает с избытком :)
    Поэтому я не так давно поменял телефон на новую Мото старого модельного ряда с очень малым количеством функций - и она работает как часы. :)

    ОтветитьУдалить
  3. Ну, p990 стоит особняком, особенно на фоне своего легендарного предшественника p910.

    Т.е. это совершенно выдающися отдельный случай, носящий разовый характер в продуктовой линейке SE :)

    ОтветитьУдалить
  4. >Одним из инструментов создания продуктовых линеек, а также продуктов, выпускаемых в различных конфигурациях, является компонентно-ориентированный подход.

    Не имеет ли здесь место неоднозначность ? Имею ввиду термин "конфигурация".

    ОтветитьУдалить
  5. Термин этот вообще имеет можество способов употребления :) так что здесь имеется в виду именно конфигурации продуктов как их варианты.

    ОтветитьУдалить