Электронный дизайн уже давно не является делом одиночек. Работа в команде, в которую могут входить десятки или сотни дизайнеров, инженеров, поставщиков, производителей и множество других людей, необходима для вывода продукта на рынок. Эта серия блогов исследует способы преодоления препятствий и уменьшения объема утомительного обмена сообщениями, который замедляет циклы разработки до ползучего состояния. В части 1 мы рассмотрим, какие функции делают инструменты совместной работы эффективными, а также различные способы совместной работы над дизайном.
В наше время довольно редко можно увидеть проект электронного дизайна, выполненный полностью одним человеком или даже небольшой, централизованной командой. Чаще всего над достижением этой цели работает большая команда дизайнеров и инженеров, рассредоточенных по всему миру. И, как вы можете догадаться, координация и совместная работа над одним проектом таким образом - не малая задача. Вопрос в том: как нам преодолеть практические препятствия для обеспечения настоящего сотрудничества в дизайне?
Для уточнения, настоящее сотрудничество означает, что дизайнеры могут работать вместе над одним проектом по своему выбору, будь то параллельно в разных областях дизайна или последовательно, сравнивая и объединяя по мере необходимости для завершения единого продукта. Конечно, реализация настоящего сотрудничества требует наличия набора подходящих инструментов, которые характеризуются некоторыми заметными особенностями: видимостью, дифференциацией и объединением.
Понимание того, что делают другие члены команды, дает представление о дизайне в целом. Это особенно важно, когда несколько человек работают параллельно, например, одновременно редактируя компоновку печатной платы, где видимость каждой области дизайна может помочь предотвратить взаимное мешательство.
Рисунок 1: Видимость работы других дизайнеров в программном обеспечении для дизайна печатных плат помогает получить представление о дизайне в целом.
Очевидная аналогия для этого - карта, показывающая местоположения различных людей. Вместо карты, однако, у нас есть высокоуровневый вид на проект дизайна, и вместо местоположения каждого человека у нас есть изменения, которые они внесли в дизайн. Полезность этой функции в инструменте совместной работы полностью зависит от того, насколько она отзывчива. Видят ли дизайнеры изменения друг друга в реальном времени? Или только после того, как они внесут свои собственные изменения в окончательный дизайн?
Недостаточно просто видеть, что делают все остальные при проектировании печатных плат. Сотрудничество действительно не работает, если изменения, внесенные каждым дизайнером, не сравниваются друг с другом, а также с предыдущими итерациями проекта, чтобы увидеть, как развивался дизайн. Для инструмента совместной работы это сводится к дифференциации, то есть к сравнению изменений дизайна и выявлению их различий.
Рисунок 2: Видение различий между дизайном и его предыдущими версиями помогает отслеживать его развитие.
Дифференциация при совместном проектировании печатных плат должна работать примерно так же, как и в системе контроля версий, но с добавлением некоторого интеллекта. Как уже упоминалось, сотрудничество в дизайне может быть разделено по типу взаимодействия дизайнеров друг с другом. Это означает, что до начала проекта по разработке печатной платы им можно назначить конкретную область для работы, основываясь либо на физическом расположении, либо на функциональной области. Такое разделение проекта печатной платы позволяет дизайнерам работать параллельно и облегчает выявление различий.
Последний шаг в процессе совместного проектирования печатной платы - это объединение изменений, внесенных каждым дизайнером, в одну основную копию. Предполагая, что задачи по печатной плате были разделены заранее, объединение сводится к разрешению конфликтов в перекрывающихся областях.
Рисунок 3: Объединение - это последний шаг в сотрудничестве, где различия разрешаются и объединяются в единый дизайн для всех.
Разрешение конфликтов во время совместной работы снова работает так же, как система управления версиями. Если дизайнер сталкивается с конфликтом при фиксации изменений, он может либо отказаться от внесенных изменений в печатную плату, либо перезаписать чужую работу своей. Насколько детальным является разрешение конфликтов, напрямую связано с общей полезностью инструментов совместной работы. Например, возможность рассматривать, добавлять или удалять отдельные примитивы из перекрывающихся областей может значительно повысить эффективность инструментов совместной работы.
Совместная работа над компоновкой и дизайном печатных плат не должна ограничиваться одной областью. Работа может вестись между людьми в разных местах, через разные программные продукты или даже в совершенно разных организациях!
Независимо от того, осознаете вы это или нет, сотрудничество в дизайне происходит в той или иной форме на протяжении всего цикла разработки вашего продукта. Наличие полезного набора инструментов для сотрудничества может помочь сэкономить время, затрачиваемое на многочисленные обсуждения между дизайнерами. В следующей части этой серии блогов мы поговорим о деталях сотрудничества при разработке печатных плат и о некоторых лучших практиках его использования.