Если бы у меня спросили «что по-настоящему творческого есть в подготовке массового производства?», я бы ответил «построение системы контроля качества». Именно этот процесс пронизывает все аспекты производства без исключения и является по-настоящему уникальным для каждого продукта. Даже если сам продукт — клон другого продукта.
Продуктологи иногда могут не придумывать устройства и модели их распространения просто копируя чужие идеи. Инженеры могут не заниматься проектированием лицензируя готовые дизайны и лишь адаптируя корпус. Производственники вообще разумно подходят к своей работе и стараются по-максимуму переиспользовать линии и оснастки, которые у них осталось от прошлых клиентов. Единственное, что не получится спиздить — систему контроля качества.
В конечном итоге именно подход к проверке результата отличает Apple от ASUS.
Те, кто пренебрегает контролем качества — проваливаются. Сегодня вы спустя рукава тестируете прототипы и уже завтра сотни ваших пользователей рассказывают в соцсетях о массовой проблеме. Послезавтра вы банкротите бизнес из-за неудачных попыток латания дыр при помощи возвратов денег за покупки и внедрения комплекса мер по «доработке» того, что осталось на складах. Таких историй много.
Пример из жизни #1
1 Во всяком случае в тот момент она казалась нам финальной.
Когда мы только начали производить Лайтпак в Китае, то отправили финальную версию1 устройства на сертификацию. Набор тестов для сертификации всегда разный и зависит от типа устройства, но практически во всех них есть т.н. тест на электромагнитную совместимость, EMI тест. Он нужен чтобы понять как сильно твоё устройство шумит в эфир и какие помехи создаёт для другой электроники вокруг.
Лайтпак блестяще завалил этот тест: результат на некоторых частотах был далеко за пределом допустимого. Ни о каком сертификате не могло идти речи. А без него продавать устройство легально было невозможно.
Все пики выше красной отметки пронумерованы и должны быть устранены.
Нам повезло: хотя мы выполнили этот тест после того как дизайн был «заморожен» для производства и даже были закуплены электронные компоненты, печатные платы всё ещё не были оплачены. У нас была возможность завалить проблему деньгами и в нашем случае это сработало. Мы заплатили работающему прямо на фабрике инженеру, который смог решить задачу сравнительно дёшево.
2 Поэтому механику и корпус менять не пришлось.
В итоге нам пришлось переразвести плату и добавить на неё компоненты, которым там нашлось место2, а сами компоненты были довольно рядовыми, их получилось недорого приобрести и быстро положить на склад. В целом, мы потратили не больше 2 недель на решение проблемы, и следующий EMI тест прошёл успешно, а мы получили сертификаты.
В 2012 мы ничего не знали про сертификацию и порядок её проведения. Но если бы провели EMI тест на неделю позже, после того как были произведены 10 тыс плат и на них были бы напаяны компоненты, то все эти сборки нам пришлось бы утилизировать за свой счёт. А если бы выяснилось что доработки не влазят на площадь существующей платы, то на всём проекте можно было бы ставить крест, потому что доработка корпуса заняла бы минимум 2 месяца и съела ещё один мешок денег.
Тесты не враги, но поначалу таковыми кажутся
Придумывая и выполняя тесты очень легко принять ожидаемый результат за реальный. Особенно на ранних стадиях, когда вы только проверяете гипотезы, или прототипируете устройство. Как именно это происходит хорошо проиллюстрировано у Юдковского в задаче 2-4-6.
«У меня всё работает, пусть готовят инвойс», «Позже поправим прошивкой», «Да никто его не будет так использовать» — типичные фразы тех, кто в отрасли недавно. Реальность же выглядит так:
Чтобы было больнее, представьте что слева менеджер продукта, а справа фокус-группа на стадии когда пилотная партия уже оплачена. Чё, думаете это абсурдный пример?! Просто правильные тесты опять выполнили в неправильный момент.
Пример из жизни #2
На одном из дружественных проектов продуктолог очень любил фразу «позже поправим в софте». Действовал он примерно так: Прежде чем выкинуть фичу из спринта, или просто временно убрать её из требований к релизу продукта, он выяснял у инженеров есть ли принципиальная возможность реализовать это в прошивке и позже прислать апдейт пользователям. Получая утвердительный ответ, он перемещал фичу из текущих проблем в «проблемы нас из будущего».
После того как устройство попало на полки магазинов команда была готова реализовывать оставшийся функционал из бэклога, который давно был продан пользователям. «Эта функция появится позже с апдейтом прошивки» говорили маркетологи.
Вот только не всем им суждено было прилететь к пользователям по воздуху — у микроконтроллера просто не хватило памяти на все эти плюшки. Т.е. какой-то ограниченный набор обещанных фич завезти на устройство всё-таки удалось, но не весь. Пришлось выбирать только самое ценное. Маркетологи и саппорт в итоге ещё год всё это расхлёбывали.
Designed for manufacturing testing
Контроль качества отсвечивает даже в дизайн. О том как устройство будет проверяться начинают думать ещё до того, как приступить к поиску его будущей формы.
3 О бесплатных фичах написано в книге Алана Купера «Психбольница в руках пациентов». Глава «Танцующий медведь».
4 Потому что современные процессоры умеют вообще всё.
Продуктологи поумнее стараются не запихивать в устройство бесполезные фичи, которые «бесплатно»3 достались с процессором4. А инженеры заранее проектируют устройство так, чтобы процедура сборки состояла из наименьшего числа шагов и проверка результата была короткой и позволяла бы делать однозначные выводы.
Если не можешь объяснить провинциальному китайцу как делать хорошо, то хотя бы при помощи дизайна сведи к минимуму возможность делать плохо.
Именно от желания свести ошибки ручной сборки к минимуму появились все эти решения, с которыми вы наверняка сталкивались:
- «ключи», которые не позволяют установить детали в неверной последовательности
- болты разной длины чаще всего имеют ещё и разный диаметр, чтобы их не получилось впихнуть в «чужие» отверстия
- ассиметричные защёлки не позволяющие установить деталь задом-наперёд, или способом, который её испортит
- цветовая кодировка, когда рабочий на линии отвечает только за компоненты одного цвета игнорируя остальные.
Пример из жизни #3
В один из продуктов нам нужно было установить небольшие теплоотводы на два горячих компонента платы. Не смотря на то что компоненты были принципиально разными, им подходили одинаковые радиаторы.
Чем меньше в продукте разнообразных деталей, тем лучше.
В какой-то момент от команды занимающейся электроникой пришло обновление: они заменяли несколько компонентов на более качественные и теперь один из радиаторов нужно было дорабатывать — сделать его тоньше чтобы влазил на своё место.
Вжух, и то, что раньше было одной деталью в двух экземплярах присутствующей в устройстве, превратилось в 2 совершенно разных детали, которые, к тому же, легко перепутать между собой. Да ещё и тонкий радиатор нужно устанавливать не абы как, а полированной стороной вниз. То, что ещё вчера невозможно было сделать неправильно, сегодня превратилось в процедуру требующую документации.
Нам пришлось добавить на этот радиатор «ключ», который фрезеруется отдельно, а на пластиковую деталь рамы «замок» который не позволит ориентировать радиатор неправильно во время установки. Казалось бы мелочь, но если изменения в PCBA тянут за собой изменения механики, то она в свою очередь может потащить за собой всё остальное и мелкая доработка превратиться в снежный ком исправлений задерживающий разработку и сжигающий деньги как лесной пожар.
Тесты эволюционируют вместе с продуктом
Последнее, что нужно знать о контроле качества: его уровень никогда не стоит на месте. Качество может либо падать, либо расти, а стоять на месте, опираясь на придуманные вами тесты и стандарты, оно точно не будет. У рабочих на производстве всегда есть способ срезать углы и сэкономить своё время. Это не зависит от того как много технологических документов вы напишите и как много компьютерного зрения поставите на линию.
Если не хотите чтобы качество продукции падало с каждой следующей партией, придётся постоянно улучшать процессы по его контролю.
Невозможно предусмотреть всё с самого начала. Процесс тестирования постоянно подвергается грумингу, изменяются его ревизии и используемые стандарты, а требования переписываются.
Пример из жизни #4
На одном из проектов использовался MEMS-микрофон, который паялся на плату. MEMS технология имеет кучу особенностей: для того чтобы паять такие компоненты нужно почти идеально выдерживать рекомендуемую производителем кривую нагрева, иначе деликатные внутренности компонента разрушатся. Микромеханика, чё.
Примерно в таких коробках мы получали платы до старта производства
Подрядчик который был выбран для производства печатных плат обо всём этом знал и имел хороший опыт со схожими компонентами. Первые прототипы плат пришли к нам в антистатических пластиковых боксах по 10 шт. Мы не обратили на это внимание. Разумная и надёжная упаковка с которой каждый из нас много раз сталкивался в прошлом. После отладки мы запустили производство устройства и всё шло отлично до тех пор как мы не начали увеличивать заказы до тысяч штук.
Первая же такая партия была остановлена командой OQC потому что многие микрофоны просто не работали. На пилоте подобные проблемы не встречались.
На то, чтобы только отловить проблему ушло 3 дня суматошных тестов и митингов в которых участвовал не только производитель плат и фабрика, но даже представитель производителя микрофонов. Дошло до просвечивания нерабочих микрофонов рентгеном и анализа под микроскопом. Выяснилось что в неработающих микрофонах нет проблем с пайкой, а просто порвана мембрана.
Мало найти порванную мембрану. Нужно ещё понять почему она порвалась. Понятно было что дело на стороне производителя печатных плат. На расследование потратили ещё 2 недели. Это буквально был детектив с осмотром места преступления, опросом свидетелей, пострадавших и попытками получить записи камер видеонаблюдений. «Мы из ФБР. Офицер, отцепите место преступления и никого не пускайте.» Когда причина была найдена ревели абсолютно все.
5 Ведь никаких специальных требований к упаковке мы не предъявляли. И зачем бы, если она нас устраивала с самого начала?
Оказывается в какой-то момент, китайцы решили «оптимизировать» работу и не тратить время на долгую фасовку-упаковку плат, которая ещё и занимала сравнительно много места5. Они решили составлять платы стопками по 10шт и запаковывать их вакуумным аппаратом — так часто поступают как с обычными PCB, так и с собранными. Платы с MEMS-микрофонами. Вакуумом. Ну да. Разумеется давление просто разрывало мембраны.
А примерно так они приходили на производство с уже взорвавшимися микрофонами.
Когда мы проектируем тесты на китайских фабриках у нас есть полностью укомплектованные тестовые лабы на территории производства. Там установлены погодные камеры, прецезионное измерительное оборудование, сканеры, станки для дроп-тестов, оснастки для ускоренного состаривания покрытий и материалов. Если вы крупный заказчик, то можно попросить производителя докупить или арендовать недостающее специфическое оборудование. Однажды нам понадобился оптический прибор для контроля отражающей способности анодированного алюминия и фабрика заказала его из Германии специально для нашего проекта.
Простейший стенд для тестирования кабельных овермолдов — мест где провод превращается в разъём. Позже счётчик покажет в какой момент в кабеле пропал ток и он порвался.
В одной лабе я обнаружил огромную ассиметричную центрифугу с параметрически настраиваемыми внутренними перегородками. Она была нужна для тестирования упаковки как если бы она, вместе с устройством внутри, кувыркалась несколько километров вниз по скалистому холму. Ума не приложу кому такое может понадобится, но оно есть.
6 Я бы с радостью узнал как я сам поведу себя под проливным дождём с настраиваемыми характеристиками, но у них там есть техника безопасности. Во всяком случае так они говорят клиентам. Сами-то наверняка веселятся в камере по выходным.
Или герметичная камера объёмом в пару кубометров в которой можно проверить как продукт поведёт себя под проливным дождём с настраиваемыми характеристиками6. Интересно: можно пустить по тем трубам газировку чтобы потом маркетологи могли легально вести рекламные кампании типа «Только наша стиралка продолжает стирать даже во время цунами из кока-колы!». Ни у кого такого нет.
Мы создаём тест-план без оглядки на техническую возможность — проверить можно что угодно.
Главное, чтобы тесты были необходимы и достаточны. Проверка должна приносить реальную пользу, а не сжигать наши деньги впустую. Баланс между необходимостью и достаточностью можно нащупать вооружившись требованиями и продуктологом, который знает всё про своих пользователей. Наверняка потребуется больше одного подхода, чтобы такой баланс нащупать.
7 Которых так легко игнорировать и потом плакать во время релиза.
OQC парадоксальным образом является финальным этапом производственного процесса и при этом его фундаментом. Тесты ломают всё сначала на этапе проверки гипотез и прототипов, потом на этапе проектирования и лишь сильно позже, уже во время выпуска партии, помогают производить быстро, много и качественно. Постоянно изменяясь они проходят длинный путь от ваших заклятых врагов7, до закадычных друзей каждого из которых вы будете хорошо помнить и через 10 лет с момента последней встречи.
⚠️ Каменты в режиме эксперимента. Нужна регистрация на GitHub и необходимо дать разрешение боту Giscus. Если это неприемлемо, можно комментировать прямо на GitHub.